自学Java19

80 阅读2分钟

引言

  • 在记录自己自学java过程中,首先声明关于学习顺序可能并不很科学,即使我也是通过一些公开的资料来进行学习,但不会是完全无基础的教学,更像是比对着python(本人平时编程使用的是python)比较实现方法的异同学习,请酌情参考学习,有理解不对的地方欢迎指正。

java-流程控制 2

关于Java中的if-else判断

  • if语句还可以编写一个else { ... },当条件判断为false时,将执行else的语句块:(else不是必须有的)
public class Main {
    public static void main(String[] args) {
        int n = 70;
        if (n >= 60) {
            System.out.println("及格了");
        } else {
            System.out.println("挂科了");
        }
        System.out.println("END");
    }
}
  • 加上else后,不执行if必然要执行else,执行了if就不会执行else属于互斥情况

else if

  • 当然我们做条件判断可能远不止两种情况非好即坏,一般用有多种判断条件那么除了开始的if条件用if,其他的判断条件就要用到else if语句
public class Main {
    public static void main(String[] args) {
        int n = 70;
        if (n >= 90) {
            System.out.println("优秀");
        } else if (n >= 60) {
            System.out.println("及格了");
        } else {
            System.out.println("挂科了");
        }
        System.out.println("END");
    }
}
  • 当然也可以只用if-else串联的方式来实现上述代码(在Java中因为有{}存在这样用很容易乱,最好使用else if更加直观一些)

  • 当然多个判断语句要注意顺序(因为多个判断语句同样是互斥的),其实也就是注意逻辑关系,比如下面例子(显然其实应该是优秀的,但是根据执行顺序只会显示及格了就会跳出了)
public class Main {
    public static void main(String[] args) {
        int n = 100;
        if (n >= 60) {
            System.out.println("及格了");
        } else if (n >= 90) {
            System.out.println("优秀");
        } else {
            System.out.println("挂科了");
        }
    }
}

  • 所以总结就是条件判断设置要互斥,不能满足多个判断,可以根据实际应用场景从大到小或者从小到大
  • 还有就是关于边界的问题,比如第一个区间是[0, 20],那么20已经包含在第一个区间,第二个区间就不可以包含20了,(20,50],以此类推,这些都是必备技能