墨小澄  

1、if语句判断

  * 语法:

      1)if(条件){  //条件满足时执行的代码块; }

                    else{  //条件不满足时执行的代码块; }

      2)if(条件1){  //条件1满足时执行的代码块;}

         else if(条件2){ //条件2满足时执行的代码块;}

         else{   //条件都不满足时执行的代码块;}

  * 浮点数在计算机中常无法精确表示,并且计算可能出现误差,故判断浮点数相等的正确方式是利用差值小于某个临界值来判断; 

 1 public class Main {
 2     public static void main(String[] args) {
 3         double x = 1 - 9.0 / 10;
 4         if (Math.abs(x - 0.1) < 0.00001) {
 5             System.out.println("x is 0.1");
 6         } else {
 7             System.out.println("x is NOT 0.1");
 8         }
 9     }
10 }

  * 判断引用类型相同:

    判断值类型的变量是否相等,可使用 == 运算符;

    判断引用类型的变量是否相等,若使用 == 只能表示“引用是否相等” 或者说 "是否指向同一个对象",判断引用类型的变量内容是否相等,必须使用 equals()方法

 1 public class Main {
 2     public static void main(String[] args) {
 3         String s1 = "hello";
 4         String s2 = "HELLO".toLowerCase();
 5         System.out.println(s1);
 6         System.out.println(s2);
 7         if (s1.equals(s2)) {
 8             System.out.println("s1 equals s2");
 9         } else {
10             System.out.println("s1 not equals s2");
11         }
12     }
13 }

【注意】:执行语句 s1.equals(s2) 时,若变量s1为null,会报 NullPointerException。

     若要避免这种错误,可以使用短路运算符 &&:

1 public class Main {
2     public static void main(String[] args) {
3         String s1 = null;
4         if (s1 != null && s1.equals("hello")) {
5             System.out.println("hello");
6         }
7     }
8 }

 

 1  //练习:编写一个程序,计算体制指数BMI,并打印结果
 2 // BMI=体重(kg)除以身高(m)的平方,结果:过轻:低于18.5; 正常:18.5-25;过重:25-28;肥胖:28-32;非常肥胖:高于32
 3 //平方可以使用n*n/Math.pow(n,2)
 4 public class Main(){
 5   public static void main(String[] args){
 6     Scanner scanner=new Scanner(System.in);
 7     System.out.print("请输入您的体重(kg):");
 8     double w=scanner.nextDouble();
 9     System.out.print("请输入您的身高(m):");
10     double h=scanner.nextDouble();
11     double BMI=w/Math.pow(h, 2);
12     if(BMI>=32) {
13         System.out.printf("你的体质指数为%.2f,判断为过重",BMI);
14     }else if(BMI>=28) {
15         System.out.printf("您的体质指数为%.2f,判断为 肥胖",BMI);
16     }else if(BMI>=25) {
17         System.out.printf("您的体质指数为%.2f,判断为 过重",BMI);
18     }else if(BMI>=18.5) {
19         System.out.printf("您的体质指数为%.2f,判断为 正常", BMI);
20     }else {
21         System.out.printf("你的体制指数为%.2f,判断为 过轻",BMI);
22     }        
23   }  
24 }

 

posted on 2020-04-06 15:03  墨小澄  阅读(717)  评论(0编辑  收藏  举报