java基础(三)循环for、while、do while

本文介绍了Java编程中的循环控制结构,包括while、do-while和for循环的使用方式及逻辑流程,并通过实例展示了如何运用这些循环进行条件判断,如密码验证、数字打印等。同时,提到了三元运算符和三目运算符在条件判断中的应用。
摘要由CSDN通过智能技术生成

目录

1、while循环

2、do while循环

3、for循环

4、练习

5、知识点: 三元运算符、三目运算符


1、while循环

while(条件){

         条件成立时要执行的代码;

         使条件趋近于假的操作;

}

逻辑:当条件成立时,执行{}里面的代码,代码执行完毕之后又去判断条件,如果条件还成立继续执行{}里面的代码,........直到某一个时刻条件不成立为止

案例:利用while循环打印1-10之间的所有整数 

       //利用while循环打印1-10之间的所有整数 
        int n = 1;
        while (n<=10){
            System.out.println(n);
            n++;
        }

       //打印10-1之间的所有整数
        int m = 10;
        while (m>=1){
            System.out.println(m);
            m--;
        }

while的死循环 

while(true){

}

/**
 *   当不知道要循环多少次时建议使用死循环
 *   while的死循环
 *   while(true){
 *
 *   }
 */
//案例:ATM密码验证相关,编写一个程序要求用户输入密码,验证密码是否正确
//如果不正确就一直输入知道正确为止

public class H_while {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int pwd;
        while (true){
            System.out.println("请输入密码:");
            pwd = scanner.nextInt();//读取密码
            if (pwd==123456){
                break;//结束循环,不让继续输入
            }
        }
    }

}

2、do while循环

do{

         要执行的代码;

         使条件趋近于假的操作;

}while(条件)

逻辑:先执行{}里面的代码,然后再判断条件是否成立,成立就继续执行,直到条件不成立为止

        //do while
        int i = 10;
        do {
            System.out.println(i);
            i--;
        }while (i>=1);

do while死循环

do{

}while(true) 

3、for循环

for(变量的初始化①;条件②;使条件趋近于假的操作④){

            要执行的代码③;

}

逻辑:先①-->判断②-->执行③-->执行④-->判断②..........

        for (int i = 10; i >= 1; i--) {
            System.out.println(i);
        }

for死循环

 for( ; true ; ){

}

4、练习

使用循环实现ATM的密码验证:验证用户输入的密码是否正确,而且错误的次数最多三次,要做到三次之内任何一次密码成功都应该进入主界面(登录成功),如果三次都失败打印账户已冻结

break:跳出循环

练习1:找出1-100之间所有能同时被3、7整除的数字

        int x = 1;
        while (x<=100){
            if (x%3 == 0 && x%7 == 0) {
                System.out.println(x);
            }
            x++;
        }

练习2:计算出1-100之间所有数字的总和

        int y = 1;
        int total = 0;
        while (y<=100){
            total = total + y;
            y++;
        }
        System.out.println(total);

练习3:找出两个数字的最小公倍数

        //最小公倍数>=更大的那个数
        //最小公倍数<=更大的那个数*小的那个数
        //[更大的那个数,大*小]

        int x = 6;
        int y = 2;
        //确定更大的数字
        int max = 0;
        if (x>=y){
            max = x;
        }else {
            max = y;
        }

      //for循环
      for (int i=max;i<=x*y;i++){
          if (i%x==0 && i%y==0){  //第一个找到的数字就是最小公倍数
              System.out.println(i);
              break;  //找到之后不应该继续找
          }
      }

      //while循环
      int j = max;
      while (j<=x*y){
          if (j%x==0 && j%y==0){
              System.out.println(j);
              break;
          }
          j++;
      }

练习4:找出两个数字的最大公约数

      int p = 6;
      int q = 3;
      int min = p<=q ? p : q;

      int z = min;     //从后向前找
      while (z>=1){
          if (p%z==0 && q%z==0){
              System.out.println(z);
              break;
          }
          z--;
      }

练习5:猜数字 

        //随机生成数字
        //1 创建数字随机生成器
        Random random = new Random();
        //2 利用生成器生成数字
        int num = random.nextInt(100)+1;//生成[1-100]之间的数字
        int guess;
        Scanner scanner = new Scanner(System.in);
        while (true){
            System.out.println("请输入一个数字");
            guess = scanner.nextInt();
            if (guess>num){
                System.out.println("猜大了");
            }else if (guess<num){
                System.out.println("猜小了");
            }else {
                System.out.println("猜中了");
                break;//不在继续猜
            }
        }

5、知识点: 三元运算符、三目运算符

 目:只运算符操作的数据个数

单目运算符

++  --  a++   b--   ~c    ~5

双目运算符

+   -     *    /     a+b

三目运算符

?:

条件/表达式?值1:值2;

条件/表达式成立吗?成立就得到值1,否则得到值2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值