JAVA基础之while,do...while ,for循环,break和continue

目录

while的执行特点:

do{   ..... }while(条件);

二者的区别:

for循环特点:

​编辑break:改break改变程序控制流

用于do-while、while、for中时,

continue语句

对比break和continue

while练习:


需要掌握的知识点:

while循环、do...while循环的区别

1.为什么需要循环?
2.循环是什么?
3.循环有几种格式?语法分别是什么?
4.循环怎么用

5.do...while和while的区分:
    1.语法不同
    2.执行顺序不同:while是先判断后执行  do..while是先执行后判断
    3.当初始条件不满足时,do..while至少会执行一次,而while一次也不执行

while的执行特点:

do{ 
  .....
 }while(条件);
 int  i = 1;	
 int sum = 0;
do{

		sum+=i;
		i++;
//先执行循环操作

	}while(i<=100);
//在判断循环条件
	
   System.out.println(sum);
二者的区别:

for循环特点:

使用for循环结构的步骤

1、分析循环条件和循环操作

2、套用for语法写出代码

3、检查循环是否能够退出

所有循环常见问题,注意判断值的变化,避免成为死循环:

例如:

break:改break改变程序控制流
用于do-while、while、for中时,

可跳出循环而执行循环后面的语句

continue语句

continue :只能用在循环里

continue 作用:跳过循环体中剩余的语句而执行下一次循环

for (int i = 0; i < total; i++) {
	System.out.print("请输入第" + (i + 1) + "位学生的成绩: ");
	score = input.nextInt();
	if (score < 80) {
		continue;
//对录入的分数进行判断,如果小于80,跳出本次循环,执行下一次循环

	}
	num++;
}
System.out.println("80分以上的学生人数是: " + num);
double rate = (double) num / total * 100;
System.out.println("80分以上的学生所占的比例为:" + rate + "%");

对比break和continue

使用场合

break可用于switch结构和循环结构中

continue只能用于循环结构中 作用(循环结构中)

break语句终止某个循环,程序跳转到循环块外的下一条语句。

continue跳出本次循环,进入下一次循环

知识掌握:

会使用while循环结构

会使用do-while循环结构

会使用for循环结构

会使用break和continue

while练习:
package com.zking.test;

import java.util.Random;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 * 	1.什么是循环。
		 * 		重复的执行相同的代码,知道条件不满足,就结束循环。
		 * 
		 * 	2.循环的特点:
		 * 		①循环的条件  ②循环操作
		 * 
		 * 	3.循环结构的语法有几种?
		 * 		while   do...while  for
		 * 
		 * 	4.解析while循环语法:
		 * 		①变量定义   int i = 1;
		 * 		while(②条件表达式){//i<=100
		 * 			③循环操作
		 * 			④变量的递增或递减
		 * 		}
		 * 		
		 * 		执行流程:①②③④ ②③④ ②③④ ②③④ ②③④ ②③④ ②③④
						直到②不满足  就退出循环
		 * 			1.①变量的定义----循环的开始次数。
		 * 			2.②条件表达式。 -------判断次数是否满足要求。
		 * 			3.如果满足条件表达式  执行大括号中的代码块③
		 * 			  如果不满足条件表达式  退出循环
		 * 			4.执行代码块完毕后,改变次数,如果不改变次数,将会成为死循环.
		 * 			5.改变次数后,重新回到条件表达式进行进行判断看是否满足要求
		 * 			....
		 * 			6.知道不满足条件表达式后  就退出循环
		 * 
		 * 
		 * 
		 */
		//1.需求:实现打印100遍好好学习天天模仿
		//利用while循环解决
//		int i = 1;
//		while(i<=100) {
//			System.out.println("好好学习,天天模仿");
//			i++;
//		}
		
		
		//2.打印1-100
//		int i = 1;//从第一个数开始打印   1
//		while(i<=100) {
//			System.out.println(i);//1  2  3
//			i++;//i= i+1;  i=2  i=3 .... 101
//		}
		
		
		//3.打印100个俯卧撑
//		int i = 1;
//		while(i<=100) {
//			System.out.println("龙锅做第"+i+"个俯卧撑");
//			i++;//如果不写,出现死循环
//		}
		
//		4.打印1-100的和----》5050
//		int i = 1;//数字1-100
//		//定义一个变量来存储1-100的和  
//		int sum = 0;//容器初始化为0
//		while(i<=100) {
			System.out.println(i);//1  2
//			sum+=i;//sum = sum + i;
//			i++;
//		}
//		System.out.println("和为: "+sum);
		
		/*
		 * i = 1  i<=100     sum = sum + 1; sum = 1  i++  i = 2
		 * i = 2  i<=100     sum = sum + 2; sum = 3
		 */
		
		
		//5.计算1-100的偶数和
		//写法1
//		int i = 2;
//		int sum = 0;
//		while(i<=100) {
			System.out.println(i);
//			//将得到的偶数依次叠加到sum容器中
//			sum = sum + i;
//			i+=2;//i = i + 2;
//		}
//		System.out.println("和为: " + sum);
		
		//写法②
//		int i = 1;
//		int sum = 0;
//		while(i<=100) {
//			if(i % 2 == 0) {
				System.out.println(i);
//				sum += i;
//			}
//			i++;
//		}
//		System.out.println("和为: "+sum);
		
		
		//6.1-100的奇数和
//		int i = 1;
//		int sum = 0;
//		while(i<=100) {
//			if(i%2 == 1) {
//				sum+=i;
//			}
//			i++;
//		}
//		System.out.println("和为: "+sum);
		
		
		//7.求出1-100之间的能被3整数或者能被5整除的数有哪些?
//		int i = 1;
//		while(i <= 100) {
			System.out.println(i);
//			if(i % 3 == 0 || i % 5 == 0) {
//				System.out.println(i);
//			}
//			i++;
//		}
		
//		求出1900年-2020年  的闰年有多少  并且统计有多少个?
//		int year = 1900;
//		int count = 0;//定义一个计数器   来统计年份个数  
//		while(year <= 2020) {
			System.out.println(year);
//			//判断每个年份是否为闰年
//			if(year % 4 == 0 && year % 100 !=0 ||
//					year % 400 == 0) {
//				System.out.println(year);
//				count++;//满足要求   才在该变量上+1
//			}
//			year++;
//		}
//		System.out.println("总共有: "+count+"个闰年");
		
		
		//1-10的偶数个数
//		int i = 1;
//		int  count = 0;//计数器
//		while(i<=10) {
//			if(i%2==0) {
//				System.out.println(i);//2
//				count++;
//			}
//			i++;
//		}
//		System.out.println("偶数个数为: "+count);
		
		//--------------------------------------------------
		//do...while(条件);
		/*	//①变量初始化
		 * 	do{
		 * 		③循环操作
		 * 		④变量的递增或递减
		 * 	}while(条件表达式);
		 * 
		 * 	注意事项:
		 * 		1.while后面必须分号结尾。
		 * 		2.do...while的特点:先执行  后判断
		 */
		//1.1-100的和
//		int i = 1;
//		int sum = 0;
//		do {
//			sum+=i;
//			i++;
//		}while(i>=100);
//		System.out.println("和为: "+sum);
		---------------------------------------------
//		int sb =1;
//		int sbb = 0;//保存和
//		while(sb>=100) {
//			sbb+=sb;
//			sb++;
//		}
//		System.out.println("和为: "+sbb);
		
		
		
//		需求:输入5个人的成绩  计算总和  以及平均分
//		Scanner sc = new Scanner(System.in);
//		//使用while循环实现
//		int i = 1;//从第一个人开始
//		int sum = 0;//保存输入的成绩和
//		while(i<=5) {
//			System.out.println("请输入第"+i+"个人的成绩: ");
//			int a = sc.nextInt();// 11  22  33  44  55
//			sum+=a;//将输入的每个成绩依次叠加到sum容器中
//			i++;
//		}
//		System.out.println("总分为: "+sum);
//		System.out.println("平均分为: "+sum / 5);
		
//		System.out.println("请输入第1个人的成绩: ");
//		int a1 = sc.nextInt();
//		System.out.println("请输入第2个人的成绩: ");
//		int a2 = sc.nextInt();
//		System.out.println("请输入第3个人的成绩: ");
//		int a3 = sc.nextInt();
//		System.out.println("请输入第4个人的成绩: ");
//		int a4 = sc.nextInt();
//		System.out.println("请输入第5个人的成绩: ");
//		int a5 = sc.nextInt();
//		int sum = a1+a2+a3+a4+a5;//总分
//		int avg = sum / 5;//平均分
		
		
		//玩猜拳 玩10把  统计玩家赢的次数。
		
		//用户输入
		int i = 1;
		int count = 0;//统计赢的次数
		while (i <= 10) {
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入要猜的拳:[1.石头  2.剪刀  3.布]");
			int player = sc.nextInt();
			// 电脑产生
			Random rd = new Random();
			int computer = rd.nextInt(3) + 1;
			switch (player) {
			case 1:
				if (computer == 1) {
					System.out.println("平局");
				} else if (computer == 2) {
					System.out.println("玩家赢,电脑输");
					count++;
				} else if (computer == 3) {
					System.out.println("玩家输,电脑赢");
				}
				break;
			case 2:
				if (computer == 1) {
					System.out.println("玩家输,电脑赢");
				} else if (computer == 2) {
					System.out.println("平局");
				} else if (computer == 3) {
					System.out.println("玩家赢,电脑输");
					count++;
				}
				break;
			case 3:
				if (computer == 1) {
					System.out.println("玩家赢,电脑输");
					count++;
				} else if (computer == 2) {
					System.out.println("玩家输,电脑赢");
				} else if (computer == 3) {
					System.out.println("平局");
				}
				break;
			}

			i++;
		}
		
		
		System.out.println("\t\t赢了: "+count+"次");
		
		

		
		
	}

}

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值