Day04——Java基础——循环流程控制语句(while do while for)、流程跳转语句(break 、continue、return)

Java流程控制语句

循环流程控制语句
重复性的执行一段相同的代码

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

初始化语句:
一条或者多条语句,这些语句完成一些初始化操作。
判断条件语句:
这是一个boolean 表达式,这个表达式循环体。能决定是否执行
循环体语句:
这个部分是循环体语句,也就是我们要多次做的事情。
控制条件语句:
这个部分在一次循环体语句结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

按照语法划分分为三种
1、While
while循环语句格式:

基本格式
while(判断条件语句) {
循环体语句;
}

//while循环
		//语法:while(布尔表达式){循环体语句}
		//if(布尔表达式){语句块}
		//当使用while进行循环操作时一般使用拓展语法
		//1、初始化语句
		int i=1;
		//2、循环执行条件判断语句
		//只有返回true才会执行循环体语句
		while(i<=5){
			//3、循环体语句
			System.out.println("hello World!");
			//4、迭代语句
			//用于在每次循环结束后修改循环条件中的变量
			i=i+1;//i++
		}

2、do…while
do…while循环语句格式:

基本格式
do {
循环体语句;
}while(判断条件语句);
3、For
for循环语句格式:

for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
For循环语法集初始化语句、条件判断语句、迭代语句、循环语句与语法本身
在这里插入图片描述在这里插入图片描述
循环中初始化语句只会执行一次

while、do…while、for循环的区别
While与do…while区别
:while先进行判断操作后进行循环体语句的执行,do…while先进行循环体语句的执行后再进行条件的判断(while循环的循环体语句可能一次都不会执行,但是do…while循环体语句至少被执行一次)

**While与for的区别:**for语法将初始化语句集成,使其作用范围在当前循环中,在循环结束后释放资源,且将迭代语句一同放入语法中使{}中只保留循环体语句减少代码的混淆

While与do…while使用场景:
当需要进行条件判断后才会执行的语句时使用while,当进行无论条件是否成功都会首先执行一次的操作时使用do…while

While与for使用场景:
for循环适合针对一个范围判断进行操作,对于已知次数的循环(输出10次固定语句)
while循环适合判断次数不明确操作,未知次数的循环(检票)

// 使用for循环计算当前已过天数
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年");
		int year = sc.nextInt();
		System.out.println("请输入月");
		int month = sc.nextInt();
		System.out.println("请输入日");
		int day = sc.nextInt();
		int sumDay=0;//已过天数
		int TwoMonthDay=28;//二月天数
		if((year%4==0&&year%100!=0)||year%400==0){
			TwoMonthDay=29;}
		for(int i=1;i<month;i++){
			int monthDay=0;
			if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
				monthDay=31;
			}else if(i==2){
				monthDay=TwoMonthDay;
			}else{
				monthDay=30;
			}
			sumDay+=monthDay;
		}
		sumDay+=day;
		System.out.println(sumDay);

输出1000以内的水仙花数

//输出1000以内的水仙花数
		//水仙花数 各位3次方之和为本身的数
		//1、获取当前三位数各位数字123
		//(1)获取百位  对100取整
		//(2)获取十位  先对100取余在对10取整(先对10取整再对10取余)
		//(3)获取个位  先对100取余在对10取余(对10取余)
		for(int i=100;i<1000;i++){
			int hundredsPlace=i/100;//百位
			int tenPlace=i/10%10;//十位
			int onePlace=i%10;//个位
	if(hundredsPlace*hundredsPlace*hundredsPlace+tenPlace*tenPlace*tenPlace+onePlace*onePlace*onePlace==i){
				System.out.println(i);
			}	
		}

Java流程跳转语句
在java流程控制语句执行的过程中动态的对流程进行控制跳转的关键字
break:结束当前循环

// break
		// 结束当前循环
		// 在循环输出100~999的过程中要求如果出现水仙花数
		// 则用水仙花数✿替换并结束循环
		for (int i = 100; i < 1000; i++) {
			int hundredsPlace = i / 100;// 百位
			int tenPlace = i / 10 % 10;// 十位
			int onePlace = i % 10;// 个位
			if (hundredsPlace * hundredsPlace * hundredsPlace + tenPlace * tenPlace * tenPlace
					+ onePlace * onePlace * onePlace == i) {
				System.out.println("✿");
				break;
			} else {
				System.out.println(i);
			}
		}

continue:跳过本次循环进入下次循环

//continue跳过本次循环进入下次循环
		//输出1~100内的1~50
		int cCount=0;//保存continue执行次数
		for(int i=1;i<=100;i++){
			if(i==50){
				cCount++;
				continue;
			}
			 System.out.print(i);
		}
		System.out.println();
		System.out.println(cCount);
		int bCount=0;//保存break执行次数
		for(int i=1;i<=100;i++){
			if(i==50){
				bCount++;
				break;
			}
			 System.out.print(i);
		}
		System.out.println();
		System.out.println(bCount);

return:结束方法返回数据

// return结束方法并返回
		//return为方法级别的结束
		//break  return区别
		//break结束当前代码块  后续代码会继续运行
		//return结束当前方法  后续代码不会运行
		for (int i = 1; i <= 100; i++) {
			System.out.print(i);
			if (i == 50) {
				return;
			}
		}
		System.out.println();
		System.out.println("~~~~~~~~~~~~~~~~~");
		for (int i = 1; i <= 100; i++) {
			System.out.print(i);
			if (i == 50) {
				break;
			}
		}

1、猜拳游戏五局三胜
2、使用for循环计算当年剩余天数
3、打印三角形

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值