分支结构(上):基于条件执行
-
if结构:1条路
1)语法: if(boolean){ 语句块--------------基于条件执行的语句 } 2)执行过程: 判断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结构:2条路
1)语法: if(boolean){ 语句块1 }else{ 语句块2 } 2)执行过程: 判断boolean的值: 若为true,则执行语句块1(整个结束) 若为false,则执行语句块2(整个结束) 3)说明: 语句块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结构:多条路
1)语法: if(boolean-1){ 语句块1 }else if(boolean-2){ 语句块2 }else if(boolean-3){ 语句块3 }else{ 语句块4 } 2)执行过程: 判断boolean-1,若为true则执行语句块1(结束),若为false则 再判断boolean-2,若为true则执行语句块2(结束),若为false则 再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束) 3)说明: 语句块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);
分支结构(下):
-
switch...case结构:多条路
-
优点:效率高、结构清晰
-
缺点:只能对整数判断相等
-
break:跳出switch
switch中数据的类型:byte,short,int,char,String,枚举
package day04; 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("输入错误"); } } }
-