跳转控制语句
- 在某个循环执行到某一步的时候想让它结束
- java给我们提供了 break continue return 来实现控制语句的跳转和中断。
break 中断
应用场景:
- 可以用在switch语句中
- 在循环中使用(循环中假如if条件判断的情况下)
作用
- 跳出单层循环
- 跳出多层循环
需要带标签跳出
格式: 标签名:循环语句
案例一 跳出单层循环
//break 跳转语句 跳出本次循环
class TiaoZhuan{
public static void main(String[] args){
for(int i = 1; i <= 10; i++){
if(i == 4){
break;
}
System.out.println(i);
}
}
}
案例二 跳出多层循环
//break 跳出多层循环
class TiaoZhuan{
public static void main(String[] args){
wc:for(int i = 1; i <= 4; i++){
nc:for(int j = 1; j <= 6; j++){
if(j == 4){
//break nc; //跳出内层循环,即结束本次循环,只打印4行3列
break wc; //跳出外层循环,即结束外层循环,只打印1行3列
}
System.out.print("*");
}
System.out.println();
}
}
}
continue 继续
应用场景:在循环中使用
作用:结束本次循环,执行下一次循环
案例三 continue跳转语句
//continue 跳转语句 结束本次循环 执行下次循环
class Continue{
public static void main(String[] args){
for(int i=0;i<10;i++){
if(i==3){
continue; //结束本次循环,执行下一次循环
}
System.out.println(i);
}
System.out.println("------------------");
}
}
//-----------------------------------------------------------------
//continue 结束本次循环,执行下一次循环
class Continue{
public static void main(String[] args){
for(int i = 1; i <= 10;i++){
if(i == 4){
continue; //结束本次循环,执行下一次循环
}
System.out.println(i);
}
System.out.println("------------------");
wc:for (int i = 1; i <= 4; i++){
nc:for(int j = 1;j <= 5; j++){
if(j == 4){
//continue; //结束内层循环,执行下一次循环,打印4行4列
//continue nc; //结束内层循环,执行下一次循环,打印4行4列
continue wc; //结束外层循环,j=4时结束本次循环,然后执行下次循环,3*4=12
}
System.out.print("*");
}
System.out.println();
}
}
}
class Demo{
public static void main(String[] args){
for(int i=1;i<=10;i++){
if(i%3==0){
//?
//要在控制台上输出2次默默
//break;
//要在控制台上输出7次默默
//continue;
//要在控制台上输出13次默默
System.out.println("默默");
}
System.out.println("默默");
}
}
}
return 返回
作用 用来结束方法
不是为了跳出循环体,最常用的功能是结束一个方法,跳转到上层调用的方法。
class Continue{
public static void main(String[] args){
System.out.println("默默1");
for(int i=1;i<=10;i++){
if(i==3){
//break;
//continue;
return;
}
System.out.println("默默2");
}
System.out.println("默默3");
}
}
案例4 存钱
/*
小明的妈妈每天会给小明2.5元钱,他都会存起来,
但是,每当这一天是存钱的第5天或者是第5天的倍数
小明就会花掉6元钱,问,多少天小明才能存够100元
分析:
小明的妈妈每天会给小明2.5毛钱
double dayMoney = 2.5;
他都会存起来
double daySum = 0;
从第一天开始存
int dayCount = 1;
多少天小明才能存够100元
double result = 100;
每当这一天是存钱的第5天或者是第5天的倍数
小明就会花掉6款钱
daySum -= 6;
这里实际上还隐含了一个问题
daySum += dayMoney;
因为我们不知道要多少天才能存够100,所以
我使用死循环, 一旦存的钱数超过100 跳出循环即可
*/
class CunQian{
public static void main(String[] args){
double daySum = 0; //存钱总数
int dayCount = 1; //存钱天数
double dayMoney = 2.5; //每天零花钱
while(true){
daySum += dayMoney;
if(dayCount %5 == 0){ //5或5的倍数花6元
daySum -= 6;
}
if(daySum >= 100){
System.out.println("共花费了"+dayCount+"天存了100元");
break; // 结果74天
}
dayCount++;
}
}
}