2022/4/16 JavaDay08
选择结构
if单选结构
if(true){}
package com.sundada.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();
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
双选择结构
if(){}else{}
package com.sundada.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();
}
}
多选择结构
if(){}else if(){}.....
package com.sundada.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语句至多有一个else语句,在所有else if语句后面
* 可以有若干个else if语句,必须在else之前
* 若其中一个为true则跳过其他的语句
* */
if ( score==100 ){
System.out.println("恭喜满分");
}else if ( score<90&&score>=80 ){
System.out.println("A");
}else if ( score<80&&score>=70 ){
System.out.println("B");
}else if ( score<70&&score>=60 ){
System.out.println("c");
}else if ( score<60 &&score>=0){
System.out.println("不及格");
}else{
System.out.println("不合法");
}
scanner.close();
}
}
if嵌套结构
eg:二分查找
switch多选择结构
判断变量与系列某个值相等,每个数值对应一个分支
package com.sundada.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
char grade='C';
//case击穿,记得使用break终止
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;//可选
default://之前都没有匹配
System.out.println("未知等级");
break;//可选
}
}
}
switch实现字符串比较
反编译
package com.sundada.struct;
import java.util.Scanner;
public class SwitchDemo02 {
public static void main(String[] args) {
//jdk7才支持
//本质还是数字
//反编译 java---class(字节码文件)-----反编译(IDEA)
String name = "狂神";
switch (name){//name.hashCode()听过他比较
case "孙款" :
System.out.println("孙款");
case "最帅" :
System.out.println("最帅");
default:
System.out.println("输错了");
}
}
}
反编译步骤
-
打开文件字节码所在位置,所上角Project Struct,然后复制路径
-
在文件夹中打开
-
直接放到已经编译好了的java文件夹中打开即可