2021年7月15日
讲师:王博
Id:10.8.168.235
今日内容
·分支
- 昨天遗留的内容-逻辑运算符
 
0.0逻辑运算符的短路原则
&&
逻辑与的短路原则
条件1&&条件2&&条件3
只要有一个条件为false,整体的结果就为false
如果条件1位false,条件2和条件3就不执行
||
逻辑或的断路原则
只要有一个条件为true,整体结果为true
只要有一个条件为true,后面的条件就不执行
1分支
生活中的分支:人生中的选择
程序中的分支,也是一个选择
1.1if分支
语法格式:
If(条件){
语句体
}
条件必须是布尔类型的数据,要么是true,要么是false
执行流程:如果条件为true,就执行条件后面大括号里的内容,如果为false,就跳过该条件,去执行下面的代码
1.2if -else分支
语法格式:
If(条件){
语句体1
}else{
语句体2
}
执行流程:当程序运行到if-else 之后,如果条件为true,执行语句体1,否则执行语句体2,两者只能取其一。
1.3if-else if分支结构
语法格式:
If(条件1){
语句体1
}else if(条件2){
语句体2
}else if(条件3){
语句体3
}else{
语句体4
}
执行流程:当程序运行到if时,首先判断小括号里面的内容,如果条件为false就跳过与具体,执行下面else if的条件,直到条件为true,就输出打印,下面的条件就不用再判断。
package www.liujinghe.app;
/**
 * if-else if()结构
 */
public class Demo4 {
    public static void main(String[] args) {
        /**
         * 学生的成绩
         * 90-100 打印A
         * 80-90 打印B
         * 70-80 打印C
         * 60-70 打印D
         * 60以下 打印E
         */
        int score = 70;
        if(score >=90 && score <= 100) {
            System.out.println("A");
        }else if(score >= 80) {
            System.out.println("B");
        }else if(score >= 70) {
            System.out.println("C");
        }else if(score >= 60) {
            System.out.println("D");
        }else {
            System.out.println("E");
        }
    }
}
1.4switch-case分支
只要满足当前的条件就可以执行当前的操作
语法格式:
Switch(表达式){
Case 常量1:
语句体1;
Break;
Case 常量2:
语句体2;
Break;
Case 常量3:
语句体3;
Break;
Default:
语句体n;
Break;
}
Break:终止,打断的意思
1.5案例1
请插入你的卡,输出密码
- 密码输入正确
 
密码正确,选择办理的业务
1:取款 2:存款 3:修改密码
- 密码输入错误
 
