分支结构:基于条件执行的语句
1)if结构: 1条路
//if结构的演示
public class IfDemo {
public static void main(String[] args) {
//1)有一个整数num,判断num是否是偶数:
int num = 6; //6, 5
if(num%2==0) {
System.out.println(num+"是偶数");
}
System.out.println("继续");
//2)有一个商品的价格price,满500打8折:
double price = 300.0;
if(price>=500) { //满500 600.0, 300.0
price*=0.8; //打8折
}
System.out.println("最终消费金额为:"+price);
/*
* 1.if结构: 1条路
* 1)语法:
* if(boolean){
* 语句块---------基于条件执行的
* }
* 2)执行过程:
* 计算boolean的值:
* 若为true,则执行语句块(结束)
* 若为false,则if直接结束
*/
}
}
2)if...else结构: 2条路
//if...else结构的演示
public class IfElseDemo {
public static void main(String[] args) {
//1)有一个整数num,判断num是偶数还是奇数:
int num = 5; //6, 5
if(num%2==0) {
System.out.println(num+"是偶数");
}else {
System.out.println(num+"是奇数");
}
System.out.println("继续..."); //练习(if..else(2个), if(2个))
//2)有一个商品的价格price,满500打8折,不满500打9折:
double price = 300.0; //600.0, 300.0
if(price>=500) { //满500
price*=0.8;
}else { //不满500
price*=0.9;
}
System.out.println("最终的消费金额为:"+price);
/*
* 2.if...else结构: 2条路
* 1)语法:
* if(boolean){
* 语句块1
* }else{
* 语句块2
* }
* 2)执行过程:
* 计算boolean的值:
* 若为true,则执行语句块1(整个结束)
* 若为false,则执行语句块2(整个结束)
* 3)说明:
* 语句块1和语句块2,必走其中之一
*/
}
}
3)if...else if结构: 多条路
//if...else if结构的演示
public class IfElseIfDemo {
public static void main(String[] args) {
/*
* 3.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,只能走其中之一
*/
}
}
4)switch...case结构:
- 多条路 优点:效率高、结构清晰 缺点:只能对整数来判断相等 break:跳出switch
//switch...case结构的演示
public class SwitchCaseDemo {
public static void main(String[] args) {
int num = 4;
switch(num) { //byte,short,int,char,String(JDK1.7开始支持的)
case 1: //if(num==1)
System.out.println(111);
break;
case 2: //以此为入口
System.out.println(222);
break; //跳出switch
case 3:
System.out.println(333);
break;
default: //所有case都未匹配时执行
System.out.println(666);
}
}
}
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.查询余额 0.退出");
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 0:
System.out.println("期待下次再来");
break;
default:
System.out.println("输入错误");
}
}
}