首页 > 编程笔记

Java if else条件语句用法详解

在 Java 中,if 语句的语法格式如下:
if(condition)
{
    //do something
}
很好理解,如果 if 语句括号中的 condition 判断成功(条件的值为真,即 True),就会执行 if 语句体,也就是花括号中的语句。

我们来看一个简单的例子:
public class Main {

    public static void main(String[] args) {
        int i = 0;
        if(i<0)
        {
            System.out.println("i的值小于零");
        }
        if(i==0)//注意这里有两个等号
        {
            System.out.println("i的值等于零");
        }
        if(i>0)
        {
            System.out.println("i的值大于零");
        }
    }
}
最后的输出结果为:

i的值等于零

if 语句的应用还算简单,在这个例子中,首先将 i 的值设定为 0,然后下面列出了三个条件,哪一个条件在 if 语句里从上到下判断成功了,就会执行哪一个 if 语句中的程序语句。

在上面的程序中,假设输入的 i 小于 0,那么第一个 if 语句判断成功,输出“i的值小于零”。但是,在程序中我们设定 i 的值是 0,程序首先进入第一个 if 语句判断 i 是否小于 0,发现 i 不小于 0,因此进入下一个 if 语句,判断 i 的值是否等于 0,发现 i 的值正好等于 0,然后开始执行这个 if 条件语句中的代码。最后程序运行到第三个 if 语句,i 的值并没有大于 0,程序判断失败,不执行第三个 if 语句中的代码。

编写 if 条件语句的方式是 if(){},小括号中表示进行判断的条件,大括号中表示判断成功后需要执行的代码。

下面再来看看 if 语句的另一个用法,即 if else 语句。

if else语句

首先我们改写上一个程序的语句,把后面两个 if 语句合并为 else 来表示:
public class Main {

    public static void main(String[] args) {
        int i = 0;
        if(i<0)
        {
            System.out.println("i的值小于零");
        }
        else
        {
            System.out.println("i的值大于等于零");
        }
    }
}
最后的输出结果为:

i的值大于等于零

从这个程序中看到,if else 通常可以理解为如果满足了什么条件,就进行某种处理,否则进行另一种处理。

在英语中,if 是“如果”的意思,else 是“其他”的意思。所以这个程序最先设定 i 的值为 0,通过这个语句可以判断 i 不符合第一个 if 语句的条件,i 并没有小于零,因此会执行 else 中的语句。

除了这种语法之外,还有一种关于 if 的语法,即 if else if 的多分支语句。

if else if语句

这种多分支的语句其实与使用多个 if 语句有所不同,我们尝试下面的写法来替换上一小节中的程序:
public class Main {

    public static void main(String[] args) {
        int i = 0;
        if(i<0)
        {
            System.out.println("i的值小于零");
        }
        else if(i==0)//注意这里有两个等号
        {
            System.out.println("i的值等于零");
        }
        else if(i>0)
        {
            System.out.println("i的值大于零");
        }
    }
}
最后的输出结果为:

i的值等于零

这个程序的执行结果和上一小节给出程序的执行结果是一样的。但是其实现原理和多个 if 语句连续使用有很大的区别。

使用 if else if 语句只会对其中的一个条件分支进行输出,哪一个条件最先判断成功就输出哪一个条件,然后程序终止,并不会对后面的条件语句继续进行判断。

推荐阅读