目次:
- 大文字を入れる場所
- switch(roll){case 7:System。でる。 println( "win");ケース10:システム。でる。 println( "continue");ケース12:システム。でる。 println( "lose");}
- 2つの値を相互に比較する場合は、2つの等号を使用します。
- public class MainActivity extends Activity
- は、独自のパラメータなしTemperatureコンストラクタを明示的に定義しない限りです。
- 配列の範囲内にとどまる
- nullポインタを予期します。
- という単語が含まれていない場合に限り、文字列を出力します。問題は、myString変数(したがってaStringパラメータ)が空の文字列( ")にも関係なく、あらゆる種類の文字列を参照していないことです。
- Eclipseは自動的に
ビデオ: 最初にどのプログラミング言語を覚えるべきなのか。 2024
JavaでAndroidアプリをプログラミングするときの簡単な間違いを避けるための10の簡単なリマインダがありますコード。このチェックリストを実行すると、独自のJavaプログラムを作成するのがはるかに簡単でスムーズになります。
大文字を入れる場所
Javaは大文字と小文字を区別する言語なので、実際には P と Q アルファベットのJavaプログラムを作成するときに留意すべきいくつかの概念があります。
<! --1 - >-
Javaのキーワードはすべて完全に小文字です。たとえば、Javaのif文では、 if if という単語は または IFであることはできません。 Javaアプリケーションプログラミングインターフェイス(API)の名前を使用する場合、名前の大文字と小文字はAPIに表示されるものと一致する必要があります。
-
また、自分で作った名前がプログラム全体で同じように大文字であることを確認する必要があります。 myAccount変数を宣言すると、その変数をMyAccount、myaccount、またはMyaccountとして参照することはできません。変数名を2つの異なる方法で大文字にすると、Javaは2つの全く異なる変数を参照していると考えます。
-
<!スイッチ文を中断しないと、フォールスルーが発生します。
たとえば、rollの値が7の場合、次のコードはwin、continue、およびloseという3つの単語をすべて出力します。
switch(roll){case 7:System。でる。 println( "win");ケース10:システム。でる。 println( "continue");ケース12:システム。でる。 println( "lose");}
二重等号
<! - 3 - >
2つの値を相互に比較する場合は、2つの等号を使用します。
if(inputNumber == randomNumber)の行は正しいが、
if(inputNumber = randomNumber)
という行は正しくない。
イベントを処理するためのリスナーの追加
ユーザーがウィジェットをクリックしたとき、アニメーションが終了したとき、または何かが発生したときにリスナーを作成するように知りたい場合
public class MainActivity extends Activity
implementsリスナーを作成する際には、リスナーを設定する必要があります。
ImageView widget =新しいImageView(this);ウィジェット。 setOnClickListener (これ); … AlphaAnimationアニメーション=新しいAlphaAnimation(0。0F、1.0F);アニメーション。
setAnimationListener
(これ); … setOnClickListenerの呼び出しを忘れた場合、ウィジェットをクリックしても何も起こりません。ウィジェットをもう一度クリックすることは役に立ちません。必要なコンストラクタを定義する public Temperature(double number)
のように、パラメータを使用してコンストラクタを定義すると、Javaはもはやデフォルトのパラメータなしコンストラクタを作成しなくなります。つまり、
Temperature roomTemp = new Temperature();を呼び出すことはできません。は、独自のパラメータなしTemperatureコンストラクタを明示的に定義しない限りです。
非定型参照を修正する
<! - 2 - >
次のコードをコンパイルしようとすると、エラーメッセージが表示されます。
class WillNotWork {String greeting = "Hello"; public static void main(String args []){システム。でる。 println(greeting);}}
メインは静的ですが、挨拶は静的ではないため、エラーメッセージが表示されます。
配列の範囲内にとどまる
10個のコンポーネントを持つ配列を宣言すると、そのコンポーネントのインデックスは0から9です。つまり、<! - 3 - >
int guests [] =新しいint [10];
ゲスト配列[0]、ゲスト[1]などをゲスト[9]まで書くことで、ゲスト配列のコンポーネントを参照できます。ゲスト配列にはインデックス10のコンポーネントがないため、ゲスト[10]を書き込むことはできません。
nullポインタを予期します。
これらの例はNullPointerExceptionをスローする傾向はありませんが、その例外を常に見てください。 "正当な"値を持たない式のメソッドを呼び出すと、NullPointerExceptionが発生します。これは安い例です:
public class ThrowNullPointerException {public static void main(String [] args){String myString = null; {System.AString。contains( "confidential")){System。でる。 println(aString);}}}displayメソッドは、その文字列に
機密
という単語が含まれていない場合に限り、文字列を出力します。問題は、myString変数(したがってaStringパラメータ)が空の文字列( ")にも関係なく、あらゆる種類の文字列を参照していないことです。
コンピュータがaStringの呼び出しに到達したとき。 contains、コンピュータはnullに属するcontainsメソッドを探します。しかし、nullは何もありません。 null値にはメソッドがありません。だからあなたは大きなNullPointerExceptionを取得し、プログラムはあなたの周りにクラッシュする。
このような災害を避けるには、コード内のメソッド呼び出しを2回考えます。ドットの前の式がnullの場合は、例外処理コードをプログラムに追加します。
try {if(!aString。contains( "confidential")){System。でる。 println(aString);}} catch(NullPointerException e){システム。でる。 println( "文字列はヌルです。");} パーミッションの使用 一部のアプリケーションでは明示的なパーミッションが必要です。たとえば、アプリがインターネット経由でTwitterのサーバーと通信する可能性があります。これは、アプリケーションのAndroidManifestに要素を追加しない限り機能しません。 xmlファイル:
AndroidManifestに要素を追加するのを忘れた場合。 xmlファイルの場合、アプリはTwitterのサーバーと通信できません。有用なエラーメッセージを表示せずにアプリケーションが失敗します。残念な!
アクティビティが見つかりません
アプリの2番目のアクティビティを作成する場合は、アプリのAndroidManifestに新しい要素を追加する必要があります。xmlファイル。たとえば、Androidアプリには、MainActivityとMyListActivityの2つのアクティビティがあります。
Eclipseは自動的に
を作成します。この要素を追加しないと、MyListAcitivityを使用していても、AndroidはMyListActivityクラスを見つけることができません。 javaファイルは、アプリケーションのEclipseプロジェクトディレクトリにあります。あなたのアプリはActivityNotFoundExceptionでクラッシュします。
それはすべての違いを生み出します。