java基础学习:流程控制--if,switch分支

一.1.顺序结构

     2.分支结构

     3.循环结构

二.if,switch分支

     1.if分支:

 

 

   2.switch

 

3.switch使用时注意事项:

 

package com.itheima.Branch;

public class Branch3 {
    public static void main(String[] args) {
        //目标:搞清楚switch实用时的几点注意事项
        //1.表达式只能是byte,short,int,char,JDK5开始支持枚举,JDK7开始支持String,不支持double,float,long
        int a=10;
        double b=1.0;
        //switch(b){}   ncompatible types. Found: 'double', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum'
        double a1=0.1;
        double a2=0.2;
        double a3=a1+a2;
        System.out.println(a3);//a3为0.30000000000000004 这是java自身计算精度的问题

        //2.case给出的值不允许重复,且只能是字面量,不能是变量
        int i=20;
        int d=10;
        switch(i){
            //case d:   Constant expression required
            //    break;
            case 21:
                break;
        }




        //3.正常实用switch的时候,不要忘记写break,否则会出现穿透现象

        String week1="周2";
        switch (week1){
            case"周一":
                System.out.println("111");
                break;
            case"周2":
                System.out.println("222");
                //break;
            case"周三":
                System.out.println("333");
                break;
            case"周4":
                System.out.println("444");
                break;
            default:
                System.out.println("不存在");
        }
        //以上代码输出结果为 222 333,因为出现了穿透现象,直接过了break没停下来又继续执行代码了

    }
}

4.利用switch穿透性来简化代码

 

package com.itheima.Branch;

public class Branch4 {
    public static void main(String[] args) {
        String week="周二";
        switch (week){
            case"周一":
                System.out.println("埋头苦干,解决bug");
                break;
            case"周二":
            case"周三":
            case"周四":
                System.out.println("请大牛程序员帮忙");
                break;
            case"周五":
                System.out.println("自己整理代码");
                break;
            case"周六":
            case"周日":
                System.out.println("打游戏");
                break;
            default:
                System.out.println("不存在");
        }
    }
}

 

posted @ 2023-11-28 16:53  小彭先森  阅读(13)  评论(0编辑  收藏  举报