Java选择结构

 单分支if选择结构代码练习案例

package JavaLearn4;

public class Demo01 {
    /*
     * 单分支if选择结构:
     *       语法结构:
     *           if(条件){
     *               //代码块
     *           }
     *       执行规律:
     *           判断条件的结果:
     *               如果条件为true,执行{}里的代码块,执行完代码块后,继续往下执行if结构后面的代码
     *               如果条件为false,则跳过if结构,执行if结构后面的代码
     *       注意事项:
     *           条件不管写的多么的简单或者多么的复杂,条件的结果只能是布尔值,要么为true,要么为false
     *
     * */

    public static void main(String[] args) {
        //张浩Java成绩大于90分,老师奖励他iPhone6s ,该怎么做呢?

        //首先,将成绩存储在一个变量中
        double javaScore = 3.5;

        //判断成绩是否大于90分
        if(javaScore>90){
            System.out.println("恭喜你,成绩大于90.奖励IPhone6s");
        }

        System.out.println("继续努力");

    }

}
package JavaLearn4;

public class Demo02 {
    public static void main(String[] args) {
        /*
         * 张浩Java成绩大于90分,并且音乐成绩大于80分时,
         * 或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他,该怎么做呢?
         *
         * */

        //首先将Java成绩和音乐成绩存储在变量中
        double javaScore = 100;
        double musicScore = 75;

        //判断能不能得到奖励
        if((javaScore>90&&musicScore>80)||(javaScore==100&&musicScore>70)){
            System.out.println("奖励IPhone6s");
        }

        System.out.println("继续努力");
    }

}

 双分支if选择结构代码练习案例

package JavaLearn4;

public class Demo03 {
    /*
     * 双分支if选择结构(if-else结构)
     *      语法结构:
     *           if(条件){
     *               //代码块1;
     *           }else{
     *               //代码块2
     *           }
     *       执行规律:
     *           判断条件的结果:
     *               如果条件为true,执行代码块1,执行完代码块1,结束if-else结构,继续往下执行if-else结构后面的代码
     *               如果条件为false,执行代码块2,执行完代码块2,结束if-else结构,继续往下执行if-else结构后面的代码
     *       注意事项:
     *           1)条件不管写的多么简单还是多么复杂,都只能是布尔值,要么为true要么为false
     *           2)如果代码块1只有一条语句,{}可以省略不写,建议不要省略
     * */
    public static void main(String[] args) {
        //如果张浩Java考试成绩大于90分,老师就奖励他一个iPhone6s,否则老师就罚他蹲马步

        //首先,将成绩存储在变量中
        double javaScore = 93.5;

        //判断成绩
        if(javaScore>90){
            System.out.println("奖励IPhone6s");
        }else{
            System.out.println("蹲马步5分钟");
        }

        System.out.println("继续努力");

        System.out.println("---------------------------");

        //使用条件运算符完成上述操作

//        String result =javaScore>90?"奖励IPhone6s":"蹲马步5分钟";
//        System.out.println(result);
        System.out.println(javaScore>90?"奖励IPhone6s":"蹲马步5分钟");

    }

}

 多分支if选择结构代码练习案例

package JavaLearn4;
public class Demo04 {
    /*
     * 多分支if选择结构:
     *   语法结构:
     *       if(条件1){
     *           //代码块1;
     *       }else if(条件2){
     *           //代码块2;
     *       }else if(条件3){
     *           //代码块3;
     *       }.....
     *
     *       }else if(条件n){
     *           //代码块n;
     *       }else{
     *           //代码块m;
     *       }
     *   执行规律:
     *       判断条件1:
     *           如果条件1为true,执行代码块1,执行完代码块1,结束这个if-else-if结构,继续往下执行if-else-if结构后面的代码
     *           如果条件1为false,继续判断条件2:
     *               如果条件2为true,执行代码块2,执行完代码块2,结束这个if-else-if结构,继续往下执行if-else-if结构后面的代码
     *               如果条件2为false,继续判断条件3:
     *                   如果条件3为true,执行代码块3,执行完代码块3,结束这个if-else-if结构,继续往下执行if-else-if结构后面的代码
     *                   如果条件3为false,继续判断下面的条件:
     *                       ........
     *                           如果所有的条件都不成立,就执行else里面的代码m,执行完else里面的代码m后,结束这个if-else-if结构,继续往下执行if-else-if结构后面的代码
     *   注意事项:
     *       1)按照顺序从上往下判断条件,一旦条件满足,就执行对应{}里的代码,执行完,就结束if-else-if结构,不再往下判断其它条件
     *       2)如果所有条件不满足,执行else里面的代码。else可以省略不写,当所有条件都不满足,有没有else的时候,if-else-if结构代码不会执行
     *       3)当条件不是完整的两个边界值时,条件是由排列顺序的,严格的条件写在最上面
     *
     * */

