表達(dá)式、語(yǔ)句和塊
現(xiàn)在你已了解變量和運(yùn)算符,現(xiàn)在是時(shí)候了解表達(dá)式、語(yǔ)句和塊,運(yùn)算符可用于構(gòu)建計(jì)算值的表達(dá)式,表達(dá)式是語(yǔ)句的核心組件,語(yǔ)句可以分組為塊。
表達(dá)式表達(dá)式是由變量、運(yùn)算符和方法調(diào)用組成的構(gòu)造,它是根據(jù)語(yǔ)言的語(yǔ)法構(gòu)造的,其值為單個(gè)值,你已經(jīng)看過表達(dá)式的示例,如下面所示:
int cadence = 0; anArray[0] = 100; System.out.println("Element 1 at index 0: " + anArray[0]); int result = 1 + 2; // result is now 3 if (value1 == value2) System.out.println("value1 == value2");
表達(dá)式返回的值的數(shù)據(jù)類型取決于表達(dá)式中使用的元素,表達(dá)式cadence = 0返回一個(gè)int,因?yàn)橘x值運(yùn)算符返回與其左側(cè)操作數(shù)相同的數(shù)據(jù)類型的值,在這種情況下,cadence是一個(gè)int。從其他表達(dá)式中可以看出,表達(dá)式也可以返回其他類型的值,例如boolean或String。
Java編程語(yǔ)言允許你從各種較小的表達(dá)式構(gòu)造復(fù)合表達(dá)式,只要表達(dá)式的一部分所需的數(shù)據(jù)類型與另一部分的數(shù)據(jù)類型匹配,以下是復(fù)合表達(dá)式的示例:
1 * 2 * 3
在此特定示例中,計(jì)算表達(dá)式的順序并不重要,因?yàn)槌朔ǖ慕Y(jié)果與順序無關(guān),結(jié)果總是相同的,無論你采用哪種順序進(jìn)行乘法運(yùn)算,但是,并非所有表達(dá)都是如此,例如,以下表達(dá)式給出不同的結(jié)果,具體取決于你是先執(zhí)行加法還是除法運(yùn)算:
x + y / 100 // ambiguous
你可以使用一對(duì)括號(hào)確切指定表達(dá)式的計(jì)算方式:(和),例如,要使前一個(gè)表達(dá)式明確,你可以編寫以下內(nèi)容:
(x + y) / 100 // unambiguous, recommended
如果你沒有明確指出要執(zhí)行的操作的順序,則順序由分配給表達(dá)式中使用的運(yùn)算符的優(yōu)先級(jí)確定,首先評(píng)估具有更高優(yōu)先級(jí)的運(yùn)算符。例如,除法運(yùn)算符的優(yōu)先級(jí)高于加法運(yùn)算符,因此,以下兩個(gè)語(yǔ)句是等效的:
x + y / 100 x + (y / 100) // unambiguous, recommended
在編寫復(fù)合表達(dá)式時(shí),要明確并用括號(hào)表示應(yīng)首先評(píng)估哪些運(yùn)算符,這種做法使代碼更易于閱讀和維護(hù)。
語(yǔ)句語(yǔ)句大致相當(dāng)于自然語(yǔ)言中的句子,語(yǔ)句形成一個(gè)完整的執(zhí)行單元,通過使用分號(hào)(;)終止表達(dá)式,可以將以下類型的表達(dá)式轉(zhuǎn)換為語(yǔ)句。
賦值表達(dá)式
任何使用++或--
方法調(diào)用
對(duì)象創(chuàng)建表達(dá)式
這些語(yǔ)句稱為表達(dá)式語(yǔ)句,以下是表達(dá)式語(yǔ)句的一些示例。
// assignment statement aValue = 8933.234; // increment statement aValue++; // method invocation statement System.out.println("Hello World!"); // object creation statement Bicycle myBike = new Bicycle();
除了表達(dá)式語(yǔ)句之外,還有另外兩種語(yǔ)句:聲明語(yǔ)句和控制流語(yǔ)句,聲明語(yǔ)句聲明一個(gè)變量,你已經(jīng)看過很多聲明語(yǔ)句的例子:
// declaration statement double aValue = 8933.234;
最后,控制流語(yǔ)句調(diào)節(jié)語(yǔ)句執(zhí)行的順序,你將在下一節(jié)“控制流語(yǔ)句”中了解控制流語(yǔ)句。
塊塊是一對(duì)花括號(hào)之間的一組零個(gè)或多個(gè)語(yǔ)句,可以在允許單個(gè)語(yǔ)句的任何位置使用,以下示例BlockDemo說明了塊的使用:
class BlockDemo { public static void main(String[] args) { boolean condition = true; if (condition) { // begin block 1 System.out.println("Condition is true."); } // end block one else { // begin block 2 System.out.println("Condition is false."); } // end block 2 } }上一篇:運(yùn)算符 下一篇:控制流語(yǔ)句
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76427.html
Java? 教程 Java教程是為JDK 8編寫的,本頁(yè)面中描述的示例和實(shí)踐沒有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語(yǔ)言創(chuàng)建應(yīng)用程序的程序員的實(shí)用指南,其中包括數(shù)百個(gè)完整的工作示例和數(shù)十個(gè)課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識(shí)的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購(gòu)買。 入門 介紹Java技術(shù)和安裝Java開發(fā)軟件并使用...
局部類 局部類是在塊中定義的類,它是一對(duì)大括號(hào)之間的一組零個(gè)或多個(gè)語(yǔ)句,你通常會(huì)在方法體中找到定義的局部類。 聲明局部類 你可以在任何塊中定義局部類(有關(guān)詳細(xì)信息,請(qǐng)參閱表達(dá)式、語(yǔ)句和塊),例如,你可以在方法體、for循環(huán)或if子句中定義局部類。 以下示例LocalClassExample驗(yàn)證兩個(gè)電話號(hào)碼,它在validatePhoneNumber方法中定義了局部類PhoneNumber: pub...
運(yùn)算符 既然你已經(jīng)學(xué)會(huì)了如何聲明和初始化變量,那么你可能想知道如何使用它們,學(xué)習(xí)Java編程語(yǔ)言的運(yùn)算符是一個(gè)很好的起點(diǎn),運(yùn)算符是對(duì)一個(gè)、兩個(gè)或三個(gè)操作數(shù)執(zhí)行特定運(yùn)算的特殊符號(hào),然后返回結(jié)果。 在我們探索Java編程語(yǔ)言的運(yùn)算符時(shí),提前知道哪些運(yùn)算符具有最高優(yōu)先級(jí)可能會(huì)對(duì)你有所幫助,下表中的運(yùn)算符按優(yōu)先順序列出,運(yùn)算符出現(xiàn)在離表頂部越近,其優(yōu)先級(jí)越高,優(yōu)先級(jí)較高的運(yùn)算符在優(yōu)先級(jí)相對(duì)較低的運(yùn)算符之前...
摘要:的語(yǔ)法大量借鑒了及其他類語(yǔ)言如和的語(yǔ)法。也就是說,關(guān)鍵字變量函數(shù)名和所有的標(biāo)識(shí)符都必須采取一致的大小寫形式。中的字面量有字符串?dāng)?shù)字布爾值對(duì)象數(shù)組函數(shù)正則表達(dá)式,以及特殊的值。這是為了不破壞語(yǔ)法而特意選定的語(yǔ)法。 JavaScript 的語(yǔ)法大量借鑒了 C 及其他類 C 語(yǔ)言(如 Java 和 Perl)的語(yǔ)法。因此,熟悉這些語(yǔ)言的開發(fā)人員在接受 JavaScript 更加寬松的語(yǔ)法時(shí),...
控制流語(yǔ)句 源文件中的語(yǔ)句通常按照它們出現(xiàn)的順序從上到下執(zhí)行,但是,控制流語(yǔ)句通過使用決策、循環(huán)和分支來分解執(zhí)行流程,使你的程序能夠有條件地執(zhí)行特定的代碼塊,本節(jié)描述Java編程語(yǔ)言支持的決策語(yǔ)句(if-then,if-then-else,switch),循環(huán)語(yǔ)句(for,while,do-while)以及分支語(yǔ)句(break,continue,return)。 if-then和if-then-e...
閱讀 1322·2023-04-26 01:28
閱讀 2080·2021-11-08 13:28
閱讀 2327·2021-10-12 10:17
閱讀 2306·2021-09-28 09:46
閱讀 4149·2021-09-09 09:33
閱讀 3732·2021-09-04 16:40
閱讀 1112·2019-08-29 15:21
閱讀 2698·2019-08-26 17:17