02-顺序结构与选择结构

顺序结构与选择结构


顺序结构

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

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

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

    复制代码
     1  package xiaoka.struct;
     2  3  public class ShunXuDemo {
     4      public static void main(String[] args) {
     5          System.out.println("hello1");
     6          System.out.println("hello2");
     7          System.out.println("hello3");
     8          System.out.println("hello4");
     9          System.out.println("hello5");
    10      }
    11  }
    复制代码

     


选择结构

  • if 单选择结构

    • 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if 语句来表示

    • 语法:

       
      1 if (布尔表达式){
      2      // 如果布尔表达式为true 将执行的语句
      3  }

       

       
      复制代码
       1 package xiaoka.struct;
       2  3  import java.util.Scanner;
       4  5  public class IfDemo01 {
       6      public static void main(String[] args) {
       7          Scanner scanner = new Scanner(System.in);
       8  9          System.out.println("请输入内容:");
      10          String s = scanner.nextLine();
      11 12          // equals:判断字符是否相等
      13          if (s.equals("hello")) {
      14              System.out.println(s);
      15          }
      16 17          System.out.println("End");
      18          scanner.close();
      19      }
      20  }
      复制代码

       

       

  • if 双选择结构

    • 假如现在有这样一个需求,公司要收购一个软件,成功了会支付100万元,失败了,自己找人开发。这样子的需求用一个if 就搞不定了,需要有两个判断,需要一个双选择结构,所以就有了if-else结构

    • 语法:

       
      1 if (布尔表达式) {
      2      //如果布尔表达式的值为true
      3  }else{
      4      //如果布尔表达式的值为false
      5  }

       

       
      复制代码
       1 package xiaoka.struct;
       2  3  import java.util.Scanner;
       4  public class IfDemo02 {
       5      public static void main(String[] args) {
       6          //考试分数大于60分就是及格,小于60分就是不及格
       7          Scanner scanner = new Scanner(System.in);
       8  9          System.out.println("请输入成绩:");
      10          int score = scanner.nextInt();
      11 12          if (score>=60){
      13              System.out.println("及格");
      14          }else {
      15              System.out.println("不及格");
      16          }
      17 18          scanner.close();
      19      }
      20  }
      复制代码

       

       

  • if 多选择结构

    • 真实的情况还可能存在ABCD, 存在区间多级判断. 比如90-100为A, 80-90为B...等等, 在生活中我们很多时候的选择也不仅仅只有两个, 所以我们需要一个多选择结构来处理这些问题

    • 语法:

       
      复制代码
      1 if (布尔表达式 1){
      2      //如果布尔表达式1的值为true时执行的代码
      3  }else if(布尔表达式 2){
      4      //如果布尔表达式2的值为true时执行的代码
      5  }else if(布尔表达式 3){
      6      //如果布尔表达式3的值为true时执行的代码
      7  }else{
      8      //如果以上布尔表达式的值都不为true时执行代码
      9  }
      复制代码

       

       
      复制代码
       1 package xiaoka.struct;
       2  3  import java.util.Scanner;
       4  public class IfDemo03 {
       5      public static void main(String[] args) {
       6          //考试分数大于60分就是及格,小于60分就是不及格
       7          Scanner scanner = new Scanner(System.in);
       8  9          /*
      10          if 语句至多有一个else 语句,else 语句在所有的else if语句之后
      11          if 语句可以有若干个else if 语句,它们必须在else 语句之前.
      12          一旦其中一个else if语句检测为true, 其他的else if 语句以及else 语句都将跳过此执行.
      13           */
      14          System.out.println("请输入成绩:");
      15          int score = scanner.nextInt();
      16 17          if (score==100){
      18              System.out.println("恭喜满分");
      19          }else if (score<100 && score>=90){
      20              System.out.println("A级");
      21          }else if (score<90 && score>=80){
      22              System.out.println("B级");
      23          }else if (score<80 && score>=70){
      24              System.out.println("C级");
      25          }else if (score<70 && score>=60){
      26              System.out.println("D级");
      27          }else if (score<60 && score>=0){
      28              System.out.println("不及格");
      29          }else {
      30              System.out.println("成绩不合法");
      31          }
      32 33          scanner.close();
      34      }
      35  }
      复制代码

       

       

  • 嵌套的if 结构

    • 使用嵌套的if...else 语句是合法的. 也就是说可以在一个if 或者else 语句里使用另一个if 或else 语句.可以像if 语句一样嵌套 else if...else.

    • 语法:

       
      1 if (布尔表达式1 ){
      2      //如果布尔表达式1 的值为true执行代码
      3      if(布尔表达式2 ){
      4          //如果布尔表达式2 的值为true执行代码
      5      }
      6  }

       

       

  • switch 多选择结构

    • 多选择结构还有一个实现方式就是switch case语句.

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

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

      • byte, short, int 或者 char.

      • 从Java SE 7开始

      • switch 支持字符串String 类型了

      • 同时case 标签必须为字符串常量或字面量

      • 语法:

         
        复制代码
         1 switch(expression) {
         2      case value:
         3          //语句
         4          break;//可选
         5      case value:
         6          //语句
         7          break;//可选
         8      //你可以有任意数量的case语句
         9      default ://可选
        10          //语句
        11  }
        复制代码

         

         
        复制代码
         1 package xiaoka.struct;
         2  3  public class SwitchDemo01 {
         4      public static void main(String[] args) {
         5          //输出语句后面不加break的话,会出现case穿透现象
         6          //switch 匹配一个具体的量
         7          char grade = 'A';
         8          switch (grade){
         9              case 'A':
        10                  System.out.println("优秀");
        11                  break;//可选
        12              case 'B':
        13                  System.out.println("良好");
        14                  break;//可选
        15              case 'C':
        16                  System.out.println("及格");
        17                  break;//可选
        18              case 'D':
        19                  System.out.println("再接再厉");
        20                  break;//可选
        21              case 'E':
        22                  System.out.println("挂科");
        23                  break;//可选
        24              default:
        25                  System.out.println("未知等级");
        26          }
        27 28      }
        29  }
        复制代码

         

         
        复制代码
         1 package xiaoka.struct;
         2  3  public class SwitchDemo02 {
         4      public static void main(String[] args) {
         5          String name = "itach";
         6          //JDK7 的新特性,表达式结果可以是字符串
         7          //字符串的本质还是数字
         8  9          // 反编译  java---class (字符串文件)---反编译 (IDEA)
        10 11          switch (name){
        12              case "小卡":
        13                  System.out.println("小卡最帅");
        14                  break;
        15              case "naruto":
        16                  System.out.println("梦想是成为火影");
        17                  break;
        18              case "itach":
        19                  System.out.println("お前の敗北、それが俺の現実だ");
        20                  break;
        21              default:
        22                  System.out.println("搞🔨哦");
        23          }
        24      }
        25  }
        复制代码

         

posted @   小carlos  阅读(89)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示