Java程序的输出 |第 38 组(阵列)
先决条件: Java的数组
问题 1. 这个问题的输出是什么
class Test1 {
public
static void main(String[] args)
{
int arr[] = { 11, 22, 33 };
System.out.print(arr[-2]);
}
}
选项
A) 11 33
B) 错误
C) 异常
D) 11 -33
Output: C
说明:我们将得到Java.lang.ArrayIndexOutOfBoundsException 因为 [-2] 索引超出范围。
问题 2. 这个问题的输出是什么?
class Test2 {
public
static void main(String[] args)
{
int arr[][] = { { 11, 22 }, { 33, 44, 55 } };
for (int i = 0; i < 2; i++) {
for (int j = 0; j < arr.length; j++)
System.out.print(arr[i][j] + " ");
System.out.println();
}
}
}
选项
A) 11 22
33 44 55
乙) 11 22
33 44
C) 错误
D) 例外
Output: B
说明:这里 arr.length 返回数组大小的 2,因为第一维大小如果为 2。
问题 3. 这个问题的输出是什么?
class Test2 {
public
static void main(String[] args)
{
int arr[][] = { { 11, 22 }, { 33, 44, 55 } };
for (int i = 0; i < 2; i++) {
for (int j = 0; j < arr[i].length; j++)
System.out.print(arr[i][j] + " ");
System.out.println();
}
}
}
选项
A) 11 22
33 44 55
乙) 11 22
33 44
C) 例外
D) 错误
Output: A
说明:这里 arr[i].length 返回第一次 2,因为第一维大小是 2,第二次返回 3,因为 3 第二维数组大小是 3。
问题 4. 这个问题的输出是什么?
class Test2 {
public
static void main(String[] args)
{
int arr[][] = { { 11, 22 }, { 33, 44, 55 } };
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++)
System.out.print(arr[i][j] + " ");
System.out.println();
}
}
}
选项
A) 11 22
33 44 55
乙) 11 22
33 44
C) 错误
D) 例外
Output: D
说明:这个程序会给出异常: Java.lang.ArrayIndexOutOfBoundsException
因为我们想打印超出数组范围的值。
问题 5. 这个问题的输出是什么?
class Test5 {
public
static void main(String[] args)
{
int arr[] = new int[5];
int arr2[] = new int[5];
System.out.print(arr.length + " ");
System.out.print(arr2.length());
}
}
选项
A) 5 5
B) 错误
C) 例外
D) 无
Output: B
说明:它会报错,因为 length() 方法不在Java。错误:找不到符号长度()。