# Java 中的`if`和`if-else`语句及示例

> 原文： [https://beginnersbook.com/2017/08/if-else-statement-in-java/](https://beginnersbook.com/2017/08/if-else-statement-in-java/)

当我们需要根据条件执行一组语句时，我们需要使用**控制流语句**。例如，如果一个数字大于零，那么我们要打印“正数”，但如果它小于零，那么我们要打印“负数”。在这种情况下，程序中有两个 print 语句，但根据输入值一次只执行一个 print 语句。我们将看到如何使用控制语句在 java 程序中编写这种类型的条件。

在本教程中，我们将看到四种类型的控制语句，您可以根据需求在 java 程序中使用：在本教程中，我们将介绍以下条件语句：

a）if 语句
b）嵌套 if 语句
c）if-else 语句
d）if-else-if 语句

## `if`声明

如果语句包含条件，则后跟语句或一组语句，如下所示：

```java
if(condition){
  Statement(s);
}
```

只有在给定条件为真时才会执行语句。如果条件为 false，那么 if 语句体内的语句将被完全忽略。
![if statement flow diagram](img/8348367489fe93480c63d95c5eaf34ee.jpg)

### `if`语句的示例

```java
public class IfStatementExample {

   public static void main(String args[]){
      int num=70;
      if( num < 100 ){
	  /* This println statement will only execute,
	   * if the above condition is true
	   */
	  System.out.println("number is less than 100");
      }
   }
}
```

**输出：**

```java
number is less than 100
```

## Java 中嵌套`if`语句

当在另一个 if 语句中有 if 语句时，它被称为**嵌套 if 语句**。
嵌套的结构如下所示：

```java
if(condition_1) {
   Statement1(s);

   if(condition_2) {
      Statement2(s);
   }
}
```

如果 condition_1 为 true，则执行 Statement1。只有条件（condition_1 和 condition_2）都为真时，Statement2 才会执行。

### 嵌套`if`语句的示例

```java
public class NestedIfExample {

   public static void main(String args[]){
        int num=70;
	if( num < 100 ){ 
           System.out.println("number is less than 100"); 
           if(num > 50){
	      System.out.println("number is greater than 50");
	   }
	}
   }
}
```

**Output:**

```java
number is less than 100
number is greater than 50

```

## 在 Java 中使用`if-else`语句

这是 if-else 语句的外观：

```java
if(condition) {
   Statement(s);
}
else {
   Statement(s);
}
```

如果条件为真，则“if”内的语句将执行，如果条件为假，则“else”内的语句将执行。
![If else flow diagram](img/df84b9366c0b823cd802fd7d7f16e7e3.jpg)

### `if-else`语句的示例

```java
public class IfElseExample {

   public static void main(String args[]){
     int num=120;
     if( num < 50 ){
	System.out.println("num is less than 50");
     }
     else {
	System.out.println("num is greater than or equal 50");
     }
   }
}
```

**Output:**

```java
num is greater than or equal 50

```

## `if-else-if`语句

当我们需要检查多个条件时使用 if-else-if 语句。在这个声明中，我们只有一个“if”和一个“else”，但是我们可以有多个“else if”。如果梯子，它也被称为**。这是它的样子：**

```java
if(condition_1) {
   /*if condition_1 is true execute this*/
   statement(s);
}
else if(condition_2) {
   /* execute this if condition_1 is not met and
    * condition_2 is met
    */
   statement(s);
}
else if(condition_3) {
   /* execute this if condition_1 & condition_2 are
    * not met and condition_3 is met
    */
   statement(s);
}
.
.
.
else {
   /* if none of the condition is true
    * then these statements gets executed
    */
   statement(s);
}
```

**注意：**这里要注意的最重要的一点是，在 if-else-if 语句中，只要满足条件，就会执行相应的语句集，忽略 rest。如果没有满足条件，则执行“else”内的语句。

### `if-else-if`的示例

```java
public class IfElseIfExample {

   public static void main(String args[]){
	int num=1234;
	if(num <100 && num>=1) {
	  System.out.println("Its a two digit number");
	}
	else if(num <1000 && num>=100) {
	  System.out.println("Its a three digit number");
	}
	else if(num <10000 && num>=1000) {
	  System.out.println("Its a four digit number");
	}
	else if(num <100000 && num>=10000) {
	  System.out.println("Its a five digit number");			
	}
	else {
	  System.out.println("number is not between 1 & 99999");			
	}
   }
}
```

**Output:**

```java
Its a four digit number

```

查看这些相关的 [java 示例](https://beginnersbook.com/2017/09/java-examples/)：

1.  [Java 程序使用 if..else..if](https://beginnersbook.com/2017/09/java-program-to-find-largest-of-three-numbers/) 查找三个数字中最大的一个
2.  [Java 程序检查数字是正数还是负数](https://beginnersbook.com/2017/09/java-program-to-check-if-number-is-positive-or-negative/)
3.  [Java 程序检查数字是偶数还是奇数](https://beginnersbook.com/2014/02/java-program-to-check-even-or-odd-number/)