java基础——分支结构

分支结构

1. if

语法:

if(逻辑表达式) {
        // 在逻辑表达式成立时,想要执行的java代码
}
  • 如果逻辑表达式结果为true, 那么就执行大括号中的java代码

  • 如果逻辑表达式结果为false,那么就不执行大括号中的java代码

package com.qfedu;
​
public class Demo01 {
​
    /*
     *    if(逻辑表达式) {
     *      // 在逻辑表达式成立时,想要执行的java代码
     *    }
     *    
     *    1. 如果逻辑表达式结果为true, 那么就执行大括号中的java代码
     *    2. 如果逻辑表达式结果为false,那么就不执行大括号中的java代码
     *    
     */
    public static void main(String[] args) {
        String season = "冬天";
        
        if(season == "夏天") {
             System.out.println("吃凉皮");
        }
            
        
        System.out.println("程序结束-----");
        
        //定义一个成绩变量,打印是否是满分
                double score=100;
        if(score==100) {
            System.out.println("恭喜,满分");
        }
        System.out.println("结束");
    }
    
}

2. if-else

语法:

if(逻辑表达式) {
  //代码1
} else {
  //代码2
}
  • 如果逻辑表达式结果为true, 那么就执行代码1 , 执行结束后,继续执行后续代码

  • 如果逻辑表达式结果为false, 那么就执行代码2 , 执行结束后,继续执行后续代码

package com.qfedu;
​
public class Demo02 {
​
    
    /*
     * 当出现两种互斥的结果时,我们可以使用if-else
     *  if(逻辑表达式) {
     *    //代码1
     *  } else {
     *    //代码2
     *  }
     * 
     *  1. 如果逻辑表达式结果为true, 那么就执行代码1  , 执行结束后,继续执行后续代码
     *  2. 如果逻辑表达式结果为false, 那么就执行代码2 , 执行结束后,继续执行后续代码
     * 
     * 
     */
    
    public static void main(String[] args) {
        
        int gender = 1 ;  // 0:女  1:男
        
        if(gender == 0) {
            System.out.println("女");
        } else {
            System.out.println("男");
        }
        
        System.out.println("-----");
        
        //定义分数  判断是否及格, 大于等于60 打印及格    小于60就打印不及格
        double score=88;
        if(score>=60) {
            System.out.println("恭喜及格");
        }else {
            System.out.println("不及格");
        }
        
    }
}

3. if-else if-else

语法:

 if(逻辑表达式1) {
    //代码1
 } else if(逻辑表达式2) {
    //代码2
 } else if(逻辑表达式3) {
    //代码3
 }...
     else if(逻辑表达式n) {
    //代码n
 } else {
    //代码n+1
 }
  • 首先进行逻辑表达式1的判断,如果成立,则执行代码1,跳出当前判断代码,执行后续代码

  • 如果 逻辑表达式1 不成立,则进行逻辑表达式2的判断,如果成立 则执行代码2,跳出当前判断代码,执行后续代码

  • 如果 逻辑表达式2 不成立,则进行逻辑表达式3的判断,如果成立 则执行代码3,跳出当前判断代码,执行后续代码

  • ......

package com.qfedu;
​
public class Demo03 {
​
    /*
     * if - else if - ... - else
     * 
     *  if(逻辑表达式1) {
     *      //代码1
     *  } else if(逻辑表达式2) {
     *      //代码2
     *  } else if(逻辑表达式3) {
     *      //代码3
     *  }...
     *     else if(逻辑表达式n) {
     *      //代码n
     *  } else {
     *      //代码n+1
     *  }
     *  
     *  
     *  1. 首先进行逻辑表达式1的判断,如果成立,则执行代码1,跳出当前判断代码,执行后续代码
     *      1.1 如果不成立,则进行逻辑表达式2的判断,如果成立  则执行代码2,跳出当前判断代码,执行后续代码
     *          1.1.1 如果不成立,则进行逻辑表达式3的判断,如果成立  则执行代码3,跳出当前判断代码,执行后续代码
     *          ...
     *          如果所有的if都不成立,则执行代码n+1
     *  
     *  
     *  
     *  
     * 
     */
    public static void main(String[] args) {
        
        int score = 67;
        
        /*
         *  90-100  A
         *  80-90   B
         *  60-80   C
         *  0-60    D
         */
        
        if(score>=90) {
            System.out.println("A");
        } else if (score>=80) {
            System.out.println("B");
        } else if(score>=60) {
            System.out.println("C");
        } else {
            System.out.println("D");
        }
        
        System.out.println("------");
        
        
        /*
         * 年龄
         *   1- 18  未成年
         *   18-30 青年
         *   30-50 中年
         *   50-80 中老年
         *   80-  暮年
         */
            
        int age=25;
        
        if(age>=1&&age<18) {
            System.out.println("未成年");
        }else if(age<=30) {
            System.out.println("青年");
        }else if(age<=50) {
            System.out.println("中年");
        }else if(age<=80) {
            System.out.println("中老年");
        }else{
            System.out.println("暮年");
        }
    }
}
​

4. switch-case

语法:

switch(变量) {
        case 值1: 业务代码1;
        case 值2: 业务代码2;
        case 值3: 业务代码3;
        ...
        case 值n: 业务代码n;
        default:  业务代码n+1;
 }
  • 判断值在哪个case相匹配,那就从哪个case开始执行其定义的业务代码,一直执行到最后

  • 可以使用关键字break,结束当前的swtich判断

  • 变量的数据类型:byte short int char String

package com.qfedu;
​
public class Demo04 {
​
    public static void main(String[] args) {
        
        /*
         * switch(变量) {
         *      case 值1: 业务代码1;
         *      case 值2: 业务代码2;
         *      case 值3: 业务代码3;
         *      ...
         *      case 值n: 业务代码n;
         *      default:  业务代码n+1;
         * }
         * 
         * 1. 判断值在哪个case相匹配,那就从哪个case开始执行其定义的业务代码,一直执行到最后
         * 2. 可以使用关键字break,结束当前的swtich判断
         * 3. 变量的数据类型:byte short int  char String
         */
        
        
        /*
         * 去银行办理业务
         * 1. 个人现金业务
         * 2. 公司业务
         * 3. 对外金融业务
         * 4. 公对公业务
         */
        
        int flag = 3;
        
        if(flag == 1) {
            System.out.println("个人现金业务");
        } else if(flag == 2) {
            System.out.println("公司业务");
        } else if(flag == 3) {
            System.out.println("对外金融业务");
        } else {
            System.out.println("公对公业务");
        }
        
        System.out.println("-----------华丽的分割线-------------");
        
        switch(flag) {
            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("输入错误!");
        }
        
        System.out.println("--------------");
        
        
        String name = "pony";
        
        switch(name) {
            case "jackma": 
                System.out.println("喝龙井");
                break;
            case "pony":
                System.out.println("吃海鲜");
                break;
            case "tomlei":
                System.out.println("吃热干面");
                break;
            default:
                System.out.println("吃海鲜");
        }
        
        // java  技术经理/架构师        前端    高级前端      python  数据专家      数据库   DBA
        String subjects="java";
        switch(subjects) {
        case "java":
            System.out.println("技术经理/架构师");
            break;
        case "前端":  
            System.out.println("高级前端");
            break;
        case "Python":  
            System.out.println("数据专家");
            break;
        case "数据库": 
            System.out.println("DBA");
            break;
        default:
            System.out.println("摆烂");
        }
    }
}

5. 代码示例

​
 class Demo05{
    public static void main(String[] args) {
​
        /*
         * 男      14秒
         * 女      18秒
         */
​
        String gender = "男";
        int second = 15;
        
        if(gender == "男") { 
            
            if(second<=14) {
                System.out.println("及格");
            } else {
                System.out.println("不及格");
            }
            
        } else {  //女
            
            if(second<=18) {
                System.out.println("及格");
            } else {
                System.out.println("不及格");
            }
            
        }
        
        
        /*
         * 国家         温饱线
         * 
         * 中国            200万
         * 挪威            100万
         * 美国            300万
         */
        
        String country="中国";
        int money=100;
        
        if(country=="中国") {
            
            if(money>=200) {
                System.out.println("达到温饱线");
            }else{
                System.out.println("没达到温饱线");
            }
            
        } else if(country=="挪威") {
            
            if(money>=100) {
                System.out.println("达到温饱线");
            }else{
                System.out.println("没达到温饱线");
            }
            
        }else if(country=="美国") {
            
            if(money>=300) {
                System.out.println("达到温饱线");
            }else{
                System.out.println("没达到温饱线");
            }
            
        }
        
    }
}
​
class Demo06{
    public static void main(String[] args) {
        //打印最大值
        int a=3;
        int b=7;
        int c=4;
        
        if(a>b&&a>c) {
            System.out.println(a);
        }else if(b>c) {
            System.out.println(b);
        }else {
            System.out.println(c);
        }
        
        //打印中间值
        int a1=3;
        int b1=7;
        int c1=4;
        
        if((a>b&&a<c)||(a>c&&a<b)) {
            System.out.println(a1);
        }else if((b>a&&b<c)||(b>c&&b<a)) {
            System.out.println(b1);
        }else {
            System.out.println(c1);
        }
        
    }
}
​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值