Java中的循环控制——支持三种形式的跳转语句

Java中的循环控制——支持的种形式的跳转语句

前言
通过循环结构的学习,相信大家都已经了解了在执行循环时要进行条件判断。只有在条件为false时才能结束循环。但是有时根据实际情况需要停止整个循环或者调到下一次循环有时需要从程序的一部分跳到程序的其他部分,这些都可以用跳转语句来完成。
Java支持三种形式的跳转:break、continue和return。同样的,需要根据实际情况选择合适的语句。
本期内容来详细介绍一下,希望有所帮助。


循环控制包含两个方面的内容,一方面是控制循环变量的变换方式,另一方面是控制循环的跳转。循环控制的跳转需要用到break和continue两个关键字,这两条跳转语句的跳转效果不同,break是中断循环;continue是结束本次循环,进行下一次循环;return从当前的方法中退出,返回到该调用的方法的语句处,继续执行;

一、break:

break只能在循环体内和switch语句体内时使用:

  • 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体
  • 当break出现在循环体内,但并不在switch语句体内时,则在执行break后,跳出本层循环体

使用break语句跳出循环,代码示例:

public class Test18 {       //创建类
    public static void main(String[] args) {        //主方法
        for (int i = 0; i < 10; i++) {          //for循环结构
            System.out.println(i);              //输出i
            if (i == 6) {                       //if语句,如果i=6则跳出循环
                break;
            }
        }
        System.out.println("--end--");      //输出显示程序结束
    }
}

运行结果:
在这里插入图片描述
注意:
如果遇到循环嵌套的情况,break语句将只会是程序流程跳出包含它的最内层的循环结构只跳出一层循环。

标签功能
如果想让break跳出外层循环,Java提供了“标签”的功能。带有标签的break可以指定跳出的循环,这个循环可以是外层循环,也可以是内存循环
语法及各部分含义如下:

标签名:循环体{
	break 标签名;
}
  • 标签名:任意标识符
  • 循环体:任意循环语句
  • break 标签名:break跳出指定的循环体,此循环体的标签名必须与break的标签名一致

代码示例:

public class Test19 {               //创建类
    public static void main(String[] args) {        //主方法
        Loop:   //标签名
        for (int i = 0; i < 3; i++) {       //for循环,在for循环前用标签标记
            for (int j = 0; j < 6; j++) {       //for循环
                if (j == 4) {           //if结构,如果j等于4就结束外层循环
                    break Loop;         //跳出Loop标签标记的循环体
                }
                System.out.println("i = " + i + "\t"+"j = " + j);        //输出
            }
        }
    }
}

运行结果:
在这里插入图片描述


二、continue

continue语句是针对break语句 的补充。continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。在for循环语句中遇到continue后,首先执行循环的增量部分然后进行条件测试。在while和do…while循环中,continue语句使控制直接回到条件测试部分。其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。

代码示例:

public class Test20 {       //创建类
    public static void main(String[] args) {        //主方法
        for (int i = 0; i < 10; i++) {          //for循环
            if (i % 2 == 0) {                   //if结构,如果i是偶数,跳到下一循环
                continue;
            }
            System.out.println(i);             //输出i的值
        }
    }
}

运行结果:
在这里插入图片描述

与break语句一样,continue也支持标签功能
语法及各部分含义如下:

标签名:循环体{
	continue 标签名;
}
  • 标签名:任意标识符
  • 循环体:任意循环语句
  • continue 标签名:continue跳出指定的循环体,这个循环体的标签名必须与continue的标签名一致。

三、return

从当前的方法中退出,返回到该调用的方法的语句处,继续执行;返回一个值给调用该方法的语句,返回值数据类型必须与方法的声明中返回值的类型一致,可以使用强制类型转换来使数据类型一致;return当方法说明中用viod声明返回值为空时,应使用这种格式,不返回任何值。

Java中的return有两方面的用途:

  • 返回方法指定类型的值(前提是方法的返回值类型不是void)
  • 方法的结束,它会导致当前的方法退出。

使用的两种形式:
(1)方法有返回值类型
语法:

return 返回值;

代码示例:

public class Test21 {       //创建类
        static int test(int mm,int nn){
            if(mm>nn) {         //多重if
                return 1;
            }else if(mm<nn) {
                return -1;
            }else {
                return 0;
            }
        }
        public static void main(String [] args){        //主方法
            System.out.println(test(10,5));     //输出
            System.out.println(test(5,10));
            System.out.println(test(5,5));

        }
}

运行结果:
在这里插入图片描述
(2)方法没返回值类型
语法:

return;

代码示例:

public class Test22 {       //创建类
    public static void main(String [] args){        //主方法
        int[] array={};             //空数组
        test(array);
    }
    static void test(int[] arr){//声明为static方法
        //判断数组是否为空
        if(arr == null || arr.length==0){
            System.out.print("空数组");
            return;             //退出当前方法
        }
        System.out.println("非空数组");//数组为空return直接退出本方法语句没有执行
    }
}

运行结果:
在这里插入图片描述


希望有所帮助!!!
关注我,持续更新!!!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

7旅病娘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值