1. 程式人生 > >二、JAVA的資料型別和運算子

二、JAVA的資料型別和運算子

1、註釋

(1)單行註釋:與C/C++相同
(2)多行註釋:同上
(3)文件註釋:
1)什麼是文件註釋?
將我們寫的一些類和方法,提取出來形成一份API文件,告訴其他人這個類或者方法的作用以及使用方法,類似VS下的幫助文件。
2)如何寫文件註釋?
文件註釋以斜線後面緊跟兩個星號開始(/**),以星號後緊跟一個斜線結束(*/),中間部分全部都是文件註釋。注意,文件註釋應寫在類、介面、方法、成員變數、構造器和內部類之前。
3)如何提取成API文件?
通過javadoc命令可以將原始碼中的文件註釋提取成一份系統的API文件。該工具只會處理在類、介面、方法、成員變數、構造器和內部類之前的註釋,並且javadoc命令預設只處理以public或者protected修飾的類、介面、方法、成員變數、構造器和內部類之前的註釋,因為只有public或者protected修飾的內容才是希望暴漏給別人使用的內容。如果希望javadoc命令可以提取private修飾的內容的話,可以在使用javadoc命令時候增加-private選項。

2、javadoc命令的使用

(1)javadoc命令的基本用法

javadoc 選項JAVA原始檔|包名

(2)javadoc對包註釋的提取
包註釋並不是像類、介面、方法、成員變數、構造器和內部類一樣直接寫在JAVA原始檔中的,而是必須另外指定。通常是通過一個標準的HTML檔案來提供包註釋,這個檔案被稱為包描述檔案,該檔案的檔名通常是package.html,並於JAVA原始檔放在一塊。javadoc會制動尋找對應包的包描述檔案,並提取該檔案中的 < body/ >元素裡面的內容。 因此Javadoc後面不但可以接原始檔名還可以寫包名。
(3)javadoc命令常用引數

引數 含義
-d [directory] 指定一個路徑,用於將生成的API文件放到指定目錄下
-windowtitle [text] 指定一個字串,用於設定API文件的瀏覽器視窗標題
-doctitle [html-code] 制定一個HTML格式的文字,用於指定概述頁面的標題
-header [html-code] 指定一個HTML格式的文字,包含每個頁面的頁首

(4)javadoc命令常用的標記
如果希望生成更加詳細的API文件,可以在文件註釋中利用javadoc標記來實現

引數 含義
@author 指定JAVA程式的作者
@version 指定原始檔的版本
@deprecated 不推薦使用的方法
@param 方法的引數說明資訊
@return 方法的返回值說明資訊
@see 用於指定交叉參考的內容,應該是類似交叉引用,一個類裡面的方法和變數引用自其他的類
@exception 丟擲異常的型別
@throws 丟擲的異常

注:javadoc預設不會提取@author和@version兩個標記的資訊,如果需要提取這兩個標記的資訊,應該使用javadoc工具時指定-author和-version兩個選項。

3、識別符號和關鍵字

JAVA語言的識別符號必須以字母、下劃線(_)、美元符($)開頭,後面可以跟任意數目的字母、數字、下劃線和美元符。
JAVA中的所有關鍵字都是小寫的。

4、資料型別

JAVA語言是一種強型別。即,一是所有的變數必須先聲明後使用;二是指定型別的變數只能接受型別與之匹配的值。
JAVA語言型別大致分為兩類:基本型別和引用型別。
(1)基本型別
1)整型
將int型別的值直接賦給一個long型別的變數,並不是說Java會把這個整數值當作long型別來處理,Java依然把這個整數值當作int型別來處理,只是因為int型別的值會自動轉換到long型別。如果想讓Java將數值當作long型別來處理,應在數值後面加上L。
2)字元型
Java語言使用16位的Unicode字符集作為編碼方式。
3)浮點型
對於float型數值,第1位是符號位,接下來8位表示指數,再接下來的23位表示尾數;
對於double型數值,第1位是符號位,接下來11位表示指數,再接下來的52位表示尾數。浮點型預設是double型別。
正無窮大:通過Double或者Float類的POSITIVE_INFINITY表示;
負無窮大:通過Double或者Float類的NEGATIVE_INFINITY表示;
非數:通過Double或者Float類的NaN表示。
所有的正無窮大都是相等的,所有的負無窮大都是相等的,NaNcy不與任何數值相等,甚至不與NaN相等。
注:為了更加清楚的知道數值有幾位,程式設計師可以在數值中使用下劃線。
例如:int nVal = 123_456;
4)布林型
boolean型別的數值只能是true和false,不能用0或者非0來代表,因此其他基本資料型別不可以轉換成boolean。
(2)引用型別
實際上引用型別變數就是一個指標。引用型別包括類、介面和陣列型別,還有一種特殊的null型別。
空型別就是null值的型別,這種型別沒有名稱。因為沒有名稱,所以不可以定義變數。這種型別只有唯一的值就是空引用(null)。
空引用只能被轉換成引用型別,不能轉換成基本型別,因此不要把一個null值賦給基本資料型別。

5、運算子

1)%:求餘運算子。求餘運算的結果不一定總數整數。如果求餘運算的兩個運算元中有一個或者兩個都是浮點數,則允許第二個運算元是0或者0.0,只是求餘運算的結果是非數。如果0或者0.0是第一運算元那麼對零以外的任何數求餘都將得到0或者0.0。
2)>>和>>>:對於>>而言,把運算元的二進位制碼右移指定的位數後,左邊空出來的用符號位填充;>>>是無符號右移運算子,它把第一個運算元的二進位制碼右移指定位數後,左邊空出來的總是用0來填充。
注:<1>對於低於int型別的運算元,總是先自動轉換為int型別後再移位。
<2>對於int型別的整數移位,例如:a>>b,當b大於32的時候,會將b和32進行求餘運算,得到的結果才是真正需要移動的位數。long型別的同理,只不過是需要對64進行求餘運算。
3)邏輯運算子。&和&&,|和||的區別是前者不會產生短路操作,後者會產生短路操作。