JAVA中的分支语句
一、分支语句
分支语句有两种if语句和switch语句
(1)if语句
if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码。
if 四种形式:单分支、双分支、多分支、嵌套if。
单分支:
if (布尔表达式) {
//布尔表达式为true时需执行的代码;
}
双分支:
if (布尔表达式) {
//布尔表达式为true时需执行的代码;
}else {
//布尔表达式为false时需执行的代码;
}
多分支:
if(布尔表达式1){
//布尔表达式1为true时执行的代码
}else if(布尔表达式2){
//布尔表达式1为false但是布尔表达式2为true时执行的代码
}else if(布尔表达式3){
//布尔表达式1和布尔表达式2为false但是布尔表达式3为true时执行的代码
}else{
//布尔表达式1、布尔表达式2和布尔表达式3均为false时执行的代码
}
嵌套if:
if(布尔表达式1){
//布尔表达式1为true时执行的代码
if(布尔表达式2){
//布尔表达式1和布尔表达式2均为true时执行的代码
}else{
//布尔表达式1为true,但布尔表达式2均为false时执行的代码
}
}else {
//布尔表达式1为false时执行的代码
}
注意:1、if分支语句中去掉括号,则对第一行代码有效
2、else不能单独使用
下面我们利用分支语句if解决实际问题
编写程序实现如下功能
某商城,在国庆节期间,根据用户积分数决定给用户送何种礼物,在控制台允许用户输入积分数x,根据用户的输入在控制台输出所送礼物。具体范围为:
x<5000,则输出“国庆节快乐,送您一章贺卡!”
5000 <=x<10000,则输出“国庆节快乐,送您一个杯子!”
10000<=x<30000,则输出“国庆节快乐,送您一套餐具!”
x >= 30000,则输出“国庆节快乐,送您一套精美骨质瓷器!”
public class Control{
public static void main(String [] args){
int point=6000;
if(point<5000 && point>0){
System.out.println("国庆节快乐,送您一章贺卡");
}else if(point>=5000 && point<10000){
System.out.println("国庆节快乐,送您一个杯子");
}else if(point>=10000 && point<30000){
System.out.println("国庆节快乐,送您一个餐具");
}else if(point>=30000){
System.out.println("国庆节快乐,送您一套精美骨质瓷器!");
}else System.out.println("输入错误");
}
}
//根据用户积分赠送礼物
思考:我们是否可以用嵌套if简化代码呢?
public class Control1{
public static void main(String [] args){
int point=6000;
if(point<0){
System.out.println("积分无效");
}else{
if(point<5000){
System.out.println("国庆节快乐,送您一章贺卡");
}else if(point<10000){
System.out.println("国庆节快乐,送您一个杯子");
}else if(point<30000){
System.out.println("国庆节快乐,送您一个餐具");
}else{
System.out.println("国庆节快乐,送您一套精美骨质瓷器!");
}
}
}
}
(2)switch语句
switch分支语句语法:
switch ( 表达式 ) {
case 常量1 :
当表达式的值等于整型常量1时执行的语句;
break;//当一种情况包含其他情况时
case 常量2 :
当表达式的值等于整型常量2时执行的语句;
break;
-—
default:
当表达式的值不满足任何一个case的值时,执行的语句;
}
break和return在switch语句中的作用:
break是结束当前switch,return是结束当前方法。
下面举两个例子
public class Switchtest{
public static void main(String [] args){
int date=2;
switch (date){
case 1:
System.out.println("星期一");
break; //break结束当前switch,return结束当前方法
case 2:
System.out.println("星期二");
default: //当以上条件均不满足时执行default
System.out.println("###");
}
System.out.println("???");
}
}
输出结果为:星期一
???
思考:若将break改为return,结果是什么?
星期一
提示:return只结束其所在方法的运行,return不能使用在代码块中。
还没有评论,来说两句吧...