当前位置:   article > 正文

java基础(三)循环for、while、do while_在java中,使用do-while循环打印1~10的代码

在java中,使用do-while循环打印1~10的代码

目录

1、while循环

2、do while循环

3、for循环

4、练习

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


1、while循环

while(条件){

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

         使条件趋近于假的操作;

}

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

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

  1. //利用while循环打印1-10之间的所有整数 
  2. int n = 1;
  3. while (n<=10){
  4. System.out.println(n);
  5. n++;
  6. }
  7. //打印10-1之间的所有整数
  8. int m = 10;
  9. while (m>=1){
  10. System.out.println(m);
  11. m--;
  12. }

while的死循环 

while(true){

}

  1. /**
  2. * 当不知道要循环多少次时建议使用死循环
  3. * while的死循环
  4. * while(true){
  5. *
  6. * }
  7. */
  8. //案例:ATM密码验证相关,编写一个程序要求用户输入密码,验证密码是否正确
  9. //如果不正确就一直输入知道正确为止
  10. public class H_while {
  11. public static void main(String[] args) {
  12. Scanner scanner = new Scanner(System.in);
  13. int pwd;
  14. while (true){
  15. System.out.println("请输入密码:");
  16. pwd = scanner.nextInt();//读取密码
  17. if (pwd==123456){
  18. break;//结束循环,不让继续输入
  19. }
  20. }
  21. }
  22. }

2、do while循环

do{

         要执行的代码;

         使条件趋近于假的操作;

}while(条件)

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

  1. //do while
  2. int i = 10;
  3. do {
  4. System.out.println(i);
  5. i--;
  6. }while (i>=1);

do while死循环

do{

}while(true) 

3、for循环

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

            要执行的代码③;

}

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

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

for死循环

 for( ; true ; ){

}

4、练习

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

break:跳出循环

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

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

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

  1. int y = 1;
  2. int total = 0;
  3. while (y<=100){
  4. total = total + y;
  5. y++;
  6. }
  7. System.out.println(total);

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

  1. //最小公倍数>=更大的那个数
  2. //最小公倍数<=更大的那个数*小的那个数
  3. //[更大的那个数,大*小]
  4. int x = 6;
  5. int y = 2;
  6. //确定更大的数字
  7. int max = 0;
  8. if (x>=y){
  9. max = x;
  10. }else {
  11. max = y;
  12. }
  13. //for循环
  14. for (int i=max;i<=x*y;i++){
  15. if (i%x==0 && i%y==0){ //第一个找到的数字就是最小公倍数
  16. System.out.println(i);
  17. break; //找到之后不应该继续找
  18. }
  19. }
  20. //while循环
  21. int j = max;
  22. while (j<=x*y){
  23. if (j%x==0 && j%y==0){
  24. System.out.println(j);
  25. break;
  26. }
  27. j++;
  28. }

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

  1. int p = 6;
  2. int q = 3;
  3. int min = p<=q ? p : q;
  4. int z = min; //从后向前找
  5. while (z>=1){
  6. if (p%z==0 && q%z==0){
  7. System.out.println(z);
  8. break;
  9. }
  10. z--;
  11. }

练习5:猜数字 

  1. //随机生成数字
  2. //1 创建数字随机生成器
  3. Random random = new Random();
  4. //2 利用生成器生成数字
  5. int num = random.nextInt(100)+1;//生成[1-100]之间的数字
  6. int guess;
  7. Scanner scanner = new Scanner(System.in);
  8. while (true){
  9. System.out.println("请输入一个数字");
  10. guess = scanner.nextInt();
  11. if (guess>num){
  12. System.out.println("猜大了");
  13. }else if (guess<num){
  14. System.out.println("猜小了");
  15. }else {
  16. System.out.println("猜中了");
  17. break;//不在继续猜
  18. }
  19. }

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

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

单目运算符

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

双目运算符

+   -     *    /     a+b

三目运算符

?:

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/938932
推荐阅读
相关标签
  

闽ICP备14008679号