目次:
- 大文字をどこに置くか
- switch(verse){case 3:out。 print( "Last refrain");でる。 println( "last refrain");ケース2:アウト。プリント(「彼は痛みです」);でる。 println(「彼は痛みです」);ケース1:アウト。 print( "脳がない");でる。
- 2つの値を相互に比較する場合は、2つの等号を使用します。
- public SimpleFrame(){JButton button = new JButton(
- 前のセクションのコードをもう一度見てSimpleFrameを構築してください。 addActionListenerの呼び出しを忘れた場合、ボタンをクリックすると何も起こりません。もう一度ボタンを強くクリックしても効果はありません。
- のように、パラメータを使用してコンストラクタを定義すると、コンピュータはデフォルトのパラメータなしコンストラクタを作成しなくなります。言い換えれば、
- メインは静的ですが、挨拶は静的ではないため、エラーメッセージが表示されます。
- 予期しないヌルポインタ
- ); String dir [] = myFileリスト(); for(String fileName:dir){アウト。 println(fileName);}}}
- CLASSPATHを正しく設定する必要があります。
ビデオ: Java教材 Java Webアプリ開発基礎講座 第8章 セッションの概要【動学.tv】 2024
Javaプログラミングの一般的な誤りをキャッチしてから、それらを作成します。ここにあなたのコードで気を付けるべき10の事項の短いチェックリストがあります。
大文字をどこに置くか
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文の中断
switch文を中断しないと、フォールスルーが発生します。たとえば、詩の値が3の場合、次のコードでは、最後の控え目、彼は痛み、脳はありません。
switch(verse){case 3:out。 print( "Last refrain");でる。 println( "last refrain");ケース2:アウト。プリント(「彼は痛みです」);でる。 println(「彼は痛みです」);ケース1:アウト。 print( "脳がない");でる。
値を二重等号
<!と比較しています。 - 3 - >
2つの値を相互に比較する場合は、2つの等号を使用します。
if(inputNumber == randomNumber)の行は正しいが、
if(inputNumber = randomNumber)
という行は正しくない。
GUIにコンポーネントを追加する
Javaフレームのコンストラクタを次に示します:
public SimpleFrame(){JButton button = new JButton(
"ありがとう…"
); setTitle( "… Connie Santisteban とBrian Walls" ); setLayout(new FlowLayout()); add(ボタン); ボタンを押します。 addActionListener(this); setSize(300、100); setVisible(true);} 何をしても、addメソッドの呼び出しを忘れないでください。この呼び出しがなければ、ボタンを作成するすべての作業に行きますが、ボタンはフレームに表示されません。 イベントを処理するためのリスナーの追加
<! --1 - >
前のセクションのコードをもう一度見てSimpleFrameを構築してください。 addActionListenerの呼び出しを忘れた場合、ボタンをクリックすると何も起こりません。もう一度ボタンを強くクリックしても効果はありません。
必要なコンストラクタの定義public Temperature(double number)
のように、パラメータを使用してコンストラクタを定義すると、コンピュータはデフォルトのパラメータなしコンストラクタを作成しなくなります。言い換えれば、
<! - 2 - >
温度roomTemp =新しい温度();
は、独自のパラメータなしTemperatureコンストラクタを明示的に定義しない限りです。
非静的参照の修正次のコードをコンパイルしようとすると、エラーメッセージが表示されます。
class WillNotWork {String greeting = "Hello"; public static void main(String args []){システム。でる。 println(greeting);}}
メインは静的ですが、挨拶は静的ではないため、エラーメッセージが表示されます。
<!配列内の境界内にとどまる
10個のコンポーネントを持つ配列を宣言すると、コンポーネントは0から9までのインデックスを持ちます。つまり、
int guests [] =新しいint [10];
ゲスト[0]、ゲスト[1]などをゲスト[9]まで書くことで、ゲスト配列のコンポーネントを参照できます。予期しないヌルポインタ
この本の例では、NullPointerExceptionをスローする傾向はありませんが、実際のJavaプログラミングでは、あなたはその例外を常に見ます。 NullPointerExceptionは、オブジェクトを返すことになっているメソッドを呼び出すときに発生しますが、このメソッドは何も返しません。これは安い例です:
import static java。ラング。システム。でる; import java。 io。ファイル; ListMyFiles {public static void main(String 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ファイルが含まれている必要があります。
名前付きパッケージを使用する場合、プロジェクトディレクトリには適切な名前のサブディレクトリが必要です。