《瘋狂Java講義》學習筆記(三)數據類型和運算符

一、註釋

Java語言的註釋一共有三種類型java

  • 單行註釋:用雙斜線 」//」 表示
  • 多行註釋:用 /*------------------*/ 表示
  • 文檔註釋:用 /**-----------------*/ 表示

若是編寫Java源代碼時添加了合適的文檔註釋,而後經過JDK提供的javadoc工具能夠直接將源代碼裏的文檔註釋提取成一份系統的API文檔。 
javadoc默認只處理public 或 protected修飾的內容。若是開發者但願javadoc工具能夠提取private修飾的內容,則能夠在使用javadoc工具時增長 -private 選項。
使用javadoc能夠生成本身的API文檔
@author:指定Java程序的做者;@version:指定源文件的版本;@deprecated:不推薦使用的方法;@param:方法的參數說明信息;@return:方法的返回值說明信息;@see:「參見」,用於指定交叉參考的內容;@exception:拋出異常的類型;@throws:拋出的異常,和@exception同義express

二、分隔號

分隔符(6個):Java語言裏的分隔符有分號; 、花括號{}、方括號[ ]、圓括號()、空格、圓點 .數組

  • 分號「;」 :Java使用分號「;」進行語句分隔而非回車,一行能夠有多個語句,一個語句也能夠跨多行 。Java語句能夠跨多行書寫,但一個字符串(可用「+」號鏈接)、變量名不能跨越多行。
  • 花括號「{」「}」 :用於定義代碼塊
  • 方括號「[]」 :用於訪問數組元素,緊跟數組變量名,如:a[3] = 3;
  • 圓括號「(」「)」
  • 空格「 」 :能夠任意出現多個空格,但不要使用空格把一個變量名分割開。空格包含:空格符(Space)、製表符(Tab)和回車(Enter)等
  • 圓點「.」 :一般用做類/對象和它的成員(成員變量、方法和內部類)之間的分隔符,代表調用某個類或某個實例的指定成員


三、標識符(用於給程序中的變量、類、方法命名的符號)規則

 

  • 標識符能夠由字母(Unicode所能表示的多種語言的字符)、數字、下劃線和美圓符號組成,但不能以數字開頭
  • 標識符不能是Java關鍵字和保留字,但能夠包含關鍵字和保留字
  • 標識符不能包含空格
  • 標識符只能包含美圓符和下劃線兩個符號,不能包含@、#等其它特殊符號


四、Java關鍵字(50+3個)


工具


五、數據類型分類


變量:至關於一個有名稱的容器,該容器用於裝各類不一樣類型的數據
兩種分類:基本類型(Primitive Type)和引用類型(Reference Type)
八大基本類型:byte、short、int、long、char、float、double、boolean
四種引用類型:類、接口、數組和null編碼


六、整型

 

  • byte:內存佔8位(2的8次方,至關於256),範圍是-128~127
  • short:內存佔16位,範圍是-32768~32767
  • int:內存佔32位,範圍是-2147483648~2147483647
  • long:內存佔64位,範圍是-2的63次方~2的63次方-1,必須使用L後綴,不然數值巨大時,系統不會看成long類型來處理

七、進制

  • 二進制的整數以0b或0B開頭
  • 八進制的整數以0開頭
  • 十六進制的整數以0x或0X開頭,其中10~15分別以a~f或A~F來表示

八、字符型char


Java使用16位的Unicode字符集做爲編碼方式,支持世界上全部書面語言的字符,支持65536個字符編碼。spa

字符型值有三種表示形式:code

  • 直接表示 ‘A’
  • 轉義 ‘\n’
  • 直接使用Unicode值來表示字符型值,格式是‘\uXXXX’,也能夠不加‘’,格式是‘\uXXXX’

char類型在賦值時,能夠選擇賦值數字型或字符型,可是字符型須要加上單引號括住才能夠,而賦值的數字必須符合Unicode字符集的範圍即'\u0000'到'\uffff'。賦值爲數字時會轉化爲對應編號的字符再賦值。對象

轉義符:blog

\b:退格符
\n:換行符
\r:回車符
\t:製表符
\":雙引號
\':單引號
\\:反斜線


