Java程序的输出 |第 49 组
找到以下Java程序的输出
Q 1.这个程序的输出是什么?
public class Example {
int x = 10;
public static void main(String args[])
{
Example obj;
System.out.println(obj.x);
}
}
选项
A. 10
B. 0
C.编译时错误
D. 运行时错误
输出:
C. Compile time error
说明:在Java,对象的内存是通过“new”关键字创建的。这里只创建了引用变量。引用变量没有初始化,所以引用变量是空的。没有初始化就不能使用空变量。所以它给出了编译时错误。
Q 2.找出这个匿名类的输出。
interface I1
{
String toString();
}
class Example {
public static void main(String args[])
{
System.out.println( new I1() {
String toString()
{
System.out.print("Example");
return("A");
}
});
}
}
选项
A.A
B. 例子
C.编译时错误
D. 示例 A
输出:
C. Compile time error
说明:在Java,接口的所有方法默认都是公开的。当我们实现接口时,所有的方法都必须用 public 来定义。如果我们正在创建一个匿名方法并实现接口,那么上述规则将应用于匿名类。所以它给出了编译时错误。
Q 3.这个程序的输出是什么?
class Example {
public static void main(String args[])
{
try {
return;
}
finally
{
System.out.println("Hello India");
}
}
}
选项
A. 你好印度
B. 没有输出的代码运行
C.编译时错误
D. 运行时错误
输出:
A. Hello India
解释:在try、catch、finally的情况下,finally块肯定会运行,只有少数情况下finally块不会运行。很少有像“System.exit(0)”系统调用这样的情况。
Q 4.这个程序的输出是什么?
class Test {
public static void main(String args[])
{
try {
int x = 5 / 0;
}
catch (Exception e) {
System.out.print("Exception ");
}
catch (ArithmeticException e) {
System.out.print("ArithmeticException ");
}
System.out.println("Last Line");
}
}
选项
A. 例外
B. 算术异常
C. 异常最后一行
D. ArithmeticException 最后一行
E.编译时错误
输出:
E. Compile time error
说明:根据Java规则,在try catch块的情况下,我们将catch块的派生类定义为超类,这里的ArithmeticException是Exception类的派生类,这里违反了Java规则,所以它给出了编译时错误。
Q 5.这个程序的输出是什么?
class String_Test {
public static void main(String args[])
{
String str1 = new String("Hello World");
String str2 = new String("Hello World");
if (str1 == str2)
System.out.println("Hello Ingland");
else
System.out.println("Hello India");
}
}
选项
A. 你好印度
B. 你好,英格兰
C. 编译时错误
D. 运行时错误
输出:
A. Hello India
说明:如果我们使用 new 关键字则创建一个新对象,如果我们使用双引号则只创建一个对象并且所有字符串引用都指向该对象。这里equal()检查字符串是否相等,“==”检查参考点。