if语句的优化

if语句的优化

if else语句的优化

public class IfTest01{
	public static void main(String[] args){

		// 定义一个布尔类型的变量,表示性别。
		//boolean sex = true;
		boolean sex = false;

		//业务:当sex为true时表示男,为false时表示女。
		/*
		if(sex == true){ // == 是关系运算符,不是赋值运算符,== 双等号是用来判断是否相等的。
			System.out.println("男");
		}else{
			System.out.println("女");
		}
		*/

解析:sex本身就是一个Boolean类型,使用sex==true有些累赘;

改良一:

if(sex){
			System.out.println("男");
		}else{
			System.out.println("女");
		}

解析:直接使用sex(Boolean类型)进行判断

改良二:


		// 可以再进一步改良
		// 可以使用三目运算符
		sex = false;
		System.out.println(sex ? "男" : "女");

解析:使用三目运算符

if else if 语句的优化

题目:

业务要求:
1、从键盘上接收一个人的年龄。
2、年龄要求为[0-150],其它值表示非法,需要提示非法信息。
3、根据人的年龄来动态的判断这个人属于生命的哪个阶段?
[0-5] 婴幼儿
[6-10] 少儿
[11-18] 少年
[19-35] 青年
[36-55] 中年
[56-150] 老年
4、请使用if语句完成以上的业务逻辑。

源码1

public class IfTest02{
	public static void main(String[] args){
		java.util.Scanner s = new java.util.Scanner(System.in);
		System.out.print("请输入年龄:");
		int age = s.nextInt();
		//System.out.println("测试以下,您输入的年龄是:" + age);
		/*
		if(age < 0 || age > 150){
			System.out.println("对不起,年龄值不合法");
		} else {
			// 能够走到这个分支当中,说明年龄是合法的。
			// 可以进一步使用嵌套的if语句进行判断。
			//if(age >= 0 && age <= 5){}
			// 当前先使用if嵌套的方式,当然,嵌套不是必须的。可以有其它写法。
			//System.out.println("年龄值合法");
			// 年龄值合法的情况下,继续判断年龄属于哪个阶段的!!!!
			//if(age >= 0 && age <= 5){} // 这样写代码比较啰嗦了。
			if(age <= 5){
				System.out.println("婴幼儿");
			} else if(age <= 10){
				System.out.println("少儿");
			} else if(age <= 18){
				System.out.println("少年");
			} else if(age <= 35){
				System.out.println("青年");
			} else if(age <= 55){
				System.out.println("中年");
			} else {
				System.out.println("老年");
			}
		}

解析:一般小白会使用如下判断条件

//if(age >= 0 && age <= 5){}

这种比较啰嗦

改良

if(age < 0 || age > 150){
			System.out.println("对不起,年龄值不合法");
		} else if(age <= 5){
			System.out.println("婴幼儿");
		} else if(age <= 10){
			System.out.println("少儿");
		} else if(age <= 18){
			System.out.println("少年");
		} else if(age <= 35){
			System.out.println("青年");
		} else if(age <= 55){
			System.out.println("中年");
		} else {
			System.out.println("老年");
		}

else if 条件判断从上到下,如果执行到下一步,则上面的条件都不满足,可以直接排除,在由此建立判断条件

改良:

String str = "老年"; // 字符串变量默认值是“老年”
		if(age < 0 || age > 150){
			System.out.println("对不起,年龄值不合法");
			// 既然不合法,你就别让程序往下继续执行了,怎么终止程序执行
			//return;
		} else if(age <= 5){
			str = "婴幼儿";
		} else if(age <= 10){
			str = "少儿";
		} else if(age <= 18){
			str = "少年";
		} else if(age <= 35){
			str = "青年";
		} else if(age <= 55){
			str = "中年";
		} 
		System.out.println(str);

建立字符串str;

最后的建议:

	// 对于初学者来说可能代码会写成这样,这是正常的。
	// 代码的经验需要一步一步的积累,慢慢的代码就会越来越漂亮了。
	// 需要时间,需要积累代码经验。最好的代码是:最少的代码量,最高的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值