分支结构
1、基本概述
当需要进行条件判断的时候,并且根据条件是否成立来选择执行某一段代码的时,需要分支结构。
if结构
1、语法
if(条件表达式){
语句块1; -----多条语句的集合,也可以是一条语句。
}
语句块2;
2、执行流程
判断条件表达式是否成立
假如条件成立,则执行语句块1,执行语句块2
假如不成立,则执行语句块2
演示英雄选择
import java.util.Scanner;
public class TestIf {
public static void main(String[] args) {
System.out.println("1、盲僧 2、劫 3、嘉文");
System.out.println("请选择:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if(num == 1) {
System.out.println("掌控自己掌控敌人");
}
if(num == 2) {
System.out.println("无形之刃最为致命");
}
if(num == 3) {
System.out.println("犯我德邦者,虽远必诛!");
}//如果接收的参数没有符合的,则输出下面的语句块2.如果没有语句块2,则不作输出
System.out.println("超出选择");
}
}
if-else 分支结构
1、语法
if(条件表达式){
语句块1;
}
else{
语句块2;
}
语句块3
2、执行流程
判断条件是否成立
若成立,执行语句块1,执行语句块3;
不成立,执行语句块2,执行语句块3;
演示一个简单的考试成绩判断
import java.util.Scanner;
public class TestIfelse {
public static void main(String[] args) {
//演示一个简单的考试成绩判断
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score >= 60) {
System.out.println("成绩合格");
}else {
System.out.println("不合格");
}
}
}
if-else if-else分支结构
1、语法
if(条件表达式1){
语句块1;
}else if(条件表达式2){
语句块2;
}else{
语句块3;
}
语句块4;
2、执行流程
判断条件表达式1是否成立
成立,执行语句块1,执行语句块4
不成立,判断条件表达式2是否成立
成立,执行语句块2,执行语句块4
不成立,执行语句块3,执行语句块4
演示一个简单的买购票系统
public class TestIfelseIfelse {
public static void main(String[] args) {
//提示用户输入身份信息
System.out.println("请输入您的身份信息:");
Scanner sc = new Scanner(System.in);
//使用变量接收身份信息
String str = sc.next();
if("军人".equals(str)) {
System.out.println("免票");
}else if("学生".equals(str)) {
System.out.println("半票");
}else {
System.out.println("全票");
}
}
}
swich-case分支结构
1、语法
swich(){
case 字面值1:
语句块;
break;
case 字面值2:
语句块2;
break;
default:
语句块3;
}
语句块4;
2、执行流程
计算变量/表达式的数值 判断是否匹配字面值1;
如果匹配,则执行语句块1,执行语句块4;
如果不匹配,则判断是否匹配字面值2;
匹配,则执行语句块2,执行语句块4;
不匹配,则执行语句块3,执行语句块4;
演示一个简单的买购票系统
import java.util.Scanner;
public class SwitchCase {
public static void main(String[] args) {
//提示输入身份
System.out.println("请输入身份:1、军人 2、学生 ");
//接收信息
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch(num){
case 1:
System.out.println("军人乘车免票");
break;
case 2:
System.out.println("学生乘车半票");
break;
default:
System.out.println("群众乘车全票");
break;
}
}
}