Java流程控制

  1. 因为浮点数的精度无法保证,所以不能用浮点数来做判断
    if(x == 0.1){  //不靠谱
    
    }
    if(Math.abs(x - 0.1) < 0.0001){ //如此判断x是否等于1
    }
  2. 判断两个字符串是否相等
    String s1 = "hello";
    String s2 = "HELLO".toLowerCase();
    if(s1 == s2)判断的是两个变量指向的是否是同一对象
    if(s1.equals(s2))判断的是两个字符串变量的内容是否相等

    注意:如果s为null,调用s.equals()会报错,保险的做法是:
    if (s != null && s.equals("hello"))
    或者把非null的对象放在前面:
    if("hello".equals(s))

      

  3. switch 漏写break将导致程序继续往下执行
    switch (option){
      case1:
      case2: //程序在匹配到case1和case2的时候都会执行下面的代码
    ...
    break;
    default:
    ...
    break;
    }

      

原文地址:https://www.cnblogs.com/wangwg1994/p/9277034.html