[英]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-表達式,語句和塊
表達式是由變量,運算符和方法調用組成的結構,這些變量,運算符和方法調用是根據語言的語法構造的,其結果為單個值。
陳述大致相當於自然語言中的句子。 一條語句構成了完整的執行單元。 通過使用分號(;)終止表達式,可以將以下類型的表達式制成語句。
這樣的語句稱為表達式語句。
除了表達式語句,還有兩種其他類型的語句:
聲明語句聲明一個變量。 例如
// declaration statement
double aValue = 8933.234;
塊是平衡括號之間的零個或多個語句的組,可在允許單個語句的任何地方使用。
作業是陳述 。 它將右側表達式的結果保存到左側變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.