这两个题目烦啊!
(―)public class TestBreak{ public static void main(String args[]){
for(int i=0;i<3;i++)
{
if(i>1)
break;
System.out.println(i);
}
}
}
输出的值是0 1
帮我解释下这个在执行循环的时候,break语句使程序立刻跳出包含它的最内层循环,
当i为0 1时 i>1不成立 ,打印出i
当i为2时 i>1 成立,条件满足,执行break语句,跳出循环,结束程序执行
为什么是不成立的值输出去,
(二)
public class TestBreak{
public static void main(String args[]){
for(int i=0;i<3;i++)
{
if(i%2==1)
break;
System.out.println(i);
}
}
}
输出为0 2
在这段代码中,根据条件,得出0 1 2 值
i值%2取值余1的数是0 2 吗
不知道怎么理解啊
----------------解决方案--------------------------------------------------------
<一>
当i=0,1是,由于i不满足if()的条件,所以if中的语句不会执行,但是System.out.println(i)不属于if的内嵌语句,所以执行了啊;当i>1时,执行了break语句,跳出了for循环,输出语句在for循环中,所以不执行,
最后输出的0,1
<二>
输出为0,而不是0,2哦
当i=0是,if()条件不满足,执行了Systen.out.println(i);输出为0.
当i=1时,满足了if()的条件,所以跳出了for循环,执行结束。所以不会输出2。
要想输出0,2把break改为continue
你应该是错误的理解了该程序的含义,并非你所说哦!
----------------解决方案--------------------------------------------------------
楼上的解释得挺好
----------------解决方案--------------------------------------------------------
解释的非常好,让我收获很多
----------------解决方案--------------------------------------------------------
强
----------------解决方案--------------------------------------------------------