Java Process Control

基本结构

顺序结构

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

  2. 顺序结构是最简单的算法结构。

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

 

选择结构

if单选择结构

复制代码
 package struct;
 ​
 import java.util.Scanner;
 ​
 public class ifDemo01 {
     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双选择结构

  1. 我们需要有两个判断,需要一个双选择结构,所以就有了if- else结构。

  2. 语法:

    if(布尔表达式){
         //如果布尔表达式的值为true
     }else{
         //如果布尔表达式的值为false
     }
     如下面判断成绩是否及格:
复制代码
package struct;
 ​
 import java.util.Scanner;
 ​
 public class ifDemo02 {
     public static void main(String[] args){
         Scanner scanner = new Scanner(System.in);
 ​
         System.out.println("请输入成绩:");
         int score = scanner.nextInt();
 ​
         if(score>60){
             System.out.println("及格");
         }else{
             System.out.println("不及格");
         }
         scanner.close();
     }
 }                       //50
                        //不及格
 
复制代码

 

if多选择结构

我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B.等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!

语法:

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

 

判断成绩等级:

 
复制代码
package 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("输入成绩不合法");
         }
         scanner.close();
     }
 }
复制代码

 

嵌套的if结构

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

else if...else。

语法: 

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

思考?

我们需要寻找一个数,在1-100之间:

最简单的办法就是一个一个对比,但如果输入的数字是100,那就要比较100次这样子是十分消耗时间的。但如果我们可以用 if 语句一次筛选掉50个,25个,这样子就会节省很多时间。

switch多选择结构

  1. 多选择结构还有一个实现方式就是switchcase语句。

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

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

    1. byte、shortint 或者char

    2. 从Java SE7 开始

    3. switch 支持字符串 String 类型了

    4. 同时case标签必须为字符串常量或字面量。

     

    复制代码
     switch(expression){
             case value :
                 //语句
             break; //可选
             case value :
                 //语句 
             break; //可选 
             //你可以有任意数量的case语句
             default ://可选
                 //语句
     }
    复制代码

     

    //case具有穿透性,所以写完一个就要加break

复制代码
package struct;
 ​
 public class SwichDemo01 {
     public static void main(String[] args){
         
         char grade = 'C';
 ​
         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;
         }
     }
 }
//及格
复制代码
                                                    

  //反编译,表达式结果可以是字符串!!! 字符的本质还是数字,学会看源码 

复制代码
package struct;
 ​
 public class SwichDemo02 {
     public static void main(String[] args){
         String name="你好";
         //JDK7的新特性,表达式结果可以是字符串!!! 
         switch(name){
             case "你好":
                 System.out.println("你好”);" +
                 break;
             case "开心":
                 System.out.println("开心");
                 break; 
             default:
                 System.out.println("弄啥嘞!");
         }
     }
 }
复制代码

 

  //反编译一定是输出了一个Java-class文件(字节码文件)

复制代码
 package struct;
 ​
 public class SwichDemo02 {
     public SwichDemo02() {
     }
 ​
     public static void main(String[] args) {
         String name = "你好";
         byte var3 = -1;
         switch(name.hashCode()) {
         case 652829:
             if (name.equals("你好")) {
                 var3 = 0;
             }
             break;
         case 778435:
             if (name.equals("开心")) {
                 var3 = 1;
             }
         }
 ​
         switch(var3) {
         case 0:
             System.out.println("你好");
             break;
         case 1:
             System.out.println("开心");
             break;
         default:
             System.out.println("弄啥嘞!");
         }
 ​
     }
 }
复制代码

 

 

 

//

1.狂神说:【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili

posted @   麻木马  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示