Java选择语句if……else和switch语句
- 一、if语句
- (一)、语句结构:
- (二)、例子:
- 二、if……else……语句
- (一)、语句结构:
- (二)、例子:
- 三、if……else if……else if ……else语句
- (一)、语句结构:
- (二)、例子:
- 四、switch语句
- (一)、语句结构:
- (二)、例子:
- (三)、注意:
java选择语句包括if语句、if……else语句、if……else if……else语句和switch语句。
一、if语句
(一)、语句结构:
if(布尔表达式){
如果条件为真时执行的语句块;
}
(二)、例子:
public class Test05 {
public static void main(String[] args) {
//if语句
if(false) {
System.out.println("当条件为false时,不会执行本行代码");
}
if(true) {
System.out.println("当条件为true时,才会执行本行代码");
}
}
}
二、if……else……语句
(一)、语句结构:
if(布尔表达式){
如果条件为真时执行的语句块;
}else{
如果条件为假时执行的语句块;
}
(二)、例子:
public class Test06 {
public static void main(String[] args) {
//if……else语句
//判断奇偶数
int number = 5;
if(number%2==0) {
System.out.println(number+"是偶数");
}else {
System.out.println(number+"是奇数");
}
//判断是否休息
int day = 1;
if(day<=7 && day>=1) {
if(day==6 || day==7) {
System.out.println("今天休息");
}else {
System.out.println("今天要工作");
}
}else {
System.out.println("您的输入有误!");
}
//判断最大值
int a = 10;
int b = 5;
if(a>b) {
System.out.println(a+"最大");
}else {
System.out.println(b+"最大");
}
}
}
三、if……else if……else if ……else语句
(一)、语句结构:
if(布尔表达式1){
布尔表达式1为真时执行的语句块;
}else if(布尔表达式2){
布尔表达式2为真时执行的语句块;
}else if(布尔表达式3){
布尔表达式3为真时执行的语句块;
}else{
布尔表达式都不满足执行的语句块;
}
(二)、例子:
1)、使用if……else if ……else判断季节。
public class Test01 {
public static void main(String[] args) {
/* 判断季节
*1,2,12冬季
*3,4,5春季
*6,7,8夏季
*9,10,11秋季
*/
int season = 1;
if (season >= 0 && season <= 12) {
if (season <= 5 && season <= 3) {
System.out.println(season + "月是春天");
} else if (season >= 6 && season <= 8) {
System.out.println(season + "月是夏天");
} else if (season >= 9 && season <= 11) {
System.out.println(season + "月是秋天");
} else {
System.out.println(season + "月是冬天");
}
} else {
System.out.println("你输入的月份有误!");
}
}
}
2)、使用if……else if ……else根据得分判断等级。
public class Test02 {
public static void main(String[] args) {
/** 得分判断等级
*得分为0-100之间,0-70为D,70-80为C,80-90为B,90-100为A。
*/
int score = 90;
if (score >= 0 && score <= 100) {
if (score <= 70) {
System.out.println("等级为D");
} else if (score <= 80) {
System.out.println("等级为C");
} else if (score > 80 && score <= 90) {
System.out.println("等级为B");
} else {
System.out.println("等级为A");
}
} else {
System.out.println("你输入的得分有误!");
}
}
}
四、switch语句
(一)、语句结构:
switch……case语句提供多路分支,用于选择的数据类型可以是整数、char、枚举类型、String。
switch(表达式){
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break
case 取值3:
执行语句;
break
……
default:
执行语句;
break;
}
它的执行顺序为:先计算表达式的值,然后和case后面的值匹配,如果有就执行与之对应的语句,否则执行default控制的语句。
(二)、例子:
1).判断红绿灯
public class Test03 {
public static void main(String[] args) {
// switch语句:红绿灯
String color = "绿色";
switch (color) {
case "绿色":
System.out.println("当前为绿灯,可以通行!");
break;
case "红色":
System.out.println("当前为红灯,禁止通行!");
break;
case "黄色":
System.out.println("当前为黄灯,注意通行!");
break;
default:
System.out.println("您的输入有误!");
break;
}
}
}
2).判断工作日和休息日
public class Test04 {
public static void main(String[] args) {
// switch:工作日和休息日
int day = 1;
switch (day) {
case 1:
System.out.println("当前为工作日");
break;
case 2:
System.out.println("当前为工作日");
break;
case 3:
System.out.println("当前为工作日");
break;
case 4:
System.out.println("当前为工作日");
break;
case 5:
System.out.println("当前为工作日");
break;
case 6:
System.out.println("当前为休息日");
break;
case 7:
System.out.println("当前为工作日");
break;
default:
System.out.println("你的输入有误");
break;
}
}
}
3).判断月份
public class Test05 {
public static void main(String[] args) {
// switch判断月份
short season = 1;
switch (season) {
case 1:
System.out.println("当前季节为冬季");
break;
case 2:
System.out.println("当前季节为冬季");
break;
case 12:
System.out.println("当前季节为冬季");
break;
case 3:
System.out.println("当前季节为春季");
break;
case 4:
System.out.println("当前季节为春季");
break;
case 5:
System.out.println("当前季节为春季");
break;
case 6:
System.out.println("当前季节为夏季");
break;
case 7:
System.out.println("当前季节为夏季");
break;
case 8:
System.out.println("当前季节为夏季");
break;
case 9:
System.out.println("当前季节为秋季");
break;
case 10:
System.out.println("当前季节为秋季");
break;
case 11:
System.out.println("当前季节为秋季");
break;
default:
System.out.println("你输入的季节有误");
break;
}
}
}
4).定义四则运算
public class Test06 {
public static void main(String[] args) {
// switch:四则运算
char oper = '-';
int a = 4;
int b = 2;
switch (oper) {
case '+':
System.out.println("a+b="+a+b);
break;
case '-':
System.out.println("a-b="+(a-b));
break;
case '*':
System.out.println("a*b="+a*b);
break;
case '/':
System.out.println("a+b="+a/b);
break;
default:
System.out.println("你输入的运算符有误");
break;
}
}
}
(三)、注意:
1.switch语句表达式返回的结果类型只能是byte、short、char、int、枚举(jdk1.5之后)、String(jdk1.7之后),其中最常用的是int;
2.case与default之间的执行顺序为:先判断所有的case,没有匹配到case进入default;
3.switch语句的停止条件时遇到break关键字或者switch语句结束的大括号;
4.switch和case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能是变量;
5.break最好不要省略,否则会出现:case穿透。
例如:
public class Test05 {
public static void main(String[] args) {
// switch判断月份
short season = 1;
switch (season) {
case 1:
case 2:
case 12:
System.out.println("当前季节为冬季");
break;
case 3:
case 4:
case 5:
System.out.println("当前季节为春季");
break;
case 6:
case 7:
case 8:
System.out.println("当前季节为夏季");
break;
case 9:
case 10:
case 11:
System.out.println("当前季节为秋季");
break;
default:
System.out.println("你输入的季节有误");
break;
}
}
}
6.在switch语句中,都需要有default分支。