2021年7月15日

讲师:王博

Id10.8.168.235

今日内容

·分支

  1. 昨天遗留的内容-逻辑运算符

0.0逻辑运算符的短路原则

&&

逻辑与的短路原则

条件1&&条件2&&条件3

只要有一个条件为false,整体的结果就为false

如果条件1false,条件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. 密码输入正确

密码正确,选择办理的业务

1:取款 2:存款 3:修改密码

  1. 密码输入错误

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:格式代码

 Codereformat code

使用静态IP

网络和Internet》更改适配器选项》以太网属性》Ipv4》属性

posted @ 2021-07-17 08:47  张三疯321  阅读(55)  评论(0)    收藏  举报