【狂神说Java】学习笔记9:Java流程控制之顺序结构,选择结构

[01] 用户交互Scanner

[02] 顺序结构 sequence structure

[03] 选择结构

--------------------------------------------------------------------

[02] 顺序结构 sequence structure

Java的基本结构就是顺序结构。

它是一个任何一个算法都离不开的结构。

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制



[03] 选择结构

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_02

if单选择结构。

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_03

if单选择结构

package Chapter4_structure;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        // if单选择结构
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");

        String s= scanner.nextLine();
        //  判断字符串是否相等,当输入 Hello 时,则以End结束跳出。
        if(s.equals("Hello")){
            System.out.println(s);
        }
            System.out.println("End");
            scanner.close();
    }
}
------------------
请输入内容:
Hello
Hello
End

if双选择结构。

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_04

if双选择结构

package Chapter4_structure;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        //  if双选择结构
        //  考试成绩大于60分就是及格,小于60分,不及格。
        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();
    }
}
-----------------
请输入成绩
61
及格

if多选择结构。

注意点:

・if语句里最多有一个else语句,else语句在所有else if语句之后。

・if语句里可以有若干个else if 语句,在else语句之前。

・一旦一个else if语句里检测为true则跳过所有接下来的else if 和else语句。

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_05

if多选择结构

package Chapter4_structure;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        //  if多选择结构
        //  成绩100满分,90-99A级,80-89B级,以此类推,60以下成绩不合法
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩");
        int score =scanner.nextInt();
        if (score == 100){
            System.out.println("恭喜满分");
        }else if (score=90){
            System.out.println("A级");
        }else if (score=80){
            System.out.println("B级");
        }else if (score=70){
            System.out.println("C级");
        }else if (score=60) {
            System.out.println("D级");
        }else if (score=0){
            System.out.println("不及格");
        }else{
            System.out.println("成绩不合法");
        }

        scanner.close();
    }
}
--------------
请输入成绩
95
A级

嵌套的if结构。

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_06

swith多选择结构

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_07

switch 的学习1:匹配一个固定值。

package Chapter4_structure;

import java.util.Scanner;

public class Demo04 {
        //  switch 的学习1:匹配一个固定值。
    public static void main(String[] args) {
        //  case穿透现象:如果本case里不写break,会继续执行往下的case,形成穿透
        //  养成规范,每写一个case就把一个break写上。
        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;
        }

    }
}
--------------------
及格

查找字符串反编译的字节码,按照下图找到我们的class文件存放地,

之后将class文件丢到java文件里,看它的反编译。

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_08

然后查找刚刚Demo05.java(下图左右的反编译文件 Demo05.class(下图左).

【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构_Java流程控制_09

可以看到,每个字符串都有一个哈希code,是自动生成的。判断哈希值是否相等来判断该走哪个case。

因此计算机不懂汉字,却能准确无误的编译出我们所要的答案。