Java练习题Java程序的输出 | 第一套(含解析)
Posted 海拥✘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java练习题Java程序的输出 | 第一套(含解析)相关的知识,希望对你有一定的参考价值。
难度等级:菜鸟
预测以下 Java 程序的输出。
考虑到如果将答案紧接着问题贴出来,同学们可能还没思考就不小心看到了结果,所以我把问题和答案分开放,中间还用东西挡了一下,希望不会给大家带来阅读上的困难
问题
问题一
// 文件名称 Main.java
class Test {
protected int x, y;
}
class Main {
public static void main(String args[]) {
Test t = new Test();
System.out.println(t.x + " " + t.y);
}
}
问题二
// filename Test.java
class Test {
public static void main(String[] args) {
for(int i = 0; 1; i++) {
System.out.println("Hello");
break;
}
}
}
问题三
// filename Main.java
class Main {
public static void main(String args[]) {
System.out.println(fun());
}
int fun() {
return 20;
}
}
问题四
// filename Test.java
class Test {
public static void main(String args[]) {
System.out.println(fun());
}
static int fun() {
static int x= 0;
return ++x;
}
}
放张可爱妹子的图缓解一下眼睛疲劳,文章后半部分是程序的输出及解析
输出及解析
问题一答案
输出
0 0
在 Java 中,protected 的成员可以在同一包的所有类和其他包的继承类中访问。由于 Test 和 Main 在同一个包中,上述程序中没有访问相关的问题。此外,默认构造函数在 Java中将整数变量初始化为 0。这就是为什么我们得到输出为 0 0。
问题二答案
输出
Compiler Error
Compiler Error:编译器错误,for 循环的条件检查表达式中存在错误。Java 在这里不同于 C++(或 C)。C++ 将所有非零值视为真,将 0 视为假。与 C++ 不同,整数值表达式不能放置在 Java 中需要布尔值的位置。以下是修正后的程序。
// 文件名 Test.java
class Test {
public static void main(String[] args) {
for(int i = 0; true; i++) {
System.out.println("Hello");
break;
}
}
}
// 输出: Hello
问题三答案
输出Compiler Error
Compiler Error:编译器错误,与 C++ 一样,在 Java 中,不能在静态方法中调用非静态方法。如果我们将 fun() 设为静态,那么程序可以正常编译而不会出现任何编译器错误。以下是修正后的程序。
// 文件名 Main.java
class Main {
public static void main(String args[]) {
System.out.println(fun());
}
static int fun() {
return 20;
}
}
// 输出: 20
问题四答案
输出Compiler Error
Compiler Error:编译器错误,与 C++ 不同,Java 中不允许使用静态局部变量。有关详细信息,请参阅此GFact。我们可以使用类静态成员来计算 C++ 局部静态变量所服务的函数调用次数和其他目的。以下是修正后的程序。
class Test {
private static int x;
public static void main(String args[]) {
System.out.println(fun());
}
static int fun() {
return ++x;
}
}
// 输出: 1
相关内容
我已经写了很长一段时间的技术博客,这是我的一篇Java练习题文章。希望你们会喜欢!
更多相关文章及我的联系方式我放在这里:
https://github.com/wanghao221
https://gitee.com/haiyongcsdn/haiyong
关注作者公众号【海拥】回复【进群】,免费下载CSDN资源和百度文库资源
如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦
以上是关于Java练习题Java程序的输出 | 第一套(含解析)的主要内容,如果未能解决你的问题,请参考以下文章