小白学习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;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352