Java学习第四天

Java学习第四天

多分支判断语句

if(条件){

​ //分支1

}else if (条件){

​ //分支2

}else{

​ //分支3

}

练习:输入金额,小于等于800元,买一个老年机。小于等于1500元,买一个小米手机,小于等于1500,买一个vivo。小于等于5000,买一个华为。否则买苹果。

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入现有金额");
        int i = scanner.nextInt();
        if (0<=i && i <= 800) {
            System.out.println("只能买一个老年机");
        } else if (i <= 1500) {
            System.out.println("买一个小米手机");
        } else if (i <= 2500) {
            System.out.println("买一个vivo手机");
        } else if (i <= 5000) {
            System.out.println("买一个华为手机");
        } else {
            System.out.println("随便买");
        }

练习2:模拟ATM取款机的操作(显示菜单,让客户选择功能)

  1. 查询

  2. 取款

  3. 转账

  4. 修改密码

     		System.out.println("1.查询");
            System.out.println("2.转账");
            System.out.println("3.取款");
            System.out.println("4.修改密码");
    
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您要进行的操作");
            int i = scanner.nextInt();
    
            if(i == 1){
                System.out.println("正在查询");
            }else if (i == 2){
                System.out.println("正在转账");
            }if(i == 3){
                System.out.println("正在取款");
            }else if(i == 4){
                System.out.println("正在修改密码");
            }else{
                System.out.println("命令错误");
            }
    

    switch循环语句(开关语句)实现多分支判断

switch(条件){

case 值1:

​ 执行语句1;

​ break;

case 值2:

​ 执行语句2;

​ break;

case 值3:

​ 执行语句3;

​ break;

default:

​ //其他情况的分支(排除异常)

​ 执行语句;

​ break;

}

			System.out.println("1.查询");
            System.out.println("2.转账");
            System.out.println("3.取款");
            System.out.println("4.修改密码");

            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您要进行的操作");
            int i = scanner.nextInt();

			switch (i){
            case 1:
                System.out.println("正在查询");
                break;
            case 2:
                System.out.println("正在转账");
                break;
            case 3:
                System.out.println("正在取款");
                break;
            case 4:
                System.out.println("正在修改密码");
                break;
            default:
                System.out.println("输入错误,重新输入");
                break;
        }

注意事项

  1. case语句只能跟一个具体的值(可以是byte、char、short、int、String、枚举),不能跟条件、表达式

  2. 每个case结束后用break跳过后面的判断。如果没有break,后面的语句不再判断,直接执行,直到遇到有break的情况才会结束。

  3. default执行其他情况,default不受语句顺序影响(可以放到case语句之前)。

    练习:用Switch实现学生管理系统的菜单选择。

    ===============

    学生管理系统:

    新增学生

    修改学生

    删除学生

    查询学生

    ================

输入学生考试的成绩,判断学生是否及格。

		Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您的成绩");
        double i = scanner.nextDouble();
			switch ((int)i/60){
            case 0:
                System.out.println("恭喜你,不及格");
                break;
            case 1:
                System.out.println("恭喜你,及格了");
                break;
        }

循环

一段程序需要重复执行,就需要用到循环控制语句。

for循环

for(循环变量; 判断循环条件; 改变循环变量){

//循环体

}

       for (int t=0;t<10;t++) {
            System.out.println(t);
        }

练习:计算1到100的和

        int n =0;
        for (int m=0;m<=100;m++){
            n += m;
        }
        System.out.println(n);

练习:打印出1-100之间的奇数

for (int i=1;i<=100;i++){
            if (i % 2 != 0) {
                System.out.println(i);
            }
        }
  • 循环变量递减

    倒序打印10-1

     for (int i=10;i>0;i--){
                System.out.println(i);
            }
    
  • 多个循环变量

    for (int i = 0,j = 100; i < 100 && j>0; i++,j--) {
                if (i == j) {
                    System.out.println(i);
                }
            }
    
  • 死循环

          for(int i = 0;;i++){//不设条件即时死循环
                System.out.println(i);
                if (i == 999)
                    break;//达到条件即可跳出循环
            }
    
  • 退出循环的命令

    • continue//跳出当次循环,执行下一次循环
    • break//跳出当前循环语句的所有循环,剩余的循环就不再执行。
    • return//结束方法,后面的所有语句都不执行,不仅仅是循环语句。

while循环

跟for循环非常类似,两种循环在大多数情况下可以相互替换,循环次数未知的情况下用while多一些。

语法

while(条件表达式){

//循环体

}

  • 条件表达式为true的时候执行,为false时结束
  • while循环也支持break、continue等命令。
int weight = 126;
        while (weight >= 100){
            System.out.println("正在减肥中,当前体重:"+weight);
            weight--;
        }

do while循环

do while跟while类似,区别在于do while至少会执行一次。

  • 语法
  1. 至少会执行一次

  2. while后面必须要加分号

  3. do while也支持continue、break。

do{

//循环体

}while(条件表达式);

练习:计算1+1/2+1/3+…+1/888的和。

        double sum = 0;
        for (double b = 1;b<=888;b++){
            sum = sum + 1 / b;
        }
        System.out.println(String.format("%.2f",sum));

循环嵌套

循环体里面又有循环语句,称为循环嵌套。

练习:九九乘法表

        for (int i = 1; i < 10; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"x"+j+"="+j * i+"\t ");
            }
            System.out.println("");
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值