JAVA(while语句)

while
初始化
while(循环条件){
循环体
步长
}
int sum=0;
int i=1;
while(i<=100){
sum=sum+i;
i++;
}
System.out.println(sun);

在这里插入图片描述

注意
1
循环继续条件应该是放在圆括号以内。
只有当循环条件只包含一条语句或不包含语句时,循环体的花括号才可以省略。
2
要保证循环继续条件最终可以变为false,以便程序能够结束。一个常见的程序设计错误是无限循环的。
如果程序运行了不寻常的长时间二不结束,可能其中有无限循环。
如果你是从命令窗口运行程序,可以按Ctrl+C来结束
3
break不能用在函数代码块里
只能用在switch for while 局部代码块
4
if和switch的区别?
都是做判断选择的
if可以对单一值进行判断 也可以对区间值进行判断
            ==                    > <
switch只能对单一直进行判断
警告
1
经常会犯一个错误就是循环多执行一次,或者少执行一次。
这种情况通常称之为差一错误。
count<100和count<=100不一样的。
2
在循环控制时,不要使用浮点值来比较值是否相等。
因为浮点值都是某些值的近似值,使用他们可能导致不精确的循环次数和不准确的结果。
题型
Scanner scanner=new Scanner(System.in);
    int com=new Random().nextInt(101);
    System.out.print("");
    int num=scanner.nextInt();
    while(num!=com){
        if(num>com){
            System.out.print("too high");
        }else{
            System.out.print("too low");
        }
        System.out.print("");
        num=scanner.nextInt();
    }
    System.out.print("输入正确:");
改变成for语句
	Scanner scanner=new Scanner(System.in);
    int com=new Random().nextInt(101);
    System.out.print("");
   
    for(int num=scanner.nextInt();num!=com;num=scanner.nextInt()){
        if(num>com){
        
            System.out.print("too high");
        }else{
            System.out.print("too low");
        }
        System.out.print("");
        
    }
    System.out.print("输入正确:");
将while条件改成无限循环
Scanner scanner=new Scanner(System.in);
    int com=new Random().nextInt(101);
    
    while(true){ //无条件开启死循环       //改成 for(;;)的无限循环
        System.out.print(":");
        int num=scanner.nextInt();
        if(num>com){
            System.out.print("too high");
        }else if(com==num){
            System.out.print("输入正确:");
            break;
        }else{
            System.out.print("too low");
        }
编写程序,读取整数之中最大的数字。并计算最大整数出现的次数
import java.util.Scanner;
class Demo01{
   public static void main (String[] args){ //创建输入
	Scanner scanner=new Scanner(System.in);
	System.out.println("请输入数字");//提醒用户输入数字
  int num=0;
  
  int a=scanner.nextInt();//输入数字转化为整形
  int max=a;
	while(true){  //进入循环
    int b=scanner.nextInt();
   
		if(b==0){
			break;
		}
		if(b>max){ //当b大于现在的最大值,就赋值给max,并且num=1;再次出现加1
			max=b;
			num=1;
		}else if(b==max){
			num++;
		}
	}
	System.out.println("最大整数"+max);
	System.out.println("最大出现次数"+num+"次");
	}
}

2

import java.util.Scanner;
class ATM{
    public static void main(String[] args) {
        /*
        1.输入密码 5次输入错误则退出 666666
        2.主界面
        3.查询余额
        4.取钱(钱充足)
        5.存钱(整钱100)
        */
        Scanner scanner =new Scanner(System.in);
        int errorCount=0;
        while(true){
            System.out.print("请输入密码:");
            int pwd=scanner.nextInt();
            if(pwd!=666666){
                errorCount++;   //5
                if(errorCount==5){
                    System.out.println("账号已被冻结!");
                    return;
                }
                System.out.println("密码错误,请重新输入!您还有"+(5-errorCount)+"次输入机会");
            }else{
                break;
            }
        }
        //主界面
        int summury=0;//总金额
        while(true){
            System.out.println("===========欢迎使用鸥鹏ATM自动存取款机===========");
            System.out.println("1.存钱");
            System.out.println("2.取钱");
            System.out.println("3.查询余额");
            System.out.println("0.退出");
            System.out.print("请选择办理的业务:");
            int choice=scanner.nextInt();
            switch(choice){
                case 1:
                    System.out.print("请输入存款金额:");
                    int inmoney=scanner.nextInt();
                    summury+=inmoney;
                    System.out.println("存钱完毕!");
                    break;
                case 2:
                    System.out.println("你的余额为"+summury+"元");
                    System.out.print("请输入取款金额:");
                    int outmoney=scanner.nextInt();
                    if(outmoney>summury){
                        System.out.println("您的余额不足!");
                    }else{
                        summury-=outmoney;
                        System.out.println("取款完毕!");
                    }
                    break;
                case 3:
                    System.out.println("你的余额为"+summury+"元");
                    break;
                case 0:
                    System.out.println("谢谢使用,请收好您的卡片!");
                    return;
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值