目次:
- 大文字をどこに置くか
- スイッチ(詩){
- の行は正しいが、
- JButtonボタン=新しいJButton(
- 必要なコンストラクタの定義
- Temperature roomTemp = new Temperature();を呼び出すことはできません。
- public static void main(String args []){
- 現実のJavaプログラミングでは、常に例外が表示されます。 NullPointerExceptionは、オブジェクトを返すことになっているメソッドを呼び出すときに発生しますが、このメソッドは何も返しません。これは安い例です:
- ファイルmyFile =新しいファイル(
ビデオ: XML解説〝DTDの概要〟 2024
間違いを起こさない人は、決して何もしない。しかし、慎重な計画は、次のような最も一般的なJava Goofのいくつかを避けるのに役立ちます。
大文字をどこに置くか
Javaは大文字と小文字を区別する言語なので、実際にあなたの P と Q アルファベットのJavaプログラムを作成する際に留意すべき点がいくつかあります。
<! --1 - >- Javaのキーワードはすべて完全に小文字です。たとえば、Javaのif文では、 if if という単語は または IFであることはできません。 Java API(Application Programming Interface)の名前を使用する場合、名前の大文字と小文字はAPIに表示されるものと一致する必要があります。
- 自分で作った名前は、プログラム全体で同じ方法で大文字にする必要があります。 myAccount変数を宣言すると、その変数をMyAccount、myaccount、またはMyaccountとして参照することはできません。変数名を2つの異なる方法で大文字にすると、Javaは2つの全く異なる変数を参照していると考えます。
- <! switch文の中断
スイッチ(詩){
ケース3:
print( "Last refrain");
。 println( "last refrain");ケース2:
。プリント(「彼は痛みです」);
。 println(「彼は痛みです」);
ケース1:
。 print( "脳がない");
。 println( "脳がない");
}
<! - 3 - >
値を二重等号と比較する
2つの値を互いに比較するときは、二重等号を使用します。
if(inputNumber == randomNumber)の行は正しいが、
if(inputNumber = randomNumber)
という行は正しくない。
GUIにコンポーネントを追加する
Javaフレームのコンストラクタを次に示します。
public SimpleFrame(){
JButtonボタン=新しいJButton(
"ありがとうございました…"
);
setTitle( "…ケイティ・フェルトマンとハイジ・アンガー" );
setLayout(new FlowLayout()); add(ボタン); ボタンを押します。 addActionListener(this);
setSize(300,100);
setVisible(true);
}
あなたが何をしても、addメソッドの呼び出しを忘れないでください。この呼び出しがなければ、ボタンを作成するすべての作業に行きますが、ボタンはフレームに表示されません。
イベントを処理するためのリスナーの追加
<! --1 - >
前のセクションのコードをもう一度見てSimpleFrameを構築してください。addActionListenerの呼び出しを忘れた場合、ボタンをクリックすると何も起こりません。もう一度ボタンを強くクリックしても効果はありません。
必要なコンストラクタの定義
public Temperature(double number)のように、パラメータを使用してコンストラクタを定義すると、コンピュータはデフォルトのパラメータなしコンストラクタを作成しなくなります。つまり、
Temperature roomTemp = new Temperature();を呼び出すことはできません。
<! - 2 - >
は、独自のパラメータなしTemperatureコンストラクタを明示的に定義しない限りです。
非静的参照の修正
次のコードをコンパイルしようとすると、エラーメッセージが表示されます。
class WillNotWork {String greeting = "Hello";
public static void main(String args []){
システム。でる。 println(挨拶);
}
}
メインは静的ですが、挨拶は静的ではないため、エラーメッセージが表示されます。
<!配列内の境界内にとどまる
10個のコンポーネントを持つ配列を宣言すると、コンポーネントは0から9までのインデックスを持ちます。つまり、
int guests [] =新しいint [10];
ゲスト[0]、ゲスト[1]などをゲスト[9]まで書くことで、ゲスト配列のコンポーネントを参照できます。ゲスト配列にはインデックス10を持つコンポーネントがないため、ゲスト[10]を書き込むことはできません。
予期しないヌルポインタ現実のJavaプログラミングでは、常に例外が表示されます。 NullPointerExceptionは、オブジェクトを返すことになっているメソッドを呼び出すときに発生しますが、このメソッドは何も返しません。これは安い例です:
import static java。ラング。システム。でる;
import java。 io。ファイル;
クラスListMyFiles { public static void main(文字列args []){
ファイルmyFile =新しいファイル(
" windows"
);
String dir [] = myFile。リスト();
for(String fileName:dir){
println(fileName);
} } }
このプログラムは、すべてのファイルのリストをwindowsディレクトリに表示します。
しかし、 windowsを何か他のものに変更するとどうなりますか?ディレクトリ名を表していないものはありますか?
ファイルmyFile =新しいファイル(
"#*%$!!"
);
新しいFile呼び出しはnullを返します(特殊なJavaの意味は
なし
)ので、変数myFileには何もありません。コードの後半では、変数dirは何も参照しません。すべてのdir値をループする試みは悲惨に失敗します。あなたは大きなNullPointerExceptionを取得し、プログラムはあなたの周りにクラッシュする。
この種の災害を避けるために、JavaのAPIドキュメントをチェックしてください。ヌルを返すメソッドを呼び出す場合は、例外処理コードをプログラムに追加してください。 Javaがファイルを探すのを助ける あなたがNoClassDefFoundErrorを与えたときにあなた自身のビジネスを気にしながらJavaコードをコンパイルしています。あらゆる種類のことが間違っている可能性がありますが、コンピュータが特定のJavaファイルを見つけることができない可能性があります。これを修正するには、すべての惑星を正しく配置する必要があります。
プロジェクトディレクトリには、コードで使用されるすべてのJavaファイルが含まれている必要があります。 名前付きパッケージを使用する場合、プロジェクトディレクトリには適切な名前のサブディレクトリが必要です。 CLASSPATHを正しく設定する必要があります。