[01] 用户交互Scanner
[02] 顺序结构 sequence structure
[03] 选择结构
--------------------------------------------------------------------
[02] 顺序结构 sequence structure
Java的基本结构就是顺序结构。
它是一个任何一个算法都离不开的结构。
[03] 选择结构
if单选择结构。
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双选择结构。
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语句。
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结构。
swith多选择结构
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文件里,看它的反编译。
然后查找刚刚Demo05.java(下图左右的反编译文件 Demo05.class(下图左).
可以看到,每个字符串都有一个哈希code,是自动生成的。判断哈希值是否相等来判断该走哪个case。
因此计算机不懂汉字,却能准确无误的编译出我们所要的答案。