6.Java选择语句if……else和switch语句

上一篇:5.Java中的运算符



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分支。


下一篇:7.Java循环语句for、while和控制语句

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值