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直接退出本方法语句没有执行
}
}
运行结果:
希望有所帮助!!!
关注我,持续更新!!!