public static void main(String[] args){
int [] a=new int[256];
System.out.println(a['t']);
}
スクリプトに['t']があります。これはどういう意味ですか。コードを実行しようとしました。a[' t ']にどんな文字を入力しても0 が返されるのはなぜですか?
Q: a['t'] にどんな文字を入れても 0 を返します
投稿したコードは、[] に何も入れていないことを示しています。すべての要素は、最初は「0」です。
これを試して:
public static void main(String[] args){
int [] a=new int[256];
a['t'] = 'T';
System.out.println("a['t']: " + a['t']);
}
次のように表示されます。
a['t']: 84
a['t']
Javaはa[116]
デフォルトで配列の内容をゼロに初期化するため、これはゼロです。
これは、int 配列が値で初期化されていないためです。サイズ 256 で宣言されているため、暗黙的にデフォルト値 0 に初期化されます。
あなたがしたことはこれと同等です:
public static void main(String[] args){
int [] a=new int[256];
System.out.println(a[116]);
}
't' のアスキー コードは 116 であるため、int の新しい配列の位置 116 にアクセスし、int のデフォルト値は 0 であるため、何かを割り当てない限り、この配列のすべての位置は 0 になります。違う。
int [] a=new int[256];
上記のコードは整数の配列を作成します。つまり、明示的な値が割り当てられていない場合、整数は常に 0 で初期化されます。たとえば、a['T'] を呼び出すと、0 が返されます。
「t」でint配列にアクセスする理由はわかりませんが、「t」を使用すると、実際には最初にintに変換されます。これは116(「t」のASCIIコード)である必要があり、次に[ 116]、そしてその配列を初期化しなかったため、その配列のすべての要素はデフォルトで0に設定されているはずなので、その結果が得られます。
整数の配列のオブジェクトを作成すると、配列はデフォルトで 0 に初期化されます (値を割り当てない限り)。