黑马程序员技术交流社区
标题: 求解答 [打印本页]
作者: 龏鈊づ廱鵆ぐ 时间: 2013-10-19 10:33
标题: 求解答
本帖最后由 龏鈊づ廱鵆ぐ 于 2013-10-19 17:22 编辑
1. 以下代码段的输出结果是?( b)
public class MyClass{
public static void main(String argv[]){
inti;
intj;
outer:for (i = 1; i < 3; i++)
inner: for(j = 1; j < 3; j++) {
if (j == 2)
continue outer;
System.out.println
("Value for i = " +i + " Value for j = " +j);
}
}
}
A. Value for i = 1 value for j = 1
B. Value for i = 2 value for j = 1
C. Value for i = 2 value for j = 2
D. Value for i = 3 value for j = 1
我运行了为什么老是还给错...谁能告诉下过程?
作者: 遗忘 时间: 2013-10-19 11:00
首先答案应该是a,b吧:
首先:当 i=1时,进入内循环,当j=1时,直接执行输出语句 System.out.println
("Value for i = " +i + " Value for j = " +j); 此时 输出:Value for i = 1 Value for j = 1。
当j=2时 执行if语句 continue outer 此时跳出内循环 执行外循环 i=2.
当 i=2时,进入内循环,当j=1时,直接执行输出语句 System.out.println
("Value for i = " +i + " Value for j = " +j); 此时 输出:Value for i = 2 Value for j = 1。
当j=2时 执行if语句 continue outer 此时跳出内循环 执行外循环 因为 外循环for中i<3,所以外循环结束,输出结果为:
Value for i = 1 Value for j = 1
Value for i = 2 Value for j = 1
作者: 依旧 时间: 2013-10-19 14:36
结果应该是AB
首先你的程序代码中有几处有问题,
你定义的两个变量全部写成intj,inti,这样写肯定是错误的啊,应该写成int i;int j变量类型和变量中间是有空格的
你外层循环少了一个正括号 outer:for (i = 1; i < 3; i++) 后面加上一个正括号
执行过程:
当执行外层循环,第一次:i=1,i<3条件满足,进入内部循环,j=1;j<3条件满足,执行下面语句,j不等于2再执行输出语句,Value for i = 1 Value for j = 1
再执行内部循环,这时j=2依旧满足条件执行下面的判断语句,条件也满足那么程序会跳转到外部循环。
执行外层循环,第二次:i=2,i<3条件满足,进入内部循环j=1;j<3条件满足,执行下面语句,j不等于2再执行输出语句,Value for i = 2 Value for j = 1
再执行内部循环,这时j=2依旧满足条件执行下面的判断语句,条件也满足那么程序会跳转到外部循环。
执行外部循环,第三次:i=3,i<3条件不满足,程序结束
最后结果是:
Value for i = 1 Value for j = 1
Value for i = 2 Value for j = 1
这题主要考的是continue关键字,和标签的用法
希望能帮助到你
作者: 龏鈊づ廱鵆ぐ 时间: 2013-10-19 17:16
很详细谢谢明白了!!~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |