Java学习——选择结构
选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
- if单选择结构
if(布尔表达式){
结果为true 将会执行的语句
}
public class IFDemo01 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入内容:");
String str=scanner.nextLine();
//equals()判断字符串是否相等
if(str.equals("hello")){
System.out.println(str);
}
System.out.println("End");
scanner.close();
}
}
- if双选择结构
if(布尔表达式){
结果为true 将会执行的语句
}else{
结果为false将会执行的语句
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//考试分数大于60及格 小于60不及格
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if(score>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
- if多选择结构
if(布尔表达式1){
表达式1的结果为true 将会执行的语句
}else if(布尔表达式2){
表达式2的结果为true 将会执行的语句
}else if(布尔表达式3){
表达式3的结果为true 将会执行的语句
}else {
以上表达式都不是True执行代码
}
if语句中至少有一个else语句,else语句放在所有的else if语句后面
if语句可以有若干个else if语句,他们必须要在else语句之前
一旦其中一个else if语句检测为true 其他的else if以及else语句将跳过执行
Scanner scanner = new Scanner(System.in);
//考试分数大于60及格 小于60不及格
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) {
System.out.println("不及格");
} else {
System.out.println("成绩不合法");
}
scanner.close();
- if嵌套结构
if(布尔表达式1){
表达式1 结果为true 将会执行的语句
if(布尔表达式2){
表达式2 结果为true 将会执行的语句
}
}
- Switch多选择结构
- 多选择结构还有一个实现方式就是switch case 语句个分支。
- switch case 语句判断一个变量与卡系列值中某个值是否相等,每个值称为一个分支
- switch 语句中的变量类型可以是byte、short、int 或者 char。
从Java SE 7 开始switch 支持字符串 String 类型了
同时 case 标签必须为字符串常量或字面量
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
public static void main(String[] args) {
char grade = 'C';
//case穿透:不加break的话 下面的每一个都会输出,break记得要加 switch匹配一个具体的值
switch (grade){
case 'A':
System.out.println("优秀");
break;//可选 不加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("未知等级");
}
}
从jdk7之后才可以进行字符串的匹配 且字符的本质还是数字
反编译:java——class(字节码文件)——idea反编译
就是把生成的class文件放到idea里面,会发现字符串会变成他们相应的hashcode值
public static void main(String[] args) {
String name = "菲菲公主";
switch (name) {
case "徐菲菲":
System.out.println("徐菲菲");
break;
case "菲菲公主":
System.out.println("你好" + name);
break;
default:
System.out.println("有事吗?");
}
}