基础篇5:Java中if条件语句的基础和应用(设计简单的优化功能)

if条件语句: 本文对if条件语句的基础知识和应用场景做出了详细的介绍。

if条件语句就是为了解决不同的条件下得到不同的结果的问题。就像每个人的人生,每一个选择,将会有不同的人生历程。未来的日子,编程常伴!

if条件语句的三种形式

//第一种:单分支结构
if(判断条件boolean类型){
    方法体 }

//应用场景1
//如果你爱我,那我也爱你。
iftrue{
System.out.println("我也爱你")
  } 
//第二种:多分支结构
if(判断条件boolean类型){
       方法体   }else{
       方法体   }
//应用场景2
//如果你爱我,我也爱你。如果你不爱我,滚!
iftrue{
       System.out.println("我爱你");
          }else{
        System.out.println("滚!");
          }
//重点是第三种:嵌套分支
if(判断条件boolean类型){
    方法体1}else{
    方法体2}else{
    方法体3}....
  //应用场景3
  //接收用户输入的原价。满1000打9折。满2000打8折。满5000打5折。
  public static void main(String[] args) {
		//商品打折
		//输入商品价格
		System.out.print("请输入商品的价格:");
		//接收键盘输入的商品价格
		double price=new Scanner(System.in).nextDouble();
		//定义商品价格的变量,价格含有小数,double类型
		double x=price;
		//if语句,先判断是否大于等于5000
		if(price>=5000) {
			x=price*0.5; //输出相应条件下折算后的商品价格
		}else if (price>=2000) {
			x=price*0.8;
		}else if (price>=1000) {
			x=price*0.9;
		}else {
			x=price;
		}
		//输出商品的原价和折后价
       System.out.println("商品原价是:"+price+",折后价是:"+x);
	}
//扩展知识
/*
--计算公式为:BMI=体重(千克)除以身高(米)的平方。
		--体重过轻: BMI < 18.5 
		--正常范围: 18.5≦ BMI<24 
		--过重:24≦ BMI<27
		--轻度肥胖:27≦ BMI<30
		--中度肥胖:30≦ BMI<35
		--重度肥胖:BMI≧ 35
*/ 

		//输入体重
		System.out.print("请输入你的体重(kg)");
		double weight=new Scanner(System.in).nextDouble();
		//输入身高
        System.out.print("请输入你的身高(m)");		
        double height=new Scanner(System.in).nextDouble();
        //计算BMI值
        double BMI=weight/(height*height);
        //定义身体质量指标评语
        String condition=null;
        //if(){}  else if(){}  else if(){}  else 嵌套结构
        if(BMI>=35) {
        	condition="重度肥胖";
        }else if (BMI>=30) {
        	condition="中度肥胖";
        }else if(BMI>=27) {
        	condition="轻度肥胖";
        }else if(BMI>=24) {
		    condition="过重";
        }else if(BMI>=18.5) {
	        condition="正常范围";
        }else {
	        condition="体重过轻";
        }
        System.out.println("你的身体质量指数评为:"+condition+"。\r\nBMI是:"+BMI+"。");
	}

后续需要补充的知识点:if语句的优化问题

第一种方式:减少判断参数

  这个是可以很容易实现的,当然也不是说,直接不要这个参数里。
这里是把判断条件合并到一起,通过逻辑运算符把它们合并起来。这样就是基于条件参数只有一个分支语句,这样的参数完全可以优化掉或者下层分支合并,而且判断参数的个数决定了分支语句的层级,减少if的复杂度。

//多层嵌套if条件语句模式
if(gender=="man"){
             if(age>18){
             if(name.equals("x"){
                Stystem.out.println(name);
             }
        }
    }

合并 判断参数,减少分支层级:

//短路与的&&若左边为false,则右边短路不予执行,
//若左边为true,右边还要执行
if(gender=="man"&&age>18&&name.equals("x")){
          System.out.println (name);        } 

后续还会补充一些if条件语句的优化,现在还在不断的学习中。。。
大家好,我是27岁的小学生liu_peng

  2020.12.24 22:38版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值