Java中的选择结构

1.if选择结构

  if选择结构是根据条件判断之后再做处理的一种语法结构

  语法:

if(条件){
  代码块 //条件成立之后要执行的代码,可以是一条语句,也可以是一组语句      
}

if选择结构流程图

  if后小括号里的条件是一个表达式,而且表达式的值必须为ture 或 false。

1.1使用基本的if选择结构

  

import java.util.Scanner;
public void GetPrize{          
  Scanner input = new Scanner(System.in);
  System.out.print("请输入成绩");
  int score = input.nextInt();
  if(socre > 98){
      System.out.println("考的不错,奖励");         
    }        
}

  运行结果:请输入成绩:100

       考的不错,奖励

1.2使用复杂条件下的if选择结构

  常用的逻辑运算符

  逻辑运算符

   程序:如果Java成绩大于98分,而音乐成绩大于80分,则奖励;如果Java成绩等于100分,音乐成绩大于70分,也奖励

1 public class GetPrize2(){
2     public static void main(String[] args){
3         int javaScore = 100;
4         int muicScore = 72;
5         if((javaScore > 98 && muicScore > 80) || (javaScore == 100 && muicScore > 70)){    
6             System.out.println("考的不错,奖励");
7       }
8   }
  }

  运行结果:考的不错,奖励

1.3使用if-else选择结构

  

if(条件){
  //代码块1  
}else{
  //代码块2  
}

  if-else结构流程图

  流程图

  程序:如果Java成绩大于98,奖励;否则继续编写代码

 1 public class SimpieIf{
 2   public static void main(String[] args){
 3     int score = 91;
 4     if(score > 91){
 5       System.out.println("考的不错,奖励");
 6     }else{
 7       System.out.println("继续编写代码吧");
 8     }
 9   }
10 }

   运行结果:继续编写代码吧。

1.4多重if选择结构

  语法:

if(条件1){
  //代码块1
}else if(条件2){
  //代码块2
}else{
  //代码块3
}

  多重if选择结构流程图

 流程图

  1)else if 可以有多个或者没有,有几个else if块完全取决于需要

  2)else 块最多有一个或没有,else块必须放在else if块之后

  程序:对学生的成绩进行评测,成绩>=80为良好,成绩>=60为中等,成绩<60为差

 1 public class ScoreAssess{
 2   public static void main(String[] args){
 3     int score = 70;
 4     if(score >= 80){
 5       System.out.println("良好");
 6     }else if(score >= 60){
 7       System.out.println("中等");
 8     }else{
 9       System.out.println("差");
10     }
11   }
12 }

  程序运行结果:中等

1.5嵌套if选择结构

  语法:

if(条件1){
  if(条件2){
    //代码块1
  }else{
    //代码块2
  }
}else{
  //代码块3
}

  嵌套if结构流程图

流程图

  程序:学校举行运动会,百米赛跑成绩在10s内的有资格进入决赛,根据性别分为男子组和女子组

 1 import java.util.*;
 2 public class Runing{
 3   public static void main(String[] args){
 4     Scanner input = new Scanner(System.in);
 5     System.out.print("请输入比赛成绩(s):");
 6     double score = input.nextDouble();
 7     System.out.print("请输入性别:");
 8     String gender = input.next();
 9     if(score < 10){
10      if(gender.equals("男")){
11         System.out.print("进入男子组决赛");
12       }else if(gender.equals("女")){
13         System.out.print("进入女子组决赛");
14       }
15     }else{
16       System.out.print("淘汰");
17     }
18   }
19 }

  运行结果:请输入比赛成绩(s):8

       请输入性别: 男

       进入男子组决赛

  注意:1)只有当满足外层if选择结构的条件时,才会判断内层if的条件

     2)else 总是与他前面最近的缺少 else 的那个 if 相配对

 2.switch选择结构

  语法:

switch(表达式){
  case 常量1:
      //代码块1;
      break;
  case 常量2:
      //代码块2;
      break;
  ... ...
  default:
      //代码块n;
      break;
}

  1)JDK 1.7后,switch 语句小括号里可以是 int、short、byte、char、枚举、String类型表达式

  2)case 后必须是一个常量,数据类型与switch后表达式的值相同,通常是一个固定值,case块可以有多个,顺序可以改变,但每个case后的值必须各不相同

  3)default:其他情况都不满足时执行default。default后要紧跟冒号,default跟case的顺序可以变动,但通常default块放在结尾,也可以省略。

  程序:参加计算机编程大赛:

       如果获得第一名,奖励参加下列营;

       如果获得第二名,奖励惠普笔记本电脑一台;

      如果获得第三名,奖励移动硬盘一个;

      否则没有奖励。

 1 public calss Compete{
 2   public static void main(String[] args){
 3     int rank = 1;
 4     switch(rank){
 5       case 1:
 6         System.out.println("参加夏令营");
 7         break;
 8       case 2:
 9         System.out.println("惠普笔记本");
10         break;
11       case 3:
12         System.out.println("移动硬盘");
13         break;
14       default:
15         System.out.println("没有奖励");
16         break;
17     }
18   }
19 }

  运行结果:参加夏令营

3.选择结构总结

  1)基本if选择结构:可以处理单一或组合条件的情况。

  2)if-else选择结构:可以处理简单的条件分支情况。

  3)多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。

  4)嵌套if选择结构:这种结构一般用于复杂的流程控制中。

  5)switch选择结构:当需要多重分支,并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码结构更清晰易读

原文地址:https://www.cnblogs.com/kilig/p/8278097.html