java中break用法

for(int i=1;i<100;i++)
{

if(i==47){
break;

}
System.out.println("i = "+i);

for(int i=1;i<100;i++)
{
while(i==47){
break;
}
System.out.println("i = "+i);

这两个的结果是不同的,想知道break用于if和while的区别是什么?break不是跳出最近的循环体么?为何用while的时候会打印出1-99呢?break跳出最近的循环体的话,用if的时候不是跳出if(i=47)么,怎么会结束呢?

其实你说的是对的,break是跳出最近的循环.
if是逻辑判断,不是循环,所以会跳出if最近的循环,当i=47事,for循环就会停止.
而你第二段代码,只会跳出while.因为while是break的最近的循环.
而外面的for是没有被跳出的,除非你再写一个判断加个break.
说的有些通俗,希望能理解.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
Java中的break,主要用在两个地方,一个是在循环中,用来跳出循环,一个是在switch中,是为了跳出switch;下面我简单的写两个小例子:
循环:
for(int i=0;i<5;i++){
if(i==2){
System.out.println("跳出循环");
break;

}
}

switch:
switch(i){
case 1 :System.out.println(i);break;
case 2 :System.out.println(i);break;
default:System.out.println(i);break;
}
第2个回答  2013-10-09
break用于跳出循环,if是判断语句。第一段当i=47时跳出的不是if,而是外层的for。第二段的break是跳出的内层while循环,外层的for是要执行到最后。总之,if不是循环语句
第3个回答  2013-10-09
if不是最近的循环体,所以掠过if,直接跳出了for循环。
while是循环体,跳出后,又走到了for循环+1后,再次运行while循环
ps:break 只会跳出 for while case
第4个回答  2013-10-09
break只能中止一级循环,第二个代码中Break结束了While循环,但i的值还会受For循环的影响继续增加,所以结果不一样
相似回答