現在你已經明白了變量和操作符,下面是時候學習表達式,語句和塊了。操作符可能用於表達式中來計算值。表達式是語句的核心部分,而語句可以被分成塊。
表示式(Expressions)
一個表達式是由變量、操作符以及方法調用根據語言語法規範所組成的結構,計算結果爲單個值。你已經看過表達式的例子了,如下面的粗體字部分:
- int cadence = 0;
- anArray[0] = 100;
- System.out.println("Element 1 at index 0: " + anArray[0]);
- int result = 1 + 2; //result現在是3
- if (value1 == value2)
- System.out.println("value1 == value2");
表達式的返回值的數據類型取決於表達式中所使用的元素。表達式 cadence = 0返回一個int類型,因爲賦值操作符將返回一個與其左側操作數類型相同的值。在這個例子中,cadence是一個int類型。正如你從其他的表達式中看到的那樣,一個表達式也可以返回其他的值,例如boolean或者String。
Java程序設計語言允許你用各種較小的表達式來構建一個複合表達式,只要表達式中各部分的數據類型相互匹配。下面是一個複合表達式的例子:
- 1 * 2 * 3
在這個特殊的例子中,表達式計算的順序並不重要,因此乘法計算的結果與乘數的順序無關,不論表達式的順序如何,結果總是相同的。但是這並不適用於所有的表達式。例如線面的表達式會因爲你首先執行加法運算還是除法運算而產生不同的結果:
- x + y / 100 //語義含糊
如果你沒有明確指出將要執行的操作的順序,它的順序就依賴於表達式中操作數的優先級。具有較高優先級的操作符將會被先計算。例如除法運算符比加法運算符的優先級高,因此,下面的語句是等價的:
- x + y / 100
- x + (y / 100) //語義明確,建議使用
但寫複合表達式時,應該使用括號明確指出哪個操作符應該首先倍計算。這種做法可以使代碼易於閱讀和維護。
語句(Statements)
語句大致等同於自然語言中的句子。一條語句組成一個完整的執行單元。以下類型的表達式可以通過使用分號(;)終止而作爲一條語句:
- 賦值表達式
- 使用++或者--
- 方法調用
- 對象創建表達式
一些語句被稱爲表達式語句,這裏有一些例子:
- // 賦值語句
- aValue = 8933.234;
- // 增量語句
- aValue++;
- // 方法調用語句
- System.out.println("Hello World!");
- // 對象創建語句
- Bicycle myBike = new Bicycle();
除了表達式語句,還有兩種其他的語句:聲明語句和控制流語句。聲明語句用於聲明一個變量,你已經看到很多聲明語句的例子:
- // 聲明語句
- double aValue = 8933.234;
最後,控制流語句用於調節語句執行的順序,你將會在下個部分學習控制流語句。
塊(Blocks)
塊由位於兩個大括號之間的0個或者多個語句的組合,可以用於單個語句允許使用的任何地方。下面的例子BlockDemo,說明了如何使用塊:
class BlockDemo {
public static void main(String[] args) {
boolean condition = true;
if (condition) { // 塊1開始
System.out.println("Condition is true.");
} //塊1結束
else { //塊2開始
System.out.println("Conditon is false.");
} //塊2結束
}
}
原文地址:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html