Java註釋
單行註釋://
多行註釋:用/開頭 /結尾,一般用於函數內部的註釋
多行註釋:/**
*
*/
@author:指定Java程序作者
@version:指定當前源文件的版本
@param:指定參數
@return:指定返回值
在文檔註釋中可以使用html標籤,但是不能用自封閉的標籤。
標識符
標識符
在JAVA的組成部分中包括了對包、類、方法、變量等的起名,這些名字是要有一定的規則的:
- 標識符可以包含數字、字母、$、_,但是不能以數字開頭
- 關鍵字不能用作標識符
- 標識符是大小寫敏感的
分隔符
- 花括號{}:定義代碼塊,邏輯上是個整體,在Java語言中,類定義的部分必須放在{},方法體的內容也要定義到{}內,靜態的代碼塊、條件語句的執行體、循環語句的循環體也要放在{}內。
- 分號:在Java語言中,用;作爲語句的結束。一條語句必須要由;結束,多條語句可以定義一行裏,但是每條語句還是必須用;結束
- 中括號[],用於數組中訪問數組元素
- 圓括號(),在方法定義中,必須用(),來包含所有的形參聲明,在調用方法的時候,使用()來傳入實際參數值。
在進行表達式運算的時候,可以定義優先級。 - 空格:單個空格,Tab鍵、Enter鍵,空格的出現都不會影響程序的運行,但是提供良好的縮進,可以有效地提高代碼的可讀性。
- 圓的(.):通常用於類/對象和其他成員之間的分隔符,表明調用某個類或對象的屬性和方法。
數據類型分類
在Java中,數據類型分爲基本數據類型和引用數據類型(類類型)。
作爲強類型語言,Java在編譯時,會進行嚴格的語法檢查,每個變量在編譯時,就確定了其類型。所有變量必須顯式地聲明類型,而且必須聲明後使用。
基本數據類型
Java基本數據類型分爲數值型、字符型和布爾型。
數值型
數值型分爲整數型和浮點型:
- 整數型:byte、short、int、long
- 浮點型:float(單精度),double(雙精度)
字符型
單引號表示字符型,Java使用16位Unicode字符集作爲編碼方式,而Unicode被設計成世界上所有書面語言的字符,包括中文字符。
字符常量的三種表示方法:
直接用單個字符表示,如‘a’,‘9’等
通過轉義字符表示,如‘\n’,‘\t’,‘\’等
直接使用Unicode值表示,格式:’\uxxxx’。用英文單引號括起來的十六進制字符代碼值來表示單個字符。其中u是約定的前綴(u是Unicode的第一個字母),而後面的XXXX代表4位十六進制數,是該字符在unicode字符集中的序號。
布爾類型(Boolean)
布爾類型只有兩個取值:true 和 false,用於表示邏輯的真和假。
直接量
直接量是程序中直接通過源代碼指定的值,比如int a = 5;這個代碼中,爲變量所分配的初始值5,就是個直接量。
在Java中能指定直接量的通常只有三種類型:基本類型、字符串類型和null。
String類是個典型的不可變類,在String對象創建出來的時候,就不能被改變了。當程序第一次使用某個字符串直接量時,Java會使用常量池(constant pool)來緩存該字符串的直接量,如果程序後面部分,需要使用到該字符串直接量時,Java會直接使用常量池中的字符串直接量。
常量池指的是在編譯器就被確定,並被保存在已編譯的.class文件中的一些數據中。它包括類、接口、方法中的常量,也包括字符串直接量。
運算符
運算符是一種特殊的符號,用以表示數據的運算、賦值、比較等。Java使用運算符將一個或多個操作數連接成可執行的語句,用以實現特定的功能。包括算術運算符、賦值運算符、比較運算符、邏輯運算符、位運算符、類型相關運算符。我們着重講解其中的算術、賦值、比較、邏輯相關的運算符。
算術運算符
+、-、*、/、%、++、–
其中要注意的是/,如果兩個整數相除有小數,則小數部分將會被截取。
++自增和–自減,是單目運算符。
其中+號除了數學運算外,還有字符串連接的功能。
-號除了數學減法運算外,還有取負的功能。
賦值運算符
=用於爲變量指定變量值。
擴展的賦值運算符
+= -= *= /= %=可讀性比較差,這些複合的賦值運算符,都是先進行指定運算,然後將得到值返回給左邊的變量。
比較運算符
用於判斷兩個變量或常量的大小,返回結果只有true或false。
:只支持左右兩邊的操作數都是數值類型
=:同上
<:同上
<=:同上
==如果比較兩個操作數是數值類型,即使它們的數據類型不一樣,只要它們的值相等就返回true。
邏輯運算符
邏輯運算符用於操作一個或兩個布爾型的變量或常量,在我們應用程序開發中,只要關注與、或、非。
&&:兩個操作數必須都是布爾類型的,只要有一個是false,就返回false。
||:兩個操作數必須都是布爾類型的,只要有一個是true,就返回true。
!:操作數是true返回false,操作數是false返回true。
三目運算符
(expression)?if-true-statement:if-false-statement
流程控制
順序結構
所謂順序結構就是程序自上而下的執行,沒有任何的判斷和跳轉。
分支結構
Java提供兩種分支控制結構,分別是if語句和switch語句。
if語句是通過布爾值或布爾表達式進行分支控制。而switch語句則是對多個整型值進行匹配(JDK1.7以後可以對String類型進行多分支選擇)。
if條件語句
if語句分爲三種形式:
形式1:
if (logic expression) {
statement;
}
形式2:
if(logic expression) {
statement;
} else {
statement;
}
形式3:
if(logic expression) {
statement;
} else if(logic expression) {
statement;
} else {
statement;
}
switch語句
switch語句是由控制表達式和多個case標籤塊組成的。在switch語句中,控制語句的表達式,只能是byte/short/int/char四種基本類型,在JDK1.7後,可以使用String和枚舉作爲控制表達式。
語法:
witch(expression) {
case condition1: {
statement;
break;
}
case condition2: {
statement;
break;
}
default: {
statement;
}
}
循環結構
循環語句可以在滿足條件的情況下,反覆執行某一段代碼。
被重複執行的代碼稱爲循環體。當反覆執行這個循環體的時候,需要在合適的時候,把循環條件改爲假,從而結束當前循環;否則,會出現死循環的情況。
循環語句可能包含下面四個部分:
- 初始化語句(init_statement):一條或多條語句,這些語句用以完成一些初始化工作,初始化語句在循環開始之前執行。
- 循環條件(test_expression):是一個boolean類型的表達式,這個表達式決定是否執行循環體。
- 循環體(body_statement):如果條件允許,循環體會被反覆執行。
- 迭代語句(iteration_statement):這個部分在一次循環體執行結束後,對循環條件求值之前執行,通常用於控制循環條件中的變量,使得循環在合適的時候結束
while循環語句
語法:
(init_statement)
while(test_expression) {
body_statement;
iteration_statement;
}
do…while語句
do…while區別於while循環:先執行後判斷。
語法:
(init_statement)
do {
body_statement;
iteration_statement;
} while(test_expression)