九、浮點型

  • float:單精度,佔4個字節、32位,要跟F或f後綴
  • double:雙精度,佔8個字節,64位,默認

兩種表示形式: 接口

  • 十進制,如:5.12必須帶小數點; 
  • 科學計算,如:5.12e2=5.12X10的二次方

正無窮大(正浮點數除以0):POSITIVE_INFINITY,負無窮大(負浮點數除以0):NEGATIVE_INFINITY,非數(0.0除以0.0):NaN
全部正無窮大相等,全部負無窮大相等,全部NaN不與任何數值至關包括NaN自己都不想等
下劃線能夠分割數值,整數值和浮點型數值均可以,如:double pi = 3.14_15_92_65_36;

十、布爾型


boolean只能是true或false,主要用於控制流程或三目運算的判斷條件


十一、類型轉換

  • 自動類型轉換:當把一個表數範圍小的數值或變量直接賦給另外一個表數範圍大的變量時,系統能夠進行自動類型轉換
byte b = 10;
int i = byte;
  • 強制類型轉換:當把一個表數範圍大的數值或變量直接賦給另外一個表數範圍小的變量時,須要進行強制轉換

強制類型轉換的運算符是一對圓括號()

int i = 10;
byte b = (byte)i;

強轉時若是超出表數範圍會形成溢出

int i = 233;
byte b = (byte)i;
// b將輸出-23
  • 表達式類型的自動提高:若是運算中有多種類型的,表達式將結果自動提高爲最大的類型。

short s = 5;
s = s - 2;
// 將報錯,由於表達式已經自動提高至int類型
int i = s - 2;
// 因此通常數據類型使用int

規則以下:

全部的byte、short、char類型將被提高到int類型
整個算術表達式的數據類型自動提高到與表達式中最高等級操做數一樣的類型。

十二、基本類型的包裝類

boolean->Boolean
byte->Byte
short->Short
int->Integer
long->Long
char->Character
float->Float
double->Double


1三、直接量


直接量是指在程序中經過源代碼直接給出的值,只支持三種類型:基本類型、字符串和null


1四、運算符

 

  • 算術運算符,加、減、乘、除、求餘(%)、自加(++)、自減(–)
  • 賦值運算符,等於號(=)
  • 比較運算符,大於(>),大於等於(>=),小於(<),小於等於(<=),等於(==),不等於(!=)
  • 邏輯運算符
&&:與,短路
&:與,非短路
||:或,短路
|:或,非短路
!:非
^:異或,當兩個數不一樣時才返回true,相同則返回false

短路邏輯:前面條件符合時將再也不運行後面的條件

  • 位運算符
&:按位與,當兩位同時爲1時才返回1
|:按位或,只要有一位爲1時可返回1
~:按位非,單目運算符,將操做數的每一個位所有取反
^:按位異或,當兩位相同時返回0,不一樣時返回1
<<:左移運算符
>>:右移運算符
>>>:無符號右移運算符

擴展後的賦值運算符

+=:x+=y至關於x=x+y
-=:x-=y至關於x=x-y
*=:x*=y至關於x=x*y
/=:x/=y至關於x=x/y
%=:x%=y至關於x=x%y
&=:x&=y至關於x=x&y
|=:x|=y至關於x=x|y
^=:x^=y至關於x=x^y
<<=:x<<=y至關於x=x<<y
>>=:x>>=y至關於x=x>>y
>>>=:x>>>=y至關於x=x>>>y
byte b = 5;
b = b + 5;報錯
b += 5;不會報錯,機制不一樣
  • 三目運算符
expression ? if-true-statement : if-false-statement;
5 > 3 ? "5大於3":"5小於3";


1五、運算符優先級(從上至下)

 

分隔符 . [] () {} , ;
單目運算符 ++ -- ~ !
強制類型轉換運算符 (type)
乘法/除法/求餘 * / %
加法/減法 + -
移位運算符 << >> <<<
關係運算符 < <= > >= instanceof
等價運算符 == !=
按位與 &
按位異或 ^
按位或 |
條件與 &&
條件或 ||
三目運算符 ?:
賦值 = += -+ *= /= &= |= ^= %= <<= >>= >>>=
相關文章
相關標籤/搜索