目录
语法实操:
-
- abc1:
- for (int j=0;j<4;j++){
- abc2:
- for (int i=0;i<10;i++){
- if (i==2){
- break ;//等价于break abc2
- }
- System.out.println("i="+i);
- }
- }
结果
-
- abc1:
- for (int j=0;j<4;j++){
- abc2:
- for (int i=0;i<10;i++){
- if (i==2){
- break abc1;
- }
- System.out.println("i="+i);
- }
- }
结果:
思路分析:
1. 循环1-100 ,求和sum 2、 当sum》20 时,记录下当前数,然后break
代码实现:
-
- int sum=0;
- for (int i=1;i<=100;i++){
- sum+=i;//累积
- if (sum>20){
- System.out.println("当前和>20时,的当前数为i="+i);
- break;
- }
- }
结果:
思路分析: 在for循环外部,定义变量n,把当前i赋给n
代码实现:
- int sum=0;//累积和
- //注意i的作用范围在for循环内
- int n=0;
- for (int i=1;i<=100;i++){
- sum+=i;//累积
- if (sum>20){
- System.out.println("和>20时候 ,当前数i="+i);
- n=i;
- break;
- }
- }
- System.out.println("当前数="+n);
结果:
continue 语句用于结束本循环,继续执行下一次循环,
continue 语句出现在多层嵌套的循环语句体中时,可以通过标签指明跳过哪一层循环,这个和前面的标签使用的规则一样
以下两道练习题将围绕着这个流程分析图开展练习:
练习题:
- label1:
- for (int j=0;j<2;j++){
- label2:
- for(int i=0;i<10;i++){
- if(i==2){
- continue ;//等价于 continue label2
- }
- System.out.println("i="+i);
- }
- }
结果:
上面的continue等价于continue label2, 接下来,我们把continue 换成 continue label1
- label1:
- for (int j=0;j<2;j++){
- label2:
- for(int i=0;i<10;i++){
- if(i==2){
- continue label1;//等价于 continue label2
- }
- System.out.println("i="+i);
- }
- }
使用内存分析法计算过程:
结果:
- for (int i = 1; i <= 5; i++) {
- if (i == 3) {
- System.out.println("Java,很高兴认识你");
- break;
- }
- System.out.println("hello world");
- }
- System.out.println("go on ……");
分析图:
结果:
终止本次循环
- for (int i = 1; i <= 5; i++) {
- if (i == 3) {
- System.out.println("Java,很高兴认识你");
- continue;
- }
- System.out.println("hello world");
- }
- System.out.println("go on ……");
当mreturn用在方法时,表示跳出方法,如果使用在main,则表示退出程序
- for (int i = 1; i <= 5; i++) {
- if (i == 3) {
- System.out.println("Java,很高兴认识你");
- return;//当mreturn用在方法时,表示跳出方法,如果使用在main,则表示退出程序
- }
- System.out.println("hello world");
- }
- System.out.println("go on ……");