回答:
割り当てられたサイズが含まれます10
。割り当てられていないインデックスは、デフォルト値が含まれます0
ためにint
。
まず、length
はプロパティなので、arr.length
ではなくになりarr.length()
ます。
そして、宣言されたサイズである10を返します。明示的に宣言しない要素は0で初期化されます。
`
int array [] = new int [3]; array.length;
ここで、メモリ空間が3の配列を作成しました...これが実際の外観です
0位1位2位...........>インデックス2 4 5 ...........>番号
したがって、uを見ると、この配列のサイズは3ですが、配列は0番目のインデックスで始まるため、配列のインデックスは最大2です。
配列の長さが3であるため、2番目のステートメントの出力は3になります。インデックス値と配列の長さを混同しないでください。
乾杯!
int arr[]={4,7,2,21321,657,12321};
int length =arr.length;
System.out.println(length); // will return 6
int arr2[] = new int[10];
arr2[3] = 4;
int length2 =arr2.length;
System.out.println(length2); // // will return 10. all other digits will be 0 initialize because staic memory initialization
配列の論理サイズが必要な場合は、配列内のすべての値を走査して、それらをゼロに対してチェックできます。値がゼロではなく、それが論理サイズの場合は、値を増やします。配列のサイズは固定されているため、組み込みのメソッドはありません。コレクションを確認する必要があるかもしれません。
そのはず:
int a = arr.length;
括弧は避けてください。
Java配列は実際にはサイズが固定されており、他の回答は、.lengthが実際に期待どおりに動作していないことを説明しています。私はあなたがあなたが使用したいかもしれないものを考えると、それを追加したいと思います、それは成長したり縮小したりできる配列であるArrayListです:
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
ここで.size()メソッドは、リスト内の要素の数を表示し、追加するときにこれを増やすことができます。
配列はJavaでコンパイル時にメモリが割り当てられるため、静的であり、明示的に設定または変更されていない要素にはデフォルト値が設定されます。このようなコードを使用することもできますが、デフォルト値をカウントしないためお勧めできません。明示的に初期化しても、バグが発生する可能性があります。他の人が言ったように、実際のサイズを探すときは、「。length()」の代わりに「.length」を使用する必要があります。
public int logicalArrayLength(type[] passedArray) {
int count = 0;
for (int i = 0; i < passedArray.length; i++) {
if (passedArray[i] != defaultValue) {
count++;
}
}
return count;
}