Java程序的输出 |第 43 组(条件语句和循环)
先决条件:决策控制和循环
1. 以下程序的输出是什么?
class Test {
public
static void main(String[] args)
{
int i = 0, j = 9;
do {
i++;
if (j-- < i++) {
break;
}
} while (i < 5);
System.out.println(i + "" + j);
}
}
选项:
1.44
2.55
3.66
4.77
The answer is option (3)
说明:在上面的程序中,我们要特别注意break语句。程序的执行和 do-while 循环的控制流程一样平常,但是每当编译器遇到 break 语句时,它的控制权就会从循环中出来。
2. 以下程序的输出是什么?
class Test {
public
static void main(String[] args)
{
int j = 0;
do
for (int i = 0; i++ < 1😉
System.out.println(i);
while (j++ < 2);
}
}
选项:
1. 111
2. 222
3. 333
4. 错误
The answer is option (1)
说明:众所周知,花括号在 do 和 for 循环中是可选的。但唯一的标准是,如果我们声明一个没有 curl 语句的语句,那么该语句不应该是声明性的。
3. 下面程序的输出是什么?
class Test {
static String s = "";
public
static void main(String[] args)
{
P:
for (int i = 2; i < 7; i++) {
if (i == 3)
continue;
if (i == 5)
break P;
s = s + i;
}
System.out.println(s);
}
}
选项:
1. 32
2. 23
3. 24
4. 42
The answer is option (3)
说明:在上面的例子中,当第一个for循环被执行时,它把i的值保持为2。只要i的值为2,循环就不会执行if条件,直接为s=s+一世。这里 s 以字符串格式存储值。下次执行 s=s+i 时,i 值变为 4。这两个值都以字符串的形式存储在 s 中。
4. 以下程序的输出是什么?
class Test {
public
static void main(String[] args)
{
int x = 10;
if (++x < 10 && (x / 0 > 10)) {
System.out.println("Bishal");
} else {
System.out.println("GEEKS");
}
}
}
选项:
1.编译时错误
2. RuntimeException:ArithmeticException: / 为零
3. 比沙尔
4.极客
The answer is option (4)
说明:在上面的程序中,我们使用 &&运算符(短路运算符)。每当我们使用 &&运算符,如果第一个条件为假,那么无论是真还是假,控制都不会转到第二个条件。在上面的程序中,if 块中的第一个条件不为真,这就是执行 else 部分的原因。
5. 以下程序的输出是什么?
class Test {
public
static void main(String[] args)
{
final int a = 10, b = 20;
while (a > b) {
System.out.println("Hello");
}
System.out.println("GEEKS");
}
}
选项:
1.编译时错误
2.极客
3. 你好
4. 无输出
The answer is option (1)
说明:在上面的程序中,我们将两个变量声明为final。在while循环中,它总是返回false并且控件不会进入while循环中,并且在整个程序中没有机会。这就是为什么我们会得到编译时错误,说 error: unreachable 语句。