小白学习Java开发的第三天

本节内容为昨天未讲完的内容

本节知识大纲:

运算符优先级

运算符的优先级:
= 赋值最低 扩展运算符
条件
1:算数 > 关系 > 逻辑 > 三目 >赋值
2: 单目>双目>三目
3:加括号

流程控制

顺序结构:程序进入主方法之后依次执行里面的代码。
选择结构:if switch
循环结构:while do-while for

选择结构

if

单分支

/**
if:
单分支:
语法结构:
    if(表达式.boolean值){
    执行语句;
    }
执行顺序:
    1:判定表达式的值,如果表达式的值为true执行对应的执行语句。
    2:表达式值是false 整个if语句都不执行。
注意事项:
    当if分支中存在单条语句时可以省略大括号。
    当整个if的表达式无论真假,执行之后都会执行后续代码。
    以后多大数的逻辑不单单只有两种情况,有待加强。
    单分支结构永远只能保证一种情况下会做什么操作。
*/
public class Demo01{
    public static void main(String[] args){
        if(4<3){
        //System.out.println("我被执行了 if执行语句");
        System.out.println("3");
        }
        System.out.println("我是main方法中的执行语句");
    }
}

双分支

/**
if:
    双分支:
    语法结构:
        if(boolean值表达式){
        执行语句1;
        }else{
        执行语句2;
        }
    执行顺序:
        1:判定表达式的结果,如果表达式的结果是true执行对应的执行语句1。
        2:如果表达式的结果是false 那么执行对应的执行语句2。
    注意事项:
        可以省略大括号只要保证执行语句只有一行即可。
        整个判定结果结束执行,执行语句执行之后继续执行后续代码。
*/
public class Demo02{
    public static void main(String[] args){
        //猜数小游戏
        //声明一个变量存放结果
        int result = 29;
        //声明一个变量模拟存放用户输入的值
        int inputNum = 30;
        //String msg = result==inputNum?"恭喜你猜对了":"捞。。。";
        //System.out.println(msg);
        if(result==inputNum){
        System.out.println("恭喜你猜对了");
        }else{
        System.out.println("捞。。。");
        }
        System.out.println("哈哈哈啊哈");
    }
}

多分支

/**
if:
    多分支:
        语法结构:
            if(表达式1){
            执行语句1;
            }else if(表达式2){
            执行语句2;
            }else if(表达式3){
            执行语句3;
            }else if(表达式4){
            执行语句4;
            }................{
            }else{
            执行语句n;
            }
        执行顺序:
            1:判定表达式的结果,如果表达式的结果是true,执行对应的执行语句。整个多分支结果执行结束。
            2:依次判定后续的else if,只要有一个判定结果是true,那么整个多分支结束。
            3:如果所有的判定条件都为假,执行最后的else内容。
        注意事项:
            与双分支类似
                随机生成一个分数,查看分数所在的分段。
                90以上 --> 王者
                80以上 --> 大师
                70以上 --> 钻石
                60以上 --> 铂金
                其它 --> 倔强青铜
                
                生成一个[20-99]之间的整数
                Math.random();-->[0,1)*99;
                [0,99)(int)(Math.random()*最大数)
                [0,99](int)(Math.random()*最大数+1)
                [20,99] Math.random()*80+20
                [min,max] Math.random()*(max-min+1)+min;
*/
public class Demo03{
    public static void main(String[] args){
        // 判定分数:
        int score =(int)(Math.random()*80+20);
        System.out.println("score="+score);
        if(score>=90){
        System.out.println("王者");
        }else if(score>=80){
        System.out.println("大师");
        }else if(score>=70){
        System.out.println("钻石");
        }else if(score>=60){
        System.out.println("铂金");
        }else{
        System.out.println("你的水平可能不适合这个游戏");
        }
    }
}

switch

语法结构

    switch(表达式){
    case 值1:
    执行语句1;
    break;
    case 值2:
    执行语句2;
    break;
    case 值3:
    执行语句3;
    break;
    .......
    default:
    执行语句3;
    }
首先计算switch中的表达式的值然后依次匹配对应的case,如果匹配成功,执行对应的执行语句这里注意要通过break防止穿透。
如果所有的case都不匹配执行最后的default

注意事项

1:防止case穿透
2: 利用case穿透做些文章
3: 将没有罗列出来的情况通过default去编写
4: switch只能做等值判定 if可以做区间判定
5: default位置可以任意 一般放到最后
6: switch表达式值不能是long float double boolean 类型
    jdk1.5之后允许switch中存放枚举类型enum
    jdl1.7之后允许switch中存放String类型
    保证case也是String类型
    jdk12之后 修改switch的写法-->扩展练习

代码样例

public class Demo04{
    public static void main(String[] args){
        //声明一个月份
        //int month = 9;//(int)(Math.random()*20+1);
        //输出月份
        //System.out.println(month);
        String l = "12";
        switch(l){
        case 3:
        case 4:
        case 5:
        System.out.println("春天在哪里");
        break;
        case 6:
        case 7:
        case 8:
        System.out.println("夏天夏天悄悄过去留下小秘密");
        break;
        case 9:
        case 10:
        case 11:
        System.out.println("就让秋风带走我的思念");
        break;
        case 12:
        case 1:
        case 2:
        System.out.println("你就像冬天里的一把火");
        break;
        default:
        System.out.println("你眼睛卡吗?");
        break;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。