break语句我本人只在switch语句和循环语句中遇见,continue则只在循环语句中遇见;
下面我来记录一下,它俩的不同之处:
1.break
相比之下,break是比较简单的,就是跳出循环体,执行循环体下方的代码;
在for,while,do-while中都是一样的效果;
2.continue
continue就有的说了,它表示结束本次循环,返回循环判断处,进行下一次循环的判断;
比如:
public static void main(String[] args) {for (int i = 1; i <= 10; i++) {if (i == 5) continue;System.out.println("这是第" + i + "次循环");}}
可以看见,第五次没有打印出来,原因是,当执行到第5次时,进入if 语句,执行continue,注意:此时不是立马返回循环判断处,在for 循环中,循环体内内容执行完是要执行,i++语句。所以正确的流程是执行到continue,本次循环结束,i++,此时i的值为6,返回循环条件判断处,6<=10成立;下一次打印出来的就是6了;
在while和do-while循环中,则是有别于for循环
public static void main(String[] args) {int i = 1;while (i <= 10) {System.out.println("这是第"+i+"次循环");if (i==5)continue;i++;}}
前四次都是正常执行,当执行到第5次时,进入if 语句,执行continue,立马返回到循环条件判断处,此时i的值还是5,它并没有执行到i++,有些文章说“结束本次循环,进行下一次循环的判定”,本人觉得表达还是不够清楚。由于返回5,5<=10成立,下次循环体内i的值还是5,这样就陷入了死循环。
附加知识
关于i++和++i的使用,它俩是有返回值的,i++是先返回i的值,然后执行+1操作;++i则是先执行+1操作,然后返回执行完+1操作的i的值;i--和--i同理。