分支语句使用场景
在实际生活中经常需要作出一些判断,比如开车来到一个十字路口,这时需要对红绿灯进行判断,如果前面是红灯,就停车等候,如果是绿灯,就通行。Java中有一种特殊的语句叫做条件语句或者分支语句,它也需要对一些条件作出判断,从而决定执行哪一段代码。
if结构
基本if语句
if选择结构是根据条件判断之后再做处理
示例代码:
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(“输入你的Java成绩: "); //提示输入Java成绩
int score = input.nextInt(); //从控制台获取Java成绩
if ( score > 90 ) { //判断是否大于90分
System.out.println(“获得女生向你表白的机会");
}
}
}
if-else语句
只运用if语句会有很多限制,如果格局条件的不同有两种结果,if语句使用起来就有很大的局限性,这时候就要使用if-else
if…else语句语法格式:
if…else语句的执行流程:
代码示例:
import java.util.Scanner;
public class Main6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的分数"); //控制台提示输入分数
int score = sc.nextInt(); //将输入的分数保存到score中
if(score >= 90){
System.out.println("成绩优秀"); //如果分数大于或等于90分就打印成绩优秀
}else {
System.out.println("你可以做的更好");//如果分数小于90分打印你可以做的更好
}
}
}
多重if语句
多重if语句和if-else非常相似,只是在if-else的基础上增加更多的可选项,根据条件的不同执行不同的语句
示例代码
import java.util.Scanner;
public class Main6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的分数"); //控制台提示输入分数
int score = sc.nextInt(); //将输入的分数保存到score中
if(score >= 90){
System.out.println("努力得100分"); //如果分数大于或等于90分就打印努力得100分
}else if(score>=80){
System.out.println("成绩优秀");//如果分数大于或等于80分打印成绩优秀
}else if(score>=60){
System.out.println("成绩及格");//如果分数大于或等于60分打印成绩及格
}else{
System.out.println("成绩有待提高");//如果上述条件都不满足就打印成绩有待提高
}
}
}
嵌套if语句
嵌套if语句就是在满足一个条件的前提下,在判断是否满足其他的条件,嵌套if语句可以根据实际需要的不同进行多层嵌套
代码示例
import java.util.Scanner;
public class Main7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入性别");
String gender = sc.next();
System.out.println("请输入名次");
int record = sc.nextInt();
if(gender.equals("男")){ //判断性别是否是男,是则执行男子组子分支语句
if(record<=3){
System.out.println("恭喜你进入男子组前三名");
}else {
System.out.println("你的名次是男子组第" + record + "名");
}
}else { //性别不是男则进入女子组分支
if(record<=3){
System.out.println("恭喜你进入女子组前三名");
}else {
System.out.println("你的名次是女子组第" + record + "名");
}
}
}
}
switch结构
在使用if语句结构的时候会发现,在条件较少的情况下会比较方便,但是可判断的条件很多时,if语句就会变得复杂繁琐,而且会影响程序的执行速度,这个时候,就需要运用switch语句
switch语句有关规则
1.switch(表达式)中表达式的返回值必须是下述几种类型之一:int, byte, char, short, 枚举, 字符串String(JDK7之后支持)case子句中的值必须是常量,且所有case子句中的值应是不同的;
2.default子句是任选的;
3.break语句用来在执行完一个case分支后使程序跳出switch语句块,如果没有break语句会继续向下执行,直到程序退出;
比较switch和多重if选择结构
这个问题编程思路和if语句有一点小不同,if语句是直接根据数字进行判断,而使用switch语句之前会简单的处理一下,根据分数的十位进行判断等级
示例代码
import java.util.Scanner;
public class Demo2 {
public static void main(String[] arg){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数");
int score = scanner.nextInt();
switch (score/10){
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("E");
break;
}
}
}