Java学习(三)选择结构语句

单if语句

单if语句格式

if ( ){ //括号内为条件表达式
语句块; //满足上面判断的条件,则会输出这句话
}

单if语句执行流程图 

单if语句例子 

public class Ex1 {
    public static void main(String[] args) {
        System.out.println("我想买一台iPhone16ProMax");
        System.out.println("别人告诉我大学生买东西打五折");
        int age = 17;
        if (age>18){
            System.out.println("店员和我说,你脸真大还想打五折");
        }
        System.out.println("走到店门口我听到别人被骗,不买了回家");
    }
}

 PS:满足if语句括号里的判断条件,输出花括号里面的语句体

若不满足则不执行花括号内的语句体,输出后面的语句体

标准if-else语句

标准if-else语句格式

if ( ){ //括号内为条件表达式
语句块1; //满足条件表达式的条件,则会输出语句块1
}else{
语句块2; //不满足则会输出语句块2
}

标准if-else语句执行流程图 

标准if-else语句例子

public class Ex1 {
    public static void main(String[] args) {
        int age = 21;
        if (age >= 18){
            System.out.println("你是一个成年人");
        }else{
            System.out.println("小朋友你好呀");
        }
    }
}

if…else if…else语句

if…else if…else语句格式

if…else if…else语句例子

/*
* 题目:请给你们当地今天的气温,取一个有趣的英文名
* 0℃以下→ICE
* 0℃-15℃→COLD
* 16℃-25℃→GREAT
* 26℃-40℃→HOT
* 40℃以上→Oh My God
*/
public class Ex1 {
    public static void main(String[] args) {
        double temperature = 40.0;
        if (temperature >40){
            System.out.println("Oh My God");
        } else if (temperature >=26 && temperature<=40) {
            System.out.println("HOT");
        } else if (temperature >=16 && temperature<=25) {
            System.out.println("GREAT");
        } else if (temperature >=0 && temperature<=15) {
            System.out.println("COLD");
        } else {
            System.out.println("ICE");
        }
    }
}
/*
 * 题目:指定考试成绩,判断成绩的等级
 * 90-100→优秀
 * 80-89→良好
 * 70-79℃→一般
 * 60-69→及格
 * 40℃以上→Oh My God
 */
public class Ex1 {
    public static void main(String[] args) {
        int score = 0;
        if (score >= 90 && score <= 100){
            System.out.println("优秀");
        } else if (score >= 80 && score <=89) {
            System.out.println("良好");
        } else if (score >= 70 && score <= 79) {
            System.out.println("一般");
        } else if (score >= 60 && score <= 69) {
            System.out.println("及格");
        } else if (score >= 0 && score <60){
            System.out.println("不及格");
        } else {
            System.out.println("数据有误,请与任课老师联系");
        }
    }
}

三元运算符


三元运算符语法

类型 变量名 = (条件表达式)? 表达式1:表达式2;
( )括号内进行逻辑运算,结果为布尔值,当值为true时返回表达式1的值给左边的变量,当括号内值为false时则返回表达式2的值给左边的变量。
注意:
1、表达式1与表达式2的类型要求是一致的,左边的变量名不要求一致,可以通过强制转换达到变换类型的目的。
2、三元运算可以嵌套使用,表达式1可以是一个新的三元运算,只要其返回值类型与表达式2一致即可。
3、凡是三元运算均可以转换为if-else,但是反过来不一定可以。

 三元运算符例子

//两个数求最大值——复杂版
public static void main(String[] args) {
        int a=1;
        int b=2;
        if(a>b){
            System.out.println(a);
        }
        if(b>a){
            System.out.println(b);
        }
    }
//两个数求最大值——简单版
    public static void main(String[] args) {
        int a=1;
        int b=2;
        int c=(a>=b)?a:b;
        System.out.println(c);
        }

//三个数求最大值
public static void main(String[] args) {
    int a=1;
    int b=2;
    int c=3;
    int d=((a>b)?((a>c)?a:c):((b>c)?b:c));
    System.out.println(d);
}
第一层判断: a > b

如果 a 大于 b,则进入第一部分 ((a > c) ? a : c)。
如果 a 不大于 b,则进入第二部分 ((b > c) ? b : c)。
第二层判断(在第一层为真时): a > c

如果 a 大于 c,则 d 的值为 a。
否则,d 的值为 c。
第二层判断(在第一层为假时): b > c

如果 b 大于 c,则 d 的值为 b。
否则,d 的值为 c。

Switch语句

Switch语句格式

Switch语句执行流程图

首先,先计算出表达式的值。
其次,和case依次比较,一旦有比较的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行defalut语句体部分,整个程序结束。

Switch语句例子

public class Ex1 {
    public static void main(String[] args) {
        int num = 1;
        switch (num){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("数据有误");
                break;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值