簡體   English   中英

變量的初始化是語句還是表達式?

[英]Is the initialization of a variable a statement or an expression?

class Demo {
     public static void main(String[] args) {
          int a; // declaration statement

          a = 5; // initialization statement/expression?
     }
}

我已經研究過了,它似乎既是陳述也是表達式。 這是真的? 是否有任何文檔?

局部變量聲明(帶有或不帶有初始化)是一條聲明,如JLS的14.4節所述

重要的是要注意,這不是簡單賦值表達式那樣的表達式-您不能將其用作更大的語句(而不是塊)的一部分。 例如:

int x;
System.out.println(x = 5); // Prints 5

System.out.println(int x = 10); // Invalid

賦值在Java中既是表達式又是語句。 分配的值是分配給其變量的值。 這使您可以執行多個任務,例如:

a = b = 5;

賦值b = 5被視為值為5的表達式,因此可以在同一語句中將值賦給a

是否有任何文檔?

它可能會幫助您Oracle Doc-表達式,語句和塊

表達

表達式是由變量,運算符和方法調用組成的結構,這些變量,運算符和方法調用是根據語言的語法構造的,其結果為單個值。

陳述

陳述大致相當於自然語言中的句子。 一條語句構成了完整的執行單元。 通過使用分號(;)終止表達式,可以將以下類型的表達式制成語句。

  • 賦值表達式
  • 任何使用++或-
  • 方法調用
  • 對象創建表達式

這樣的語句稱為表達式語句。

除了表達式語句,還有兩種其他類型的語句:

  1. 聲明書
  2. 控制流語句

聲明語句聲明一個變量。 例如

// declaration statement
double aValue = 8933.234;

積木

塊是平衡括號之間的零個或多個語句的組,可在允許單個語句的任何地方使用。

作業陳述 它將右側表達式的結果保存到左側變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM