for,while,do...while各种循环区别特点详解(带例题)

本文深入解析循环结构中的For循环和Do...While循环,包括死循环的概念、判断素数、打印特定序列等实例,以及循环控制语句如continue和break的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

For循环

死循环概念
	①没有循环结束的条件
	②或者循环结束的条件永远不成立,或者说运行的条件永远不成立【不写更新变量】
死循环例题
for(int i = 0; ; i++){
		System.out.println("asd");
		}
		
		for(int i = 0;i<10;) {
			System.out.println("sad");
		}
最简单的for死循环
for(;;) {
			System.out.println("sdas");
		}
练习:

判断一个数字是否为素数->质数只能被1和本身整除的数]

		Scanner  scanner =new Scanner(System.in);
		int num = scanner.nextInt();
		boolean flag = true;
		for(int i = 2;i<=num-1;i++) {
			if (num%i==0) {
				flag = false;
				break;
			}
		}
		if (flag) {
			System.out.println("T");
		}else {
			System.out.println("F");
		}

找出2-100的质数

		for(int i=3;i<=100;i++){
			boolean flag = true;
				for(int j=2;j<i;j++){
					if(i%j==0){
					flag=false;
					break;
					}
				}
				if(flag){
				System.out.print(i+" ");
				}
			}

打印1-100,但是排除5的倍数

		for(int i= 1;i<=100;i++) {
			//反向if !真->非(真)->假
			if (i%5 == 0) {
				continue;
			}
			System.out.println(i);
		}

循环中的continue ->继续:停止[跳过]本次循环,重新继续下次循环

练习, 使用continue,输出1-100的奇数

		int a=0;
		for(int i= 1;i<=100;i++) {
			if (i%2==0) {
				continue;
				}
			System.out.println(i);
			a++;	
				if(a == 5 ) {
					break;
				}
			}

案例6:鸡兔同笼问题: 50个头,120个脚 多少鸡?多少兔?

		for(int ji=0;ji<=50;ji++) {
			int tu = 50-ji;
			if(ji*2 + tu*4 == 120) {
				System.out.println(ji);
				System.out.println(tu);
			}
		}
		```
		
有一只猴子捕了一些桃子,摘下的第一天,立即吃掉一半,不过瘾然后又吃了一个,以后每天都是如此[第二天吃掉了剩下的一半,不过瘾,有多吃了一个],到了第十天发现只有一颗桃子,问猴子捕了多少个桃子
```java
		int sum=1;
		int i=9;
		while(i>=1){
		sum=2*(sum+1);
			i--;
		}
		System.out.println(sum);*/

并且只有三次机会,每次失败提示还有几次
for 3次,每次失败时,提示剩有几次机会1-> 3-1 2->3-2 3->3-3系统已锁定

		Scanner scanner = new Scanner(System.in);
		
		for(int i =1;i<=3;i++) {
			
		System.out.println("请输入用户名:");
		String username = scanner.next();
		System.out.println("请输入密码:");
		int pwd = scanner.nextInt();
			
		if ("a".equals(username)&&pwd ==123) {
			
			System.out.println("密码正确");
			break;
			
		}else  {
			if(i==3) {
			System.out.println("密码输入错误三次,账号已冻结");

		}else {
			System.out.println("密码错误,请重试!!");
		}
		
	}
		}

do…while

格式 :
	 * 初始表达式
	 * 
	 * do{
	 * 		循环体; -> 1,循环逻辑 2,更新表达式
	 * }while(布尔表达式);
	 * 
	 * 执行流程:
	 * 1,初始化变量
	 * 2,直接来执行循环体
	 * 3,循环体执行完毕,判断布尔表达式,如果布尔表达式为真,继续执行循环体
	 * 4,如果为假,退出 do while循环
例题

输出1-10

		int i = 1;
	do {
//			1,循环逻辑
			System.out.println(i);
//			2, 更新变量
			i++;			
		}while(i<=10);		
	while 和 do while的区别
	int i  = 11;
	do {
		System.out.println(i);
		i++;
	}while(i <= 10);
do while 特点
  • 先不看条件 , 直接执行一次,然后再判断条件
  • 即使条件不成立,也可以执行一次
  • while -> 先判断 ,再执行
  • do while -> 先执行 , 再判断
  • while 如果条件不成立,一次也不执行
  • do while 无论条件是否成立,至少执行一次
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值