顺序结构、选择结构

顺序结构

  • java的基本结构就是顺序结构,排除特别指明,否则就按照顺序结构一句一句执行。

  • 顺序结构是最简单的算法结构

  • 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构

package javaSE.struct;

public class ShunXUDemo {
   public static void main(String[] args) {
       //顺序结构:从上到下顺序执行
       System.out.println("hello1");
       System.out.println("hello2");
       System.out.println("hello3");
       System.out.println("hello4");
       System.out.println("hello5");
  }
}

 

if选择结构

  • if单选择结构

  • if双选择结构

  • if多选择结构

  • 嵌套的if结构

  • switch多选择结构

 

if单选择结构

  • 语法

if(布尔表达式){

//如果布尔表达式为true将执行的语句

}

package javaSE.struct;

import java.util.Scanner;

public class ifDemo01 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);

       System.out.println("请输入内容:" );
       String str = scanner.nextLine();

       //equals:判断字符串是否相等
       if (str.equals("Hello")){//判断字符串str是否为Hello
           System.out.println(str);//是的话输出str,否则跳过
      }

       System.out.println("END");

       scanner.close();
  }
}

 

if双选择结构

  • 语法:

if(布尔表达式){

//如果布尔值为true

}else{

//如果布尔值为false

}

package javaSE.struct;

import java.util.Scanner;

public class IfDemo02 {
   public static void main(String[] args) {
       //考试分数大于等于60及格,否则不及格
       Scanner scanner = new Scanner(System.in);

       System.out.println("输入成绩");
       int score = scanner.nextInt();//键盘输入的整数赋值给成绩score

       if(score >= 60 ){//如果score>=60,输出及格;否则输出不及格
           System.out.println("及格");
      }else {
           System.out.println("不及格");
      }




       scanner.close();
  }
}

 

if多选择结构

语法:

if(布尔表达式 1){

//如果布尔表达式1的值为true执行代码

}else if(布尔表达式 2){

//如果布尔表达式2的值为true执行代码

}else if(布尔表达式 3){

//如果布尔表达式3的值为true执行代码

}

…………

 

package javaSE.struct;

import java.util.Scanner;

public class IfDemo03 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);

       System.out.println("输出成绩");
       int score = scanner.nextInt();//获得整数数据

       if (score == 100){//判断成绩属于那个区间
           System.out.println("恭喜满分");
      }else if(score < 100 && score >= 90){
           System.out.println("A");
      }else if(score < 90 && score >= 80){
           System.out.println("B");
      }else if(score < 80 && score >= 70){
           System.out.println("C");
      }else if(score < 70 && score >= 60){
           System.out.println("D");
      }else if(score < 60 && score >= 0){
           System.out.println("不及格");
      }else{
           System.out.println("成绩不合法");
      }

       /*
       if语句至多有一个else语句,else语句在所有的else if语句之后
       if语句可以有若干个else if语句,它们必须在else语句之前
       一旦其中一个else if语句检测为true,其它的else if以及else语句都将跳过执行
        */




       scanner.close();
  }
}

 

嵌套的if结构

  • 语法:

if(布尔表达式1){

//若布尔表达式1的值为true执行代码

if(布尔表达式2){

//若布尔表达式2的值为true执行代码

}

}

 

(在一个if里面嵌套另一个if)

 

switch多选择结构

  • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

  • switch 语句中的变量类型可以是:

    • byte、short、int或则char。

    • 从java SE 7 开始 stitch 支持字符串String 类型了,同时case 标签必须为字符串常量或字面量

 

  • 语法:

switch(expression){

case value:

//语句

break;//可选

case value:

//语句

break;//可选

default ://可选

//语句

}

 

package javaSE.struct;

public class SwitchDemo01 {
   public static void main(String[] args) {

       char garde = 'C';//分数garde为C

       //switch 匹配一个具体的值
       //case穿透      
       switch (garde){
           case 'A':
               System.out.println("优秀");
               break;//可选     返回
           case 'B':
               System.out.println("良好");
               break;//可选
           case 'C':
               System.out.println("及格");
               break;//可选
           case 'D':
               System.out.println("不及格");
               break;//可选     没有break会发生case穿透现象
           default:
               System.out.println("其他");
      }


  }
}

 

package javaSE.struct;
//jdk 7以后case可以是字符串
//反编译       java-------class(字节码文件)--------反编译(IDEA)
public class SwitchDemo02 {
   public static void main(String[] args) {
       String name = "唐靈影";

       
       
       switch (name){
           case "士大夫":
               System.out.println("士大夫");
               break;

           case "唐靈影":
               System.out.println("唐靈影");
               break;

           default:
               System.out.println("未知");
      }
  }
}
 
posted @ 2022-05-02 20:41  唐靈影  阅读(147)  评论(0)    收藏  举报