分支结构:基于条件执行
- if结构:一条路,单路
语法:
if (boolean) {
语句块--------基于条件执行的语句
}
执行过程:
判断boolean的值:
若为true,则执行语句块(整个结束)
若为false,则直接结束
//满500打8折:
double price = 300.0; //消费金额 带数(600.0,300.0)
if(price>=500){ //满500
price *= 0.8; //打8折
}
System.out.println("最终消费金额为:"+price);
//判断成绩是否合法
int score = 555; //带数(95,-5,555)
if(score>=0 && score<=100){
System.out.println("成绩合法");
}
System.out.println("继续执行...");
- if....else结构:两条路
语法:
if (boolean) {
语句块1} else {
语句块2}
--------------------------------------------------------------------------------------------------------------------------
执行过程:
判断boolean的值:若为true,则执行语句块1(整个结束)
若为false,则执行语句块2(整个结束)
--------------------------------------------------------------------------------------------------------------------------
说明:
语句块1和语句块2,必走其中之一-------------2选1
//满500打8折,不满500打9折:
double price = 300.0; //带数(600.0,300.0)
if(price>=500){ //满
price*=0.8;
}else{ //不满
price*=0.9;
}
System.out.println("最终消费金额为:"+price);
//判断成绩合法还是不合法
int score = 95; //带数(95,-5,555)
if(score>=0 && score<=100){
System.out.println(score+"是合法成绩");
}else{
System.out.println(score+"是不合法成绩");
}
- if...else if结构:多条路
语法:
if (boolean1) {
语句块1
} else if (boolean2) {
语句块2
} else if (boolean-3) {
语句块3
} else {
语句块4
}
--------------------------------------------------------------------------------------------------------------------------
执行过程:
判断boolean-1,若为true则执行语句块1(结束),若为false则
再判断boolean-2,若为true则执行语句块2(结束),若为false则
再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束)
--------------------------------------------------------------------------------------------------------------------------
说明:
语句块1/2/3/4,必走其中之一--------多选1
//满2000打5折,满1000不满2000打7折,满500不满1000打8折,不满500打9折:
double price = 6000.0; //带数(2000.0,1000.0,600.0,300.0)
if(price>=2000){
price*=0.5;
}else if(price>=1000){
price*=0.7;
}else if(price>=500){
price*=0.8;
}else{
price*=0.9;
}
System.out.println("最终消费金额为:"+price);
- Scanner:接收用户输入的数据(此处先简单展示,后期再详细介绍)
import java.util.Scanner; //1.导入一个扫描仪
//Scanner的演示
public class ScannerDemo {
public static void main(String[] args) {
//创建类CommandBySwitch,接收用户输入的命令command(int),并输出
Scanner scan = new Scanner(System.in); //2.新建一个扫描仪scan
System.out.println("请输入年龄:");
int age = scan.nextInt(); //扫描一个整数并赋值给age
System.out.println("请输入商品价格:");
double price = scan.nextDouble(); //扫描一个小数并赋值给price
System.out.println("年龄为:"+age+",价格为:"+price);
}
}
- switch...case结构:多条路
- 优点:效率高、结构清晰
- 缺点:只能对整数判断相等
- break:跳出switch
- switch中数据的类型:byte、short、int、char、String、枚举
import java.util.Scanner;
//命令解析程序
public class CommandBySwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请选择功能: 1.存款 2.取款 3.转帐 4.退出");
int command = scan.nextInt();
switch(command){
case 1:
System.out.println("存款业务...");
break;
case 2:
System.out.println("取款业务...");
break;
case 3:
System.out.println("转帐业务...");
break;
case 4:
System.out.println("退出成功");
break;
default:
System.out.println("输入错误");
}
}
}