选择分支结构

if选择结构

if选择结构有多种运用方式:单分支if选择结构、双分支if选择结构、多分支if选择结构、if选择结构嵌套。

单分支if选择结构

  语法结构:
               if(条件){
                      代码块
                } 

注意:条件不管多么简单还是多么复杂,都只能为布尔值 。

如果代码块只有一条语句,代码块所在的{}可以省略,但不建议 。

//张浩Java成绩大于90分,老师奖励他iPhone6s ,该怎么做呢?
//声明一个变量javaScore用来存储张浩的Java成绩
		double javaScore = 9;
//根据张浩的java成绩判断他能不能拿到奖励
		if(javaScore>=90){
			System.out.println("奖励一部iPhone6S");
		}
		
		System.out.println("继续努力");

双分支if选择结构

          语法结构:
                   if(条件){
                       代码块1;
                  }else{
                       代码块2;
                  }
  执行规律:
      如果条件为true,执行代码块1,执行完之后,执行if-else结构后面的代码
      如果条件为false,执行else{}里面的代码块2,执行完之后,执行if-else结构后面的代码
 

//如果张浩Java考试成绩大于等于90分,老师就奖励他一个iPhone6s,否则老师就罚他蹲马步
        double javaScore = 9;
		
		if(javaScore>=90){
			System.out.println("奖励iPhone6s");
		}else{
			System.out.println("蹲马步");
		}
		
		System.out.println("继续努力");
		

多重if选择结构

 语法结构:
           if(条件1){
                   代码块1
           }else if(条件2){
                   代码块2
           }else if(条件3){
                   代码块3
           }else if{
         ..............
           }else{
                   代码块n
           }

执行规律:
         (1)先判断条件1,如果条件1为true,执行代码块1,执行完之后结束整个if-else-if结构,执行该结构后面的代码
         (2)如果条件1为false,继续往下判断条件2,如果条件2为true, 执行代码块2,执行完之后结束整个if-else-if结构,执行该结构后面的代码
         (3)如果条件2为false,继续往下判断条件3,如果条件3为true,执行代码块3,执行完之后结束整个if-else-if结构,执行该结构后面的代码
         (4)......
         (5)如果所有的条件都为false,执行else里面的代码块n
 注意:
        (1)条件为布尔值
        (2)else if可以有1个、2个、多个
        (3)else也可以省略,如果所有的条件不成立,也没有else,那么整个if-else-if结构不执行
        (4)多重if选择结构中各个条件的顺序不可以任意排列,要求从上往下由严格到宽松。       

/*
 * 对学员的考试成绩评测
 * 成绩>=80 :良好 
 * 成绩>=60 :中等
 * 成绩<60   :差 
 */
        double javaScore = 95;
		
		if(javaScore>=80){
			System.out.println("良好");
		}else if(javaScore>=60){
			System.out.println("中等");
		}else{
			System.out.println("差");
		}
		
		System.out.println("继续努力");
		

嵌套if选择结构

在一个if选择结构中存在另外一个if选择结构

  语法结构:
               if(条件1){
                  代码块1
                       if(条件2){
                          代码块2
                       }else{
                          代码块3
                       }
              }else{
                  代码块4
              }
执行规律:
            判断条件1,条件1为true,执行代码块1,进一步判断条件2,条件为true,执行代码块2,条件2为false,执行代码块3,执行完之后,结束整个所有的if结构。
            条件1为false,执行下面else里的代码块4。

/*
* 学校举行运动会,百米赛跑跑入10 秒内的学生有资格进决赛,
* 根据性别分别进入男子组和女子组
*/
		
//创建Scanner类对象
Scanner input = new Scanner(System.in);
System.out.println("请输入你的百米赛跑成绩:");
double runScore =input.nextDouble();
//根据成绩判断能不能进入决赛
if(runScore<10){
	System.out.println("恭喜你,进入百米赛跑决赛");
//根据性别判断进入男子组还是女子组
//获取性别
	System.out.println("请输入你的性别:");
	String sex =input.next();
			
//	boolean result =sex.equals("男");
//根据性别判断决定进入男子组还是女子组
	if(sex.equals("男")){
		System.out.println("进入男子组");
	}else if(sex.equals("女")){
		System.out.println("进入女子组");
	}else{
		System.out.println("对不起,暂时还没有针对你的性别开展比赛");
	}
	}else{
		System.out.println("很遗憾,不能进入百米赛跑决赛");
	}

Scanner类的使用:
    第一步:导包
        import java.util.Scanner;或者import java.util.*;
    第二步:创建Scanner类对象
        Scanner input = new Scanner(System.in);
    第三步:获取数据
        int num = input.nextInt();  获取int类型数据
        double num2 = input.nextDouble();  获取double类型数据
        String str= input.next();  获取String类型数据

switch选择结构

  switch(表达式){
              case 常量值1:
                 代码语句;
                 break;
              case 常量值2:
                  代码语句;
                  break;
              case 常量值3:
                  代码语句;
                  break;
             .........
              default:
                  代码语句;
                   break;                                                                                                                                } 

执行规律:
             根据表达式的值,来与case后面的常量值进行匹配
            匹配上哪个常量值,就执行该case里面的代码语句,代码语句执行完,执行break,退出整个Switch选择结构,执行Switch选择结构后面的代码
             如果表达式的值与所有的case常量值不匹配,则执行default里面的代码语句,执行完执行break语句,退出整个Switch选择结构

 注意事项:
             (1)表达式的值可以是int、short、byte、char、枚举类型、String(JDK7及以后版本可以使用)
             (2)case常量值不能相同
             (3)default语句可以在任意位置,一般来说写在最后,也可以省略不写
             (4)break的作用是结束整个Switch选择结构,如果不写,会造成“case穿透”现象,此现象可以合理使用

        /*
		 * 韩嫣参加计算机编程大赛 
		 * 如果第一 名,参加麻省理工大学组织的1个月夏令营 
		 * 如果第二名,奖励惠普笔记本电脑一部 
		 * 如果第三名,奖励移动硬盘一个
		 * 否则,不给任何奖励
		 */
        int mingCi = 1;

		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("继续努力");


         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值