Java中 if 、switch条件语句
一、Java条件语句之 if 语句
语法 if(条件){
条件成立时执行的代码
}
执行过程:
如:
public class if_demo{
public static void main(String[] args){
int score=95;
if(score>90){
System.out.println("奖励一个笔记本电脑");
}
}
}
注意:如果 if 条件成立时的执行语句只有一条,是可以省略大括号(不建议省略)。但执行语句有多条,就不可省略。
1.1 Java条件语句之 if...else
-
if...else.... 语句的操作比 if 语句多了一步: 当条件成立时,则执行 if 部分的代码块; 条件不成立时, 则进入 else 部分。例如,如果考试成绩大于 90 分,则奖励一个笔记本电脑 ,否则罚做 500 个俯卧撑。
语法:
if (条件的布尔表达式true/false){
代码块1
}else{
代码块2
}
执行过程:
如:
public class if_demo{
public static void main(String[] args){
int score=95;
if(score>90){
System.out.println("奖励一个笔记本电脑");
}else{
System.out.println("罚款500个俯卧撑");
}
}
}1.2 Java条件语句之多重 if
多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。例如,如果考试成绩大于 90 分,则奖励一个 笔记本电脑 ,如果成绩介于 70 分至 90 分之间,则奖励一个华为手机,否则罚做 500 个俯卧撑。
语法:
if(条件1){
代码块1
}else if(条件2){
代码块2
}.......else{
代码块3
}
执行过程:
如:
public class if_demo{
public static void main(String[] args){
int score=95;
if(score>90){
System.out.println("奖励一个笔记本电脑");
}else if(score>70){
System.out.println("奖励一个华为手机");
}else{
System.out.println("罚款500个俯卧撑");
}
}
}
}该段代码的含义是:如果 score 值大于90,则奖励一个笔记本电脑,当 score 值小于等于 90 时,先判断 score 是否大于 70 ,如果 score 是介于 70--90 之间,则奖励一个华为手机,如果成绩小于等于 70 ,则罚做 500 个俯卧撑
当需要判断的条件是连续的区间时,使用多重 if 语句是非常方便
1.3 Java条件语句之嵌套 if
嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。例如,活动计划的安排,如果今天是工作日,则去上班,如果今天是周末,则外出游玩;同时,如果周末天气晴朗,则去室外游乐场游玩,否则去室内游乐场游玩。
语法:
if(条件1){
if(条件2){
代码块1
}else {
代码块2
}else{
代码块3
}
}
执行流程:
如:
public class if_demo{
public static void main(String[] args){
String today = "周末";
String weekend = "晴朗";
if(today.equals("周末")){ //注:外层结构
if(weekend.equals("晴朗")){ //注: 内层结构
System.out.println("去室外游乐场游玩");
}else{
System.out.println("去室内游乐场游玩");
}
}else{
System.out.println("去上班");
}
}扩展知识点: equals ( )用于判断字符串的内容是否相同,相同则返回true,反之false
二、Switch 语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
2.1语法:
switch(变量){
case 条件:
//语句
break; //可选
case 条件 :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
break; //可选
}
如:打印出1-12月对应的季节。
public class Switch_demo{
public static void main(String[] args){
//模拟一个月份
int month =7;
switch(month){
case 12:
case 1:
case 2:
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;
}
}
}
break; 起到终止的作用,如果将break去掉之后,语句直接往下执行,称这种情况为穿透。
示例:
default 语句可以随意写,也可以不写。上面的例子中都是没有写default;下图示例default随意写执行的结果不受影响:
注意点:1.switch 适用于结果确定,结果数量确定(不易过多,一般12个左右)
2.default 的位置可以随意写。
3.break起到终止的作用
4.当注释掉break/不写之后,语句可以直接往下执行,称这种情况为穿透
5.switch可以支持的类型 byte short int JDK1.5及之后支持enum枚举 JDK1.7之后支持String
如何选择(if 和 switch)
当结果确定且数量少,建议选择 switch ,如果是常量判断也可以选择使用switch