java廖雪峰_廖雪峰Java教程学习笔记(一)——Java程序基础
(一)Java程序基本結構
Java是面向對象的語言,一個程序的基本單位就是class。在class內部,可定義若干方法。
類名要求:
類名必須以英文字母開頭,后接字母,數字和下劃線的組合
習慣以大寫字母開頭
方法名要求:
方法名必須以英文字母開頭,后接字母,數字和下劃線的組合
習慣以小寫字母開頭
(二)變量和數據類型
在Java中,變量分為基本類型的變量和引用類型的變量。
例如:int x = 1;? //定義了一個整型int類型的變量,名為x,初始值為1
變量的一個特點是可以重新賦值,也可以賦值給其他變量。值得注意的是,在第一次定義變量時需要指定變量類型,而第二次重新賦值時,該變量已經存在了,不用再指定變量類型。
基本數據類型
整數類型:byte, short, int, long
浮點數類型:float, double
字符類型:char
布爾類型:boolean
計算機內存的最小存儲單元是字節(jié)(byte),一個字節(jié)就是一個8位二進制數,即8個bit,字節(jié)的二進制表示范圍為00000000~11111111,換算成二進制是0~255,換算成十六進制是00~ff。
Java基本數據類型占用的字節(jié)數
類型
byte
short
int
long
float
double
char
字節(jié)
1
2
4
8
4
8
2
定義基本數據類型時的注意事項
整型最高位的bit表示符號位(0表示正數,1表示負數)
long型的結尾需要加L(int l = 9000000000000000000L;)
float型的結尾需要加f(float f = 3.14f;)
char類型使用單引號‘ ’,且僅有一個字符,字符串使用雙引號“ ”
引用類型
常量:定義變量的時候,如果加上final修飾符,這個變量就變成了常量。常量名通常全部大寫
var關鍵字:省略變量類型可使用var關鍵字
(三)整數運算
Java的整數運算遵循四則運算規(guī)則,可以使用任意嵌套的小括號。四則運算規(guī)則和初等數學一致。
溢出
整數由于存在范圍限制,如果計算結果超出了范圍,就會產生溢出,但溢出不會出錯,需特別注意
自增/自減
++n表示先加1再引用n
n++表示先引用n再加1
移位運算
左移實際上就是不斷地乘2,右移實際上就是不斷地除以2
例如:對整數7左移一位得到整數14? ? int n = 7;? ? int a = n << 1;
對整數-28右移一位得到整數-14? int n = -28;? ?int a = n >> 1;
值得注意的是
>>>為無符號的右移運算,它的特點是不管符號位,因此對一個負數進行>>>右移,它會變成正數
對byte和short類型進行移位時,會首先轉換為int再進行位移。
位運算
位運算就是按位進行與、或、非和異或的運算。
與運算(&):必須兩個數同時為1,結果才為1
或運算(|):只要任意一個為1,結果就為1
非運算(~):0和1互換
異或運算(^):如果兩個數不同,結果為1,否則為0
類型自動提升與強制轉型
在運算過程中,如果參與運算的兩個數類型不一致,那么計算結果為較大類型的整型。
也可以將結果強制轉型,即將大范圍的整數轉型為小范圍的整數,例如int i = 12345;? short s = (short) i;但超出范圍的強制轉型會得到錯誤的結果。
(四)浮點數運算
浮點數只能進行加減乘除這些數值運算,不能做位運算和移位運算。
雖然浮點數表示的范圍大,但浮點數無法精確表示,所以浮點數運算通常會產生誤差。因此在比較兩個浮點數是否相等時,正確的比較方法是判斷兩個浮點數之差是否小于一個很小的數。
類型提升
如果參與運算的兩個數其中一個是整型,那么整型可以自動提升到浮點型
溢出
整數運算在除數為0時會報錯,而浮點數運算在除數為0時不會報錯,但會返回幾個特殊值:
NaN表示Not a Number
Infinity表示無窮大
-Infinity表示負無窮大
強制轉型
可以將浮點數強制轉型為整數,在轉型時,浮點數的小數部分會被丟掉,如果轉型后超過了整數能表示的最大范圍,將返回整型的最大值。如果要進行四舍五入,可以對浮點數加上0.5再強制轉型。
(五)布爾運算
對于布爾類型boolean,永遠只有true和false兩個值。
布爾運算包括以下幾類:
比較運算符:>, >=,
與運算:&&
或運算:||
非運算:!
短路運算
如果一個布爾運算的表達式能提前確定結果,則后續(xù)的計算不再執(zhí)行,直接返回結果。因為false && x的結果總是false;對于true運算,只要確定第一個值為true,直接返回true
三元運算符
b?x:y,首先計算b,如果b為true,則只計算x,否則只計算y。且x和y的類型必須相同,因為返回值是x和y之一。
(六)字符和字符串
字符類型
字符類型char是基本數據類型,一個char保存一個Unicode字符,占兩個字節(jié)。
要顯示一個字符的Unicode編碼,只需要將char類型直接賦值給int類型即可。
字符串類型
字符串類型String是引用類型,用雙引號“ ”來表示字符串,一個字符串可存儲0個到任意個字符。
常見的轉義字符包括:
\"表示字符"
\'表示字符'
\\表示字符\
\n表示換行符
\r表示回車符
\t表示Tab
\u####表示一個Unicode編碼的字符
字符串連接
可以使用+連接任意字符串和其他類型數據,如果用+連接字符串和其他類型數據,會將其他類型數據先自動轉型為字符串,再連接。
多行字符串
用"""..."""表示多行字符串,例如:
String s = """
aaa
bbbbbbbb
cc""";
不可變特性
字符串不可變,但變量名稱可改變指向。
空值null
空值null表示不存在,即該變量不指向任何對象;
空字符串" "是一個有效的字符串對象,不等于null。
(七)數組類型
定義一個數組類型的變量,采用類型[]方式,例如int[ ]。但數組遍歷初始化必須初始化大小,例如int[ ] ns = new int[5],必須使用new int[5]創(chuàng)建一個可容納5個int元素的數組。
Java數組特點:
數組所有元素初始化為默認值,整型都是0,浮點型是0.0,布爾型是false
數組一旦創(chuàng)建后,大小就不可改變。
值得注意的是,
可以通過數組索引訪問數組中的某個元素,5個元素的數組,索引范圍是0~4,如果索引超出范圍運行時將報錯;
可以修改數組中的某一個元素,使用賦值語句,例如ns[1] = 79;
可以用數組變量.length獲取數組大小;
可以在定義數組時直接指定初始化元素,這樣就不必寫出數組大小,例如int[ ] ns = new int[ ]{68,79,91,85,62};也可以簡寫成int[ ] ns =?{68,79,91,85,62};
數組元素也可以不是數據類型,而是引用類型,比如字符串數組。
總結
以上是生活随笔為你收集整理的java廖雪峰_廖雪峰Java教程学习笔记(一)——Java程序基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 豆豆游黄山[201602]
- 下一篇: Java中的队列