package www.liujinghe.app;
import java.util.Scanner;
public class Demo9 {
    public static void main(String[] args) {
        /**
         * 取款小案例
         * 请插入你的卡,输出密码
         * 1.密码输入正确
         * 2.密码输入错误
         * 使用if-else
         */
        System.out.println("请插入你的银行卡:");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入密码:");
        int number = scanner.nextInt();//输入的密码
        int password = 123456;//银行卡的密码
        int account = 10000;
        if (number == password) {
            //密码输入正确
            //选择办理的业务
            //1:取款 2:存款 3:修改密码
            System.out.println("登录成功");
            System.out.println("请选择业务:1:取款 2:存款 3:修改密码");
            Scanner scanner1 = new Scanner(System.in);
            int access = scanner1.nextInt();//选择业务
            if ( access == 1) {
                //取款
                //请输入取款的金额
                System.out.println("请输入取款的金额:");
                Scanner scanner2 = new Scanner(System.in);
                int outMoney = scanner2.nextInt();//取款的金额
                System.out.println("你的取款金额为:"+ outMoney);
                int accout1 = account - outMoney;//目前取款后的金额
                if(outMoney > account){
                    System.out.println("余额不足");
                }else{
                    System.out.println("取款成功,请取卡");
                    System.out.println("你卡里的余额为:"+accout1);
                }
            }else if ( access == 2 ) {
                //存款
                System.out.println("请输入你的存款金额");
                Scanner scanner2 = new Scanner(System.in);
                int inMoney = scanner2.nextInt();//存款的金额
                int account3 = account + inMoney;
                System.out.println("你卡里的金额为:"+account3);
                System.out.println("存款成功,请取卡");
            }else if ( access == 3 ) {
                //修改密码
                System.out.println("请输入原始密码:");
                Scanner scanner2 = new Scanner(System.in);
                int word = scanner2.nextInt();//输入的原始密码
                if( word == password ) {
                    System.out.println("请设置新密码:");
                    Scanner scanner3 = new Scanner(System.in);
                    int newPassword = scanner3.nextInt();//输入的新密码
                    password = newPassword;
                    System.out.println("密码修改成功");
                }else {
                    //原始密码错误
                    System.out.println("原始密码错误");
                }
                System.out.println("修改密码");
            }else{
                System.out.println("输入错误。程序退出");
                System.exit(0);
            }
        } else {
            System.out.println("密码错误,请重新输入");
        }
    }
}
1.6案例2
判断输入的一个年份是否是平年或者闰年
闰年:能被400整除,或者能被4整除但不能被100整除的年份
package www.liujinghe.app;
import java.util.Scanner;
public class Demo10 {
    /**
     * 判断平年还是闰年
     */
    public static void main(String[] args) {
        System.out.println("请输入一个年份:");
        Scanner scanner = new Scanner(System.in);
        int year = scanner.nextInt();//输入的年份
        if (year % 400 == 0 || (year % 4 ==0 && year % 100 !=0)){
            System.out.println(year + "是闰年");
        } else{
            System.out.println(year + "是平年");
        }
    }
}
1.7案例3
三个数,比较大小,输入最大的那个数
package www.liujinghe.app;
import java.util.Scanner;
public class Demo11 {
    /**
     * 三个数,比较大小,输出最大的数
     */
    public static void main(String[] args) {
        System.out.println("请输入三个数:");
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        if (a > b && a > c) {
            System.out.println(a);
        } else if (b > a && b > c) {
            System.out.println(b);
        } else if (c > a && c > b) {
            System.out.println(c);
        } else {
            System.out.println(a);
        }
    }
}
1.8案例4
输入一个月份,打印对应的季节(春夏秋冬)
package www.liujinghe.app;
import java.util.Scanner;
public class Demo12 {
    /**
     * 输入一个月份,打印对应的季节(春夏秋冬)
     * 3 4 5
     * 6 7 8
     * 9 10 11
     * 12 1 2
     */
    public static void main(String[] args) {
        System.out.println("请输入一个月份");
        Scanner scanner = new Scanner(System.in);
        int month = scanner.nextInt();
        if(month >= 13 || month <= 0){
            System.out.println("输入错误,请重新输入");
        }
        if (month >= 3 && month <= 5) {
            System.out.println("春季");
        } else if (month >= 6 && month <= 8) {
            System.out.println("夏姬");
        } else if (month >= 9 && month <= 11) {
            System.out.println("秋季");
        }else if (month == 12 || month >= 1 && month <= 2) {
            System.out.println("冬季");
        }
    }
}
补充知识点:
现在声明变量的时候,直接初始化的值,这个值是在代码中写好的,在控制台手动输入,输入完以后的值再赋给变量。
·.需要导包:import java.util.Scanner;
·创建scanner对象:Scanner sc = new Scanner(System.in);
·使用sc这个对象获取控制台输入的数据,赋值给变量
获取int类型的数据:int i = sc.nextInt();
获取float类型的数据:float v = sc.nextFloat();
获取double类型的数据:double v1 = sc.nextDouble();
获取字符串:String s = sc.nextLine();
获取字符:char c = sc.next().charAt(0);
练习代码:
package www.liujinghe.app;
import java.util.Scanner;
public class Demp5 {
    public static void main(String[] args) {
        int score = 0;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");
        score = scanner.nextInt();
        //合法性判断
        if(score <0 || score >100){
            System.out.println("请重新输入!");
            //退出程序
            System.exit(0);
        }
        if(score >=90 && score <= 100) {
            System.out.println("A");
        }else if(score >= 80) {
            System.out.println("B");
        }else if(score >= 70) {
            System.out.println("C");
        }else if(score >= 60) {
            System.out.println("D");
        }else {
            System.out.println("E");
        }
    }
}
作业:
·今日代码敲三次以上
·金山打字通
Idea:格式代码
Code》reformat code
使用静态IP
网络和Internet》更改适配器选项》以太网属性》Ipv4》属性
                
            
        
浙公网安备 33010602011771号