**
一、if语句
**
**if单分支语句**
public class Example{
public static void main(String[] args) {
/*
* 选择结构:
* 单分支语句:if语句
* 格式:
* if(条件表达式){
* 语句块
* }
* ..后续代码..
* 执行流程: 如果条件表达式为true,执行语句块.如果为false,不执行语句块.
* 补充:不管条件表达式为true或false,如果有后续代码也会接着执行.
*/
int a = 10;
if(a > 9){
System.out.println("执行语句块");
}
System.out.println("..后续代码..");
}
}
双分支语句
/*
* 双分支语句(if else语句)
* 1.语法格式:
* if(条件表达式){
* 语句块1
* }else{
* 语句块2
* }
* ..后续代码..
* 执行流程: 如果条件表达式为true,执行语句块1.否则执行语句块2.当然有后续代码不管条件表达式是true还是false,也会接着执行后续代码.
*
*/
if多分支语句
/*
* 多分支语句(if else if......语句)
* 1.语法格式:
* if(条件表达式1){
* 语句块1
* }else if(条件表达式2){
* 语句块2
* }else if(条件表达式3){
* 语句块3
* }else if(条件表达式4){
* 语句块4
* }else{
* else语句块
* }
* ..后续代码..
* 执行流程: 如果条件表达式1为true,就执行语句块1,否则判断条件表达式2,如果条件表达式2为true,执行语句块2,否则.......最后以上都不满足就执行else语句块.有后续代码接着执行
*
*/
二、swicth语句
1、等值比较
2、case后的常量不重复
3、位置不固定
4、break结束循环
/*
1、使用多重if选择结构实现~缺点:结构复杂,啰嗦
2、使用switch选择结构解决特点:条件为等值判断
switch(算术表达式){
case 常量表达式1 :
语句块1
break;
case 常量表达式2 :
语句块2
break;
…...
default :
语句块m
break;
}
执行流程: 算术表达式值和case后的值进行等值比较,如果找到case值相同就走对应case的语句块.全部没有找到,就执行default语句块.
注意:
1、算术表达式的类型必须是:byte、short、int、char、String(jdk1.8+)、枚举
2、case后常量表达式的值,不能重复。Duplicate case
3、算术表达式和常量表达式进行的是等值比较
4、等值比较有相同的时,进入当前case代码中,如果有break关键字,终止switch结构。如果没有break关键字,程序会继续向下执行,直到遇到break为止。
5、case代码块和default代码块位置可以任意放
*/
一道switch例题,试说出该代码的需求是什么:
import java.util.Scanner;
public class Test09 {
public static void main(String[] args) {
System.out.println("请输入出行月份:");
Scanner Sc1 = new Scanner(System.in);
int month = Sc1.nextInt();
System.out.println("请输入座舱类型:");
Scanner Sc = new Scanner(System.in);
String aa = Sc.next();
switch (month) {
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
if (aa.equals("头等舱")) {
System.out.println("你的折扣为9折!");
}
else {
System.out.println("你的折扣为7.5折!");
}
break;
default:
if (aa.equals("头等舱")) {
System.out.println("你的折扣为9折!");
}
else {
System.out.println("你的折扣为7.5折!");
}
break;
}
}
}