Java程序的输出| 27套
问题1。下面的输出是什么?
import java.util.*;
public class Test {
public static void main(String[] args)
{
int[] x = new int[3];
System.out.println("x[0] is " + x[0]);
}
}
选项 :
A. 程序有编译错误,因为在声明数组时没有指定数组的大小。
B. 程序有运行时错误,因为数组元素没有初始化。
C. 程序运行良好,显示 x[0] 为 0。
D. 程序有运行时错误,因为数组元素 x[0] 没有定义。
Answer : C
说明:程序在语法上是正确的,所以没有错误。在Java,如果数组在声明和创建时没有被初始化,那么默认情况下,数组的所有元素都被初始化为 0。
问题2。下面的输出是什么?
import java.util.*;
public class Test {
public static void main(String[] args)
{
int[] x = { 120, 200, 016 };
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
}
}
选项 :
A. 120 200 16
B. 120 200 14
C. 120 200 016
D. 016 是编译错误。应该写成16。
Answer : B
说明: 016 是一个八进制数。前缀 0 表示一个数字在八进制中,而在八进制中 16 等于 14。
问题3。下面的输出是什么?
import java.util.*;
public class Test {
public static void main(String args[])
{
String s1 = "java";
String s2 = "java";
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
}
}
选项 :
A、假真
B、假假
C、真假
D、真真
Answer : D
说明: == 和 equals() 是相同的东西,并且评估为真/假。
问题4。下面的输出是什么?
import java.util.*;
public class Test {
public static void main(String args[])
{
String S1 = "S1 =" + "123" + "456";
String S2 = "S2 =" + (123 + 456);
System.out.println(S1);
System.out.println(S2);
}
}
选项 :
A. S1=123456, S2=579
B. S1=123456, S2=123456
C. S1=579, S2=579
D. 这些都不是
Answer : A
解释:如果一个数字用“”括起来,那么它就变成一个字符串,不再是一个数字。所以在 S1 中它被连接为字符串,在 S2 中被连接为数值。
问题5。下面的输出是什么?
import java.util.*;
public class Test {
public static void main(String[] args)
{
int[] x = { 1, 2, 3, 4 };
int[] y = x;
x = new int[2];
for (int i = 0; i < x.length; i++)
System.out.print(y[i] + " ");
}
}
选项 :
A. 1 2 3 4
B. 0 0 0 0
1 2
D. 0 0
Answer : C
说明: x 数组的长度为 2。因此循环将从 i=0 执行到 i=1。