条件判断if
if (condition) {
//
} else {
//
}
- 只有单条语句也不建议省略花括号
- 多个if ... else串联要注意判断顺序
- 要注意判断边界条件
- 浮点数不能用
==
判断 math.abs(x-data)<0.0000001 - 引用类型用
==
判断是否为同一对象,用equals()
判断是否逻辑相等 - 用
equals()
注意避免null
/**
* 计算身体重量是否合适
*/
import java.util.Scanner;
public class Condition {
public static void main(String[] args) {
// TODO Auto-generated method stub
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.println("please input weighth (units:kg):");
float weighth = scanner.nextFloat();
System.out.println("please input heighth (units:m):");
float heighth = scanner.nextFloat();
System.out.println(analyzeBMI(weighth, heighth));
System.out.println("Continue analyze another data? Y/N");
if (scanner.nextLine().equals("N") || scanner.nextLine().equals("n")) {
break;
}
}
}
public static String analyzeBMI(float weighth, float heighth) {
float bmi = weighth/(heighth*heighth);
if (bmi >32) {
return "非常肥胖";
}
else if(bmi<=32 && bmi>28){
return "肥胖";
}
else if(bmi<=28 && bmi>25) {
return "过重";
}
else if(bmi<=25 && bmi>18.5) {
return "正常";
}
else if(bmi<=18.5) {
return "过轻";
}
else {
return "none";
}
}
}