分支结构:基于条件执行语句

 IF 

- if结构:1条路

     - 语法:

          if(boolean){
                语句块
           }   

     - 执行过程:

       ​    判断boolean的值:
       ​         若为true,则执行语句块1(if整个结束)
       ​         若为false,则if直接结束

   ```java
     //1)偶数的判断:
     int num = 5;  //带数(6,5)
     if(num%2==0){
         System.out.println(num+"是偶数");
     }
     System.out.println("继续执行...");
     
     //2)满500打8折:
     double price = 300.0; //消费金额  带数(600.0,300.0)
     if(price>=500){ //满500
         price *= 0.8; //打8折
     }
     System.out.println("最终结算金额为:"+price);
     
     //3)判断年龄是否在18到50之间,若满足则输出:"满足条件"
     int age = 88;  //带数(25,5,88)
     if(age>=18 && age<=50){
         System.out.println("年龄满足条件");
     }
     System.out.println("继续执行...");

   - if...else结构:2条路

     - 语法:

       ​    if(boolean){
       ​         语句块1
       ​    }else{
       ​         语句块2
       ​    }

     - 执行过程:

       ​    判断boolean的值:
       ​         若为true,则执行语句块1(整个结束)
       ​         若为false,则执行语句块2(整个结束)

     - 说明:

       ​    语句块1和语句块2,必走其中之一------------2选1

     //1)偶数、奇数的判断:
     int num = 5;  //带数(6,5)
     if(num%2==0){
         System.out.println(num+"是偶数");
     }else{
         System.out.println(num+"是奇数");
     }
     System.out.println("继续执行...");
     
     //2)满500打8折,不满500打9折:
     double price = 300.0;  //带数(600.0,300.0)
     if(price>=500){ //满500
         price *= 0.8;
     }else{ //不满500
         price *= 0.9;
     }
     System.out.println("最终结算金额为:"+price);
     
     //3)判断成绩是否合法,合法则输出"该成绩合法",否则输出"该成绩不合法":
     int score = 560; //带数(95,-90,560)
     if(score<0 || score>100){
         System.out.println("该成绩不合法");
     }else{
         System.out.println("该成绩合法");
     }
     System.out.println("继续执行...");

  - if...else if结构:多条路

     - 语法:

          if(boolean-1){
            语句块1
          }else if(boolean-2){
            语句块2
          }else if(boolean-3){
            语句块3
          }else{
            语句块4
          }

     - 执行过程:

          判断boolean-1,若为true则执行语句块1(结束),若为false则
          再判断boolean-2,若为true则执行语句块2(结束),若为false则
          再判断boolean-3,若为true则执行语句块3(结束),若为false则    执行语句块4(结束)

     - 说明:

          语句块1/2/3/4,只能执行其中之一------------多选1
 

    public class ScoreLevel {
         public static void main(String[] args) {
             Scanner scan = new Scanner(System.in);
             System.out.println("请输入成绩:");
             double score = scan.nextDouble();
     
             //带数(-25,888,95,85,65,45)
             if(score<0 || score>100){
                 System.out.println("成绩不合法");
             }else if(score>=90){ //合法
                 System.out.println("A-优秀");
             }else if(score>=80){
                 System.out.println("B-良好");
             }else if(score>=60){
                 System.out.println("C-中等");
             }else{
                 System.out.println("D-不及格");
             }
         }
     }

switch

   - switch...case结构:多条路

     优点:效率高、结构清晰

     缺点:只能对整数判断相等

     break:跳出switch

    switch可以作用于什么类型的数据上?byte,short,int,char,String,枚举类型

    

    public class CommandBySwitch {
         public static void main(String[] args) {
             Scanner scan = new Scanner(System.in);
             System.out.println("请选择功能: 1.取款  2.存款  3.查询余额  0.退卡");
             int command = scan.nextInt();
     
             switch(command){
                 case 1:
                     System.out.println("取款操作...");
                     break;
                 case 2:
                     System.out.println("存款操作...");
                     break;
                 case 3:
                     System.out.println("查询余额操作...");
                     break;
                 case 0:
                     System.out.println("退卡操作...");
                     break;
                 default:
                     System.out.println("输入错误");
             }
         }
     }

3. 循环:反复多次执行一段相同或相似的代码

4. 循环三要素:

   - 循环变量的初始化

   - 循环的条件(以循环变量为基础)

   - 循环变量的改变(向着循环的结束变)

     > 循环变量:在整个循环过程中所反复改变的那个数

   ```java


   while

   - while结构:先判断后执行,有可能一次都不执行

     - 语法:

          while(boolean){
             语句块-------------反复执行的代码
           }

     - 执行过程:

       ​    判断boolean的值,若为true则执行语句块,
       ​    再判断boolean的值,若为true则再执行语句块,
       ​    再判断boolean的值,若为true则再执行语句块,
       ​    如此反复,直到boolean的值为false时,while循环结束

     - 代码演示:       ```java
   

    //1)输出5次"行动是成功的阶梯":
       int times = 0;  //1)循环变量的初始化
       while(times<5){ //2)循环的条件
           System.out.println("行动是成功的阶梯");
           times++;    //3)循环变量的改变
       }
       System.out.println("继续执行...");
       
       /*
         执行过程:----带数
                       times=0
           true  输出  times=1
           true  输出  times=2
           true  输出  times=3
           true  输出  times=4
           true  输出  times=5
           false while循环结束
           输出继续执行...
        */
       
       //2)输出9的乘法表:
       int num = 1;     //3*9=27
       while(num<=9){
           System.out.println(num+"*9="+num*9);
           num++;  //num+=2;
       }
       System.out.println("继续执行...");
       ```

     - 猜数字小游戏代码:

       ```java
       public class Guessing {
           public static void main(String[] args) {
               Scanner scan = new Scanner(System.in);
               int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
               System.out.println(num); //作弊
       
               //300(大),200(小),250(对)
               System.out.println("猜吧!");
               int guess = scan.nextInt(); //1.
               while(guess!=num){ //2.
                   if(guess>num){
                       System.out.println("太大了");
                   }else{
                       System.out.println("太小了");
                   }
                   System.out.println("猜吧!");
                   guess = scan.nextInt(); //3.
               }
               System.out.println("恭喜你猜对了!");
           }
       }

   - do...while结构:先执行后判断,至少执行一次

     > 要素1与要素3相同时,首选do...while

     - 语法:

         do{
            语句块
          }while(boolean);

     - 执行过程:

       ​    先执行语句块,再判断boolean的值,若为true则
       ​    再执行语句块,再判断boolean的值,若为true则
       ​    再执行语句块,再判断boolean的值,若为true则
       ​    再执行语句块,如此反复,直到boolean的值为false,则    do...while结束

     - 猜数字小游戏代码:

       public class Guessing {
           public static void main(String[] args) {
               Scanner scan = new Scanner(System.in);
               int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
               System.out.println(num); //作弊
       
               //假设num=250
               //300(大),200(小),250(对)
               int guess;
               do{
                   System.out.println("猜吧!");
                   guess = scan.nextInt(); //1+3
                   if(guess>num){
                       System.out.println("太大了");
                   }else if(guess

补充

 1. 变量的作用域/范围:

      - 从变量的声明开始,到包含它最近的大括号结束

   2. 生成随机数:

     int num = (int)(Math.random()*1000+1); //1到1000
      
      Math.random()--------------0.0到0.9999999999999999...
      *1000----------------------0.0到999.99999999999999...
      +1-------------------------1.0到1000.9999999999999...
      (int)----------------------1到1000

总结:

Java中的分支结构用来根据条件执行不同的代码块。主要有if语句、switch语句。

  1. if语句: if语句用于根据给定的条件来决定是否执行某个代码块。 语法结构: if (条件) { // 如果条件为真,执行这里的代码块 } else { // 如果条件为假,执行这里的代码块 }

  2. switch语句: switch语句用于根据不同的取值执行不同的代码块。 语法结构: switch (表达式) { case 值1: // 如果表达式的值等于值1,执行这里的代码块 break; case 值2: // 如果表达式的值等于值2,执行这里的代码块 break; // 可以继续添加更多的case default: // 如果表达式的值与任何case都不匹配,执行这里的代码块 }

if语句和switch语句都是根据条件执行不同的代码块,但有一些区别:

  • if语句是用来检查一个条件是否为真,可以进行复杂的条件判断;而switch语句是用来检查一个值是否等于某个固定的值,只能进行简单的值比较。
  • if语句的条件可以是任意表达式,可以包含逻辑运算符和比较运算符;而switch语句的表达式必须是整型或字符型。
  • if语句可以有多个分支,每个分支可以有不同的条件;而switch语句只有一个表达式,根据不同的值执行相应的分支。

你可能感兴趣的:(开发语言)