【狂神说Java】学习笔记10:Java流程控制之顺序结构,选择结构
【狂神说Java】学习笔记9:Java流程控制之顺序结构,选择结构
[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<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();
}
}
--------------
请输入成绩
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。
因此计算机不懂汉字,却能准确无误的编译出我们所要的答案。