    public static void main(String[] args) {
        /*
         * 根据成绩划分等级
         *   >=90 优秀   【90,100】
         *   >=80 良好     【80,90)
         *   >=60 一般
         *   <60 差
         *
         * */

        //将成绩存储在变量中
        double score = 99;

        //对成绩进行判断
        if(score>=90){
            System.out.println("优秀");
        }else if(score>=80){
            System.out.println("良好");
        }else if(score>=60){
            System.out.println("一般");
        }else{
            System.out.println("差");
        }

        System.out.println("继续努力");

    }

}

 equals和==使用区别

package JavaLearn4;

public class Demo05 {

    /*
     * 比较两个字符串的内容是否相同,使用equals()进行比较
     *   使用方式:
     *       字符串变量名.equals(字符串变量家或者字符串),比较的结果是一个布尔值,当两个字符串内容相同时返回true,否则返回false
     *
     *   总结:
     *       比较字符串内容实用equals()
     *       比较两个字符串的内存地址,使用==
     *
     * */

    public static void main(String[] args) {
        String str1 = "大湖名城";
        String str2 = "大湖名城";

        boolean result1 =str1.equals(str2);
        System.out.println("str1和str2变量中存储的内容相同:"+result1);

        boolean result2 =str1.equals("创新高地");
        System.out.println("str1和指定的字符串内容相同:"+result2);

    }

}

 嵌套if选择结构代码练习案例

package JavaLearn4;

import java.util.Scanner;

public class Demo06 {

    /*
     * 嵌套if选择结构:在一个if结构中包含另外一个if结构
     *   语法结构:
     *       if(条件1){
     *           //代码块1;
     *           if(条件2){
     *               //代码块2;
     *           }else{
     *               //代码块3;
     *           }
     *       }else{
     *           //代码块4;
     *           if(条件3){
     *               //代码块5;
     *           }else{
     *               //代码块6;
     *           }
     *       }
     *   执行规律:
     *       判断条件1:
     *           如果条件1为true,进入{}中执行代码块1,然后判断条件2:
     *               如果条件2为true,执行代码块2,执行完代码块2,结束整个嵌套if结构,继续执行嵌套if结构之后的代码
     *               如果条件2为false,执行代码块3,执行完代码块3,结束整个嵌套if结构,继续执行嵌套if结构之后的代码
     *           如果条件1为false,进入else{}中执行代码块4,然后判断条件3:
     *               如果条件3为true,执行代码块5,执行完代码块5,结束整个嵌套if结构,继续执行嵌套if结构之后的代码
     *               如果条件3为false,执行代码块6,执行完代码块6,结束整个嵌套if结构,继续执行嵌套if结构之后的代码
     *   注意事项:
     *       不管结构嵌套多少层,严格按照if结构的执行规律,一层一层的往里面判断条件,根据条件决定执行哪个代码块
     * */

    public static void main(String[] args) {
        //学校举行运动会,百米赛跑跑入10 秒内的学生有资格进决赛,根据性别分别进入男子组和女子组

        //创建Scanner对象用于获取跑步成绩和性别
        Scanner scanner = new Scanner(System.in);

        //获取跑步成绩
        System.out.println("请输入你的百米赛跑成绩:");
        double runScore =scanner.nextDouble();
        //判断成绩是否能进入决赛
        if(runScore<10){
            System.out.println("恭喜你,进入决赛");
            //进入决赛后,根据性别分组,获取性别
            System.out.println("请输入你的性别(男/女):");
            String gender =scanner.next();
            //判断性别,进行分组
            if(gender.equals("男")){
                System.out.println("进入男子决赛组");
            }else if(gender.equals("女")){
                System.out.println("进入女子决赛组");
            }else{
                System.out.println("性别输入错误");
            }
        }else{
            System.out.println("很遗憾,没能进入决赛,继续努力");
        }

        System.out.println("运动员加油");


    }

}

 Math.random(获取随机数)的使用

package JavaLearn4;

public class Demo07 {

    public static void main(String[] args) {
        //获取随机数使用Math.random()实现

        //Math.random():随机返回一个[0.0,1.0)之间的double类型的数据
        double num1 =Math.random();//Math这个java文件在java.lang包中,按理来说需要导包,但是在这里不需要导包,因为系统默认会将java.lang包中的类导入java虚拟机中
        //System.out.println(num1);

        //Math.random()*10:随机返回一个[0.0,10.0)之间的double类型的数据
        double num2 =Math.random()*10;
        //System.out.println(num2);

        //(int)(Math.random()*10):随机返回一个[0,10)之间的int类型的数据
        int num3 =(int)(Math.random()*10);
        System.out.println(num3);

        //随机获取一个[29,42)之间的int类型的数据
        int num4 =(int)(Math.random()*(42-29)+29);
        System.out.print(num4+" ");

        //随机获取一个[num1,num2)(num2大于num1)之间的int类型的数据
        //(int)(Math.random()*(num2-num1)+num1);


    }

}
package JavaLearn4;

import java.util.Scanner;

public class Demo08 {

    public static void main(String[] args) {
        //抽奖规则:会员号的百位数字等于产生的随机数字即为幸运会员

        //创建Scanner对象用来获取键盘输入的数据:会员卡号
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入你的会员卡号:");
        int cardNum = scanner.nextInt();

        //获取会员卡的百位数字
        int baiWei = cardNum/100%10;

        //获取随机数
        int num = (int)(Math.random()*10);

        //判断会员卡的百位数字与随机数是否相同,相同则中奖,否则没有中奖
        if(baiWei==num){
            System.out.println("恭喜你,中奖了");
        }else{
            System.out.println("很遗憾,没有中奖,谢谢惠顾");
        }
    }

}

switch选择结构代码练习案例 

package JavaLearn4;

public class Demo09 {

    /*
     * switch选择结构:
     *       语法结构:
     *           switch(表达式){
     *               case 值1:
     *                   代码块1;
     *                   break;
     *               case 值2:
     *                   代码块2;
     *                   break;
     *               .......
     *               case 值n:
     *                   代码块n;
     *                   break;
     *               default:
     *                   代码块m;
     *                   break;
     *           }
     *       执行规律:
     *           首先计算表达式的值,然后拿表达式的值与case后面的值进行匹配,表达式的值与哪个case的值相同,就执行相应的代码块,代码块执行完,执行break,结束整个switch结构,继续往下执行switch结构后面的代码
     *           如果表达式的值与所有的case值都不相同,就执行default里面代码块,执行完代码块执行break,结束整个Switch结构,继续往下执行Switch结构后面的代码
     *       注意事项:
     *           1)表达式值的类型可以是int、short、byte、char、枚举类型、String(JDK1.5版本之后)
     *           2)case后面的值不能相同,相同会报错
     *           3)每个case里面的break的作用是退出switch结构,可以省略不写,省略不写会造成“case穿透”现象
     *           4)default语句是当表达式的值与所有case值不相同时执行的代码,它可以写在任意位置,一般写在末尾。default语句也可以省略不写,省略不写,如果表达式的值与所有case值不相同,那么switch结构就不会执行
     *
     * */

    public static void main(String[] args) {
        /*
         * 韩嫣参加计算机编程大赛
         * 如果第一名,参加麻省理工大学组织的1个月夏令营
         * 如果第二名,奖励惠普笔记本电脑一部
         * 如果第三名,奖励移动硬盘一个
         * 否则,不给任何奖励
         * */
        int mingCi =1;
        if(mingCi==1){
            System.out.println("参加麻省理工大学组织的1个月夏令营");
        }else if(mingCi==2){
            System.out.println("奖励惠普笔记本电脑一部");
        }else if(mingCi==3){
            System.out.println("奖励移动硬盘一个");
        }else{
            System.out.println("不给任何奖励");
        }

        System.out.println("-------------------------");

        switch(mingCi){
            case 1:
                System.out.println("参加麻省理工大学组织的1个月夏令营");
                break;
            case 2:
                System.out.println("奖励惠普笔记本电脑一部");
                break;
            case 3:
                System.out.println("奖励移动硬盘一个");
                break;
            default:
                System.out.println("不给任何奖励");
                break;
        }

        System.out.println("继续努力");

    }

}

 case穿透现象的使用

package JavaLearn4;

public class Demo10 {

    //case穿透现象的使用
    public static void main(String[] args) {
        //根据月份输出季节  12 1 2 冬季、3 4 5 春季、6 7 8 夏季、9 10 11 秋季

        int month = 4;

        switch (month){
            case 12:

//                System.out.println("冬季");
//                break;
            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;
            case 8:
                System.out.println("夏季");
                break;
            case 9:
//                System.out.println("秋季");
//                break;
            case 10:
//                System.out.println("秋季");
//                break;
            case 11:
                System.out.println("秋季");
                break;
        }



    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值