day04Java-控制跳转语句(break、continue、return)

控制跳转语句

break:中断(中断当前的循环,后面的代码还会执行的)
continue:继续
return:返回

break:中断的意思
使用场景:
A:switch语句中
B:循环语句中。
(循环语句中加入了if判断的情况)
注意:离开上面的两个场景,无意义。

如何使用呢?
A:跳出单层循环
B:跳出多层循环
要想实现这个效果,就必须知道一个东西。带标签的语句。
格式:
标签名: 语句

break

代码演示

	public static void main(String[] args) {
		//在 switch 或 loop 外部中断
		//break;
		
		//跳出单层循环
		for(int x=0; x<10; x++) {
			if(x == 3) {
				break;
			}
			System.out.println("HelloWorld");
		}
		
		System.out.println("over");
		System.out.println("-------------");
		
		wc:for(int x=0; x<3; x++) {
			nc:for(int y=0; y<4; y++) {
				if(y == 2) {
					//break nc; 跳出内循环,外循环还会执行 。
					break wc; //跳出外循环,外循环和内循环都会停止。
				}
				System.out.print("*");
			}
			System.out.println();
		}
	}

跳出内循环的结果
内循环停止,外循环执行了。

**
**
**

跳出外循环的结果
内循环外循环都停止。

**
continue

使用场景:
循环中。离开此场景无意义。

测试,找到和break的区别:
break:跳出单层循环
continue:跳出一次循环,进入下一次的执行

练习题:
for(int x=1; x<=10; x++) {
if(x%3==0) {
//在此处填写代码
}
System.out.println(“Java”);
}

我想在控制台输出2次:“Java“
break;
我想在控制台输出7次:“Java“
continue;
我想在控制台输出13次:“Java“
System.out.println(“Java”);

代码演示

public static void main(String[] args) {
		for(int x=1; x<=10; x++) {
			if(x%3==0) {
				//填写的代码
			}
			System.out.println("Java");
		}
	}
return

return:返回
其实它的作用不是结束循环的,而是结束方法的。

public static void main(String[] args) {
		for(int x=0; x<10; x++) {
			if(x == 2) {
				System.out.println("退出");
				//break;
				//continue;
				return;
			}
			
			System.out.println(x);
		}
		
		System.out.println("over");
	}
while练习

需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。
分析:
需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。

分析:
A:小芳的妈妈每天给她2.5元钱
double dayMoney = 2.5;
B:她都会存起来
double daySum = 0;
C:从第一天开始存储
int dayCount = 1;
D:经过多少天,小芳才可以存到100元钱。
double result = 100;
E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
说明要判断dayCount的值,如果对5整除就减去6元钱。
daySum -= 6;
由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加
daySum += dayMoney;
F:因为不知道是多少天,所以我用死循环,一旦超过100元我就退出循环。
代码演示

public static void main(String[] args) {
		//每天要存储的钱是2.5元
		double dayMoney = 2.5;
		
		//存钱的初始化值是0
		double daySum = 0;
		
		//从第一天开始存储
		int dayCount = 1;
		
		//最终存储不小于100就不存储了
		int result = 100;
		
		//因为不知道是多少天,所以我用死循环,
		while(true) {
			//累加钱
			daySum += dayMoney;
			
			//一旦超过100元我就退出循环。
			if(daySum >= result) {
				System.out.println("共花了"+dayCount+"天存储了100元");
				break;
			}
			
			if(dayCount%5 == 0) {
				//花去6元钱
				daySum -= 6;
				System.out.println("第"+dayCount+"天花了6元钱");
			}
			
			//天数变化
			dayCount++;
		}
	}

结果:

第5天花了6元钱
第10天花了6元钱
第15天花了6元钱
第20天花了6元钱
第25天花了6元钱
第30天花了6元钱
第35天花了6元钱
第40天花了6元钱
第45天花了6元钱
第50天花了6元钱
第55天花了6元钱
第60天花了6元钱
第65天花了6元钱
第70天花了6元钱
共花了74天存储了100元
发布了151 篇原创文章 · 获赞 0 · 访问量 1690

猜你喜欢

转载自blog.csdn.net/qq_40332952/article/details/104669877