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

    技术2024-07-03  77

    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 无论条件是否成立,至少执行一次
    Processed: 0.020, SQL: 10