if条件语句: 本文对if条件语句的基础知识和应用场景做出了详细的介绍。
if条件语句就是为了解决不同的条件下得到不同的结果的问题。就像每个人的人生,每一个选择,将会有不同的人生历程。未来的日子,编程常伴!
if条件语句的三种形式
//第一种:单分支结构
if(判断条件boolean类型){
方法体 }
//应用场景1
//如果你爱我,那我也爱你。
if(true){
System.out.println("我也爱你")
}
//第二种:多分支结构
if(判断条件boolean类型){
方法体 }else{
方法体 }
//应用场景2
//如果你爱我,我也爱你。如果你不爱我,滚!
if(true){
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版本