Java if/else语句

Java的 if语句 是使用最多的条件分支结构,它属于选择语句,也可以称为条件语句。Java中有多种类型的if语句。

  • if语句
  • if-else语句
  • if-else-if语句
  • 嵌套if语句

1 Java if语句

if 选择结构是根据条件判断之后再做处理的一种语法结构。默认情况下,if 语句控制着下方紧跟的一条语句的执行。不过,通过语句块,if 语句可以控制多个语句。

1.1 Java if语句的语法

if 语句的最简语法格式如下,表示“如果满足某种条件,就进行某种处理”。

if (条件表达式) {
    语句块;
}

其中“条件表达式”和“语句块”是比较重要的两个地方。

  1. 条件表达式:条件表达式可以是任意一种逻辑表达式,最后返回的结果必须是一个布尔值。取值可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。如果条件为真,那么执行语句块;如果条件为假,则语句块将被绕过而不被执行。
  2. 语句块:该语句块可以是一条语句也可以是多条语句。如果仅有一条语句,可省略条件语句中的大括号 {}。当从编程规范角度不要省略大括号,省略大括号会使程序的可读性变差。

1.2 Java if语句的示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {
    public static void main(String[] args) {
        //定义age变量
        int age=20;
        //判断age的值
        if(age>18){
            System.out.print("你的年龄已经超过18了");
        }
    }
}

输出结果为:

你的年龄已经超过18了

2 Java if-else语句

单 if 语句仅能在满足条件时使用,而无法执行任何其他操作(停止)。而结合 else 语句的 if 可以定义两个操作,此时的 if…else 语句表示“如果条件正确则执行一个操作,否则执行另一个操作”。

2.1 Java if-else语句的语法

使用 if…else 语句的语法格式如下所示:

if (表达式) {
    语句块1;
} else {
    语句块2;
}

在上述语法格式中,如果 if 关键字后面的表达式成立,那么就执行语句块 1,否则的话则执行语句块 2,其运行流程如下图所示。

2.2 Java if-else的示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {
    public static void main(String[] args) {
        int number=13;
        //判断number是否能被2整除
        if(number%2==0){
            System.out.println("偶数");
        }else{
            System.out.println("奇数");
        }
    }
}

输出结果为:

奇数

3 Java if-else-if语句

if 语句的主要功能是给程序提供一个分支。然而,有时候程序中仅仅多一个分支是远远不够的,甚至有时候程序的分支会很复杂,这就需要使用多分支的 if…else if 语句。

通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一种处理……,这些条件都不满足则执行最后一种条件”。

3.1 Java if-else-if的语法

if(表达式1) {
    语句块1;
} else if(表达式2) {
    语句块2;
...
} else if(表达式n) {
    语句块n;
} else {
    语句块n+1;
}

可以看出,else-if 结构实际上是 if-else 结构的多层嵌套。明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。

在使用 if…else if 语句时,依次判断表达式的值,当某个分支的条件表达式的值为 true 时,则执行该分支对应的语句块,然后跳到整个 if 语句之外继续执行程序。如果所有的表达式均为 false,则执行语句块 n+1,然后继续执行后续程序,其运行流程如下图所示。

3.2 Java if-else-if的示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {
    public static void main(String[] args) {
        int marks=65;//考试分数

        if(marks<50){
            System.out.println("不及格");
        }
        else if(marks>=50 && marks<60){
            System.out.println("D级");
        }
        else if(marks>=60 && marks<70){
            System.out.println("C级");
        }
        else if(marks>=70 && marks<80){
            System.out.println("B级");
        }
        else if(marks>=80 && marks<90){
            System.out.println("A级");
        }else if(marks>=90 && marks<100){
            System.out.println("A+级");
        }else{
            System.out.println("参数错误!");
        }
    }
}

输出结果为:

C级

4 Java 嵌套if语句

if 语句的用法非常灵活,不仅可以单独使用,还可以在 if 语句里嵌套另一个 if 语句。同样,if…else 语句和 if…else if 语句中也可以嵌套另一个 if 结构的语句,以完成更深层次的判断。

4.1 Java 嵌套if语句的语法

嵌套 if 的语法格式如下:

if(表达式1) {
    if(表达式2) {
        语句块1;
    } else {
        语句块2;
    }
} else {
    if(表达式3) {
        语句块3;
    } else if(表达式4) {
        语句块4;
    } else {
        if(表达式n) {
            语句块n;
        } else {
            语句块n+1;
        }
    }
}

在上述格式中,应该注意每一条 else 与离它最近且没有其他 else 对应的 if 相搭配,其执行流程如下图所示。

4.2 Java 嵌套if语句的示例

package com.yiidian;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class Demo {
    public static void main(String[] args) {
        //创建两个变量age和weight
        int age=20;
        int weight=80;
        //判断age和weight
        if(age>=18){
            if(weight>50){
                System.out.println("你已经有资格自愿献血了");
            }
        }
    }
}

输出结果为:

你已经有资格自愿献血了

 

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码