if判断,switch语句

if ; else if; else; 判断操作:

格式示例:

public class scanner {
    public  static void main(String[] args){
        int a = 3;
        int b = 23;

        if (a ==1){
            System.out.println(a);
        }
        else if(b ==2){
            System.out.println(b);
        }
        else {
            System.out.println(a+b);
        }

    }
}

三元表达式和if语句的差别:

区别:
三元运算符实现的,都可以采用if语句实现。反之不成立。

什么时候if语句实现不能用三元改进呢?
当if语句控制的操作是一个输出语句的时候就不能。
为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

Switch语句:

格式及解释:

    switch语句格式:
        switch(表达式) {
            case 值1:
                语句体1;
                break;
            case 值2:
                语句体2;
                break;
            ...
            default:
                语句体n+1;
                break;
        }
        
    格式的解释:
        switch:表示这是switch选择结构
        表达式:这个地方的取值是有限定的
            byte,short,int,char
            JDK5以后可以是枚举
            JDK7以后可以是字符串
        case:后面跟的是要和表达式进行比较的值
        语句体:要执行的代码
        break:表示中断,结束的意思,可以控制switch语句的结束。
        default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。

示例:

class SwitchDemo {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        
        //控制键盘录入数据
        System.out.println("请输入一个数据(1-7):");
        int week = sc.nextInt(); //3
        
        //switch判断语句
        switch(week) {
            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;
        }
    }
}

需要注意的地方:

break省略容易发生穿透现象:

case 3:
    System.out.println("星期三");
                
case 4:
        System.out.println("星期四");
    break;  
//这种就是穿透,当3进行匹配完毕,打印星期三,然后打印星期四,case 4匹配不生效。

case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

default一般放在末尾的位置。

if和switch的区别:

if使用的场景:

1.针对结果是boolean类型的判断

2.针对一个范围的判断

3.针对几个常量值的判断

switch语句:

针对几个常量值的判断

猜你喜欢

转载自www.cnblogs.com/taozizainali/p/10588490.html