# Java 表达式，语句和块

> 原文： [https://www.programiz.com/java-programming/expressions-statements-blocks](https://www.programiz.com/java-programming/expressions-statements-blocks)

#### 在本教程中，您将通过示例了解 Java 表达式，Java 语句，表达式与语句之间的区别以及 Java 块。

在前面的章节中，我们使用了表达式，语句和块，而没有对其进行太多解释。 现在您已经了解了变量，运算符和字面值，将更容易理解这些概念。

* * *

## Java 表达式

Java 表达式由[变量](/java-programming/variables-primitive-data-types#variables "Java Variables")，[运算符](/java-programming/operators "Java Operators")，[字面值](/java-programming/variables-primitive-data-types#literals "Java Literals")和方法调用组成。 要了解有关方法调用的更多信息，请访问 [Java 方法](/java-programming/methods "Java Methods")。 例如，

```java
int score; 
score = 90; 
```

在此，`score = 90`是返回`int`的表达式。 再看一个例子，

```java
Double a = 2.2, b = 3.4, result;
result = a + b - 3.4; 
```

在此，`a + b - 3.4`是一个表达式。

```java
if (number1 == number2)
    System.out.println("Number 1 is larger than number 2"); 
```

在此，`number1 == number2`是一个返回布尔值的表达式。 同样，`"Number 1 is larger than number 2"`是字符串表达式。

* * *

## Java 语句

在 Java 中，每个语句都是完整的执行单元。 例如，

```java
int score = 9*5; 
```

在这里，我们有一个声明。 该语句的完整执行包括将整数`9`和`5`相乘，然后将结果分配给变量`score`。

在上面的语句中，我们有一个表达式`9 * 5`。 在 Java 中，表达式是语句的一部分。

* * *

### 表达式语句

我们可以通过使用`;`终止表达式来将表达式转换为语句。 这些称为表达式语句。 例如，

```java
// expression
number = 10
// statement
number = 10; 
```

在上面的示例中，我们有一个表达式`number = 10`。 在这里，通过添加分号（`;`），我们已将表达式转换为语句（`number = 1;`）。

再看一个例子，

```java
// expression
++number
// statement
++number; 
```

同样，`++number`是一个表达式，而`++number;`是一个语句。

* * *

### 声明语句

在 Java 中，声明语句用于声明变量。 例如，

```java
Double tax = 9.5; 
```

上面的语句声明了一个变量`tax`，该变量已初始化为`9.5`。

**注意**：Java 中有一些决策和循环中使用的控制流语句。 您将在后面的章节中了解控制流语句。

* * *

## Java 块

块是用大括号`{ }`括起来的一组语句（零个或多个）。 例如，

```java
class Main {
    public static void main(String[] args) {

        String band = "Beatles";

        if (band == "Beatles") { // start of block
            System.out.print("Hey ");
            System.out.print("Jude!");
        } // end of block
    }
} 
```

**输出**：

```java
Hey Jude! 
```

在上面的示例中，我们有一个块`if {....}`。

在此，在块内部，我们有两个语句：

*   `System.out.print("Hey ");`
*   `System.out.print("Jude!");`

但是，一个块可能没有任何语句。 考虑以下示例，

```java
 class Main {
    public static void main(String[] args) {

        if (10 > 5) { // start of block	

        } // end of block
    }
} 
```

这是有效的 Java 程序。 在这里，我们有一个块`if {...}`。 但是，此块内没有任何语句。

```java
class AssignmentOperator {
    public static void main(String[] args) {  // start of block 	

    } // end of block
} 
```

在这里，我们有`public static void main() {...}`块。 但是，类似于上面的示例，此块没有任何语句。