Java选择结构
if单选择结构
-
判断一个东西是否可行,然后再去执行。
-
语法
if(布尔表达式){ //布尔表达式为true将执行的语句 }
import java.util.Scanner; public class Demo05 { 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双选结构
-
双选结构有两个判断。
-
语法:
if(布尔表达式){ //如果布尔值为true执行代码 }else { //如果布尔值为false执行代码 }
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scanner.nextDouble();
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{ //如果以上布尔表达式都为false执行代码 }
代码示例:
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/*
if语句至多有一个else,else语句在所有的else if语句之后。
if语句可以有多个else if语句,但是他们必须在else语句之前。
if语句中一个条件语句被满足,其他的条件语句会被跳过执行
*/
System.out.println("请输入成绩:");
double score = scanner.nextDouble();
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…else语句是合法的,也就是说可以在另一个if或者else if语句中使用if或者else if语句。
-
语法:
if(布尔表达式1){ //布尔表达式1为true执行代码 if(布尔表达式2){ //如果布尔表达式2为true执行代码 } }
switch多选择结构
-
switch case语句判断一个变量与一系列值中某个值是否相等,每个值成为一个分支。
switch(变量){ case value: //语句 break;//可选 case value: //语句 break;//可选,如果不写break会将后面的语句都输出出来,直到有一个break来结束输出。也称case穿透! default://可选 //语句 }
-
switch 语句中的变量类型可以是:
- byte、shot、int或char。
- 从Java SE 7 开始,switch支持字符串String类型了。
- 同时case标签必须为字符串或者字面量。
public class SwitchDemo01 { public static void main(String[] args) { 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; default: System.out.println("不可知等级"); } } }
public class SwitchDemo02 { public static void main(String[] args) { String city = "北京"; //JDK7新特性,表达式结果可以是字符串 //字符串本质是数字 //反编译 java--class(字节码文件) //反编译(使用IDEA查看class文件) switch(city){ case"南京": System.out.println("南京"); break; case "杭州": System.out.println("杭州"); break; case"北京": System.out.println("原来是北京儿"); break; default: System.out.println("写错了!"); } } }