Java顺序结构,选择结构
顺序结构
- 
JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行 
- 
顺序结构就是最简单的算法结构 public class Demo {
 public static void main(String[] args) {
 System.out.println("halle1");
 System.out.println("halle2");
 System.out.println("halle3");
 System.out.println("halle4");
 }
 }

也是因为最简单都很容易忽略的一个结构
- 
语句与语句之间,框与框之间是按从上到下的顺序进行,它是由若干个依次执行的处理步骤组成的,**它是任何一个算法都离不开的一种基本算法结构 
选择结构
- 
if单选结构 
- 
if双选结构 
- 
if多选结构 
- 
嵌套的if结构 
- 
switch多选结构 
if单选结构
- 
我们很多时候需要去判断一个东西是否可执行,然后我们才去执行,这样一个过程中用if语句来表示 
- 
语法: if(布尔表达式){
 //如果不二表达式为true将执行这个语句
 }
我们在代码中演示一下,我们判断一下如果输出字符Hello,则输出如果不是则输出End
import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        String s = scanner.nextLine();
        //equals:判断字符串是否相等
        if(s.equals("Hello")){
            System.out.println(s);
        }
        System.out.println("End");
        scanner.close();
    }
}
if双选结构
- 
现在有一个需求,需要判断一个学生的成绩是否及格小于60分为不及格,大于等于六十分为及格。我们需要有两个判断,需要一个双选择结构,所以就有了if else结构 
- 
语法: if(布尔表达式){
 //如果布尔表达式为true执行该语句
 }else{
 //如果布尔表达式为false执行该语句
 }
我们来实现一下这个需求
import java.util.Scanner;
public class Demo{
    public static void main(String[] args) {
        //考试分数大于六十分就是及格小于六十就是不及格
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入分数");
        double v = scanner.nextDouble();
        if(v<60){
            //判断分数小于六十为不及格
            System.out.println("不及格");
        }else{
            //否则为及格
            System.out.println("及格");
        }
        scanner.close();
    }
}
if多选结构
- 
我们发现刚才的代码不符合实际情况,真是的情况我们还可能存在优,良,中,差,存在区间多级判断。比如100为满分,80~100为优等等,在生活中很多时候我们的选择也不仅仅有两个,所以我们需要一个多项选择结构来处理这类问题 
- 
语法: if(布尔表达式1){
 //如果布尔表达式1的值为true执行代码
 }else if(布尔表达式2){
 //如果布尔表达式2的值为true执行代码
 }else if(布尔表达式3){
 //如果布尔表达式3的值为true执行代码
 }else{
 //以上布尔表达式都不为true则执行该代码
 }
我们来改进一下上一个需求
import java.util.Scanner;
public class IfDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入分数");
        double v = scanner.nextDouble();
        if(v==100){
            //输入100输出恭喜满分
            System.out.println("恭喜满分");
        }else if(v>=80&&v<100){
            //80~100输出优
            System.out.println("优");
        }else if(v>=60&&v<80){
            //60~80输出良
            System.out.println("良");
        }else if(v>=0&&v<60) {
            //0~60不及格
            System.out.println("不及格");
        }else {
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}
这样我们输入相应的数据就可以得到更为准确的判断
注意
- 
if语句至多有一个 else 语句,else 语句是在所有的 else if 语句之后 
- 
if语句可以有若干个 else if 语句,他们必须在 else 语句之前,一旦其中一个 else if 语句检测为 true 。其他的 else if 和 else 语句都将跳过执行 
- 
为了我们的程序更严谨我们需要多个判断以减少bug 
嵌套的if结构
- 
使用if...else 语句是合法的。也就是说你可以在另一个 if 或者 else if 中使用 if 或者 else if 语句,你可以像 if 语句一样嵌套 else if ...else 
- 
语法: if(布尔表达式1){
 //如果布尔表达式1的值为true执行代码
 if(布尔表达式2){
 //如果布尔表达式2的值为true执行代码
 }
 }
switch多选择结构
- 
多选择结构还有一个实现方式就是switch case 语句 
- 
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支,也就是在switch中输入一个值,他与下面某一个case相等就输出它后面的语句,中间用break隔开,如果中间没有break,它会把后面case中的语句都输出,没有一个case中的值满足就输出default中的语句 
- 
语法: switch(expression){
 case value:
 //语句
 break;//可选
 case value:
 //语句
 break;//可选
 //你可以有任意数量的case语句
 default://可选
 //语句
 }演示,我们定义一个字符当字符输入a时输出优秀,b时输出良好,c时输出及格,d时输出再接再励,e时输出挂科,如果不是输入这些则输出未知 public class IfDemo04 {
 public static void main(String[] args) {
 //case 穿透 如果没有break 它匹配到之后会一直输出
 char grade = 'a';
 //switch匹配一个具体的值
 switch (grade){
 case 'a':
 System.out.println("优秀");
 break;//可选
 case 'b':
 System.out.println("良好");
 break;//可选
 case 'c':
 System.out.println("及格");
 break;//可选
 case 'd':
 System.out.println("再接再励");
 break;//可选
 case 'e':
 System.out.println("挂科");
 break;//可选
 default:
 System.out.println("未知");
 }
 
 }
 }
- 
switch 语句中的变量类型可以是: 
- 
byte,short,int或者char 
- 
从Java SE 7开始 
- 
switch 支持字符串String 类型了 
- 
同时case标签必须为字符串常量或者字面量 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号