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不能使用在代码块中。

猜你喜欢

转载自blog.csdn.net/caiwenchuan008/article/details/79779407