8.md 3.7 KB
Newer Older
W
wizardforcel 已提交
1 2 3 4 5 6
# Java 表达式,语句和块

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

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

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

* * *

## Java 表达式

W
wizardforcel 已提交
13
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")。 例如,
W
wizardforcel 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

```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 中,表达式是语句的一部分。

* * *

W
wizardforcel 已提交
52
### 表达式语句
W
wizardforcel 已提交
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

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

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

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

再看一个例子,

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

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

* * *

W
wizardforcel 已提交
78
### 声明语句
W
wizardforcel 已提交
79 80 81 82 83 84 85

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

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

W
wizardforcel 已提交
86
上面的语句声明了一个变量`tax`,该变量已初始化为`9.5`
W
wizardforcel 已提交
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

**注意**: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() {...}`块。 但是,类似于上面的示例,此块没有任何语句。