1. 程式人生 > >Java入門基礎學習,成為一個Java程式設計師的必備知識

Java入門基礎學習,成為一個Java程式設計師的必備知識

# 引言 眾所周知,Java是一種面向物件的程式語言。您可以在Windows作業系統上編寫Java原始碼,而在Linux作業系統上執行編譯後的位元組碼,而無需修改原始碼。 ##### 資料型別 Java 有 2 種資料型別,一種是基本資料型別,一種是引用型別。 基本資料型別用於儲存簡單型別的資料,比如說,int、long、byte、short 用於儲存整數,float、double 用於儲存浮點數,char 用於儲存字元,boolean 用於儲存布林值。 不同的基本資料型別,有不同的預設值和大小,來個表格感受下。 |資料型別 | 預設值 |大小 |--|--|--| | boolean | false | 1位元 | |char |'\u0000' |2位元 | |byte |0 |1位元 | | short | 0 |2位元 | | int |0 | 4位元 | | long | 0L | 8位元 | |float | 0.0f | 4位元組 | |double | 0.0 | 8位元組| 引用型別用於儲存物件(null 表示沒有值的物件)的引用,String 是引用型別的最佳代表,比如說 > String program= "程式零世界" 。 ##### 宣告變數 要宣告一個變數,必須指定它的名字和型別,來看一個簡單的示例: ```java int age; String name; ``` count 和 name 在聲明後會得到一個預設值,按照它們的資料型別——不能是區域性變數(否則 Java 編譯器會在你使用變數的時候提醒要先賦值),必須是類成員變數。 ```java public class SyntaxLocalVariable { int age; String name; public static void main(String[] args) { SyntaxLocalVariable syntax = new SyntaxLocalVariable(); System.out.println(syntax.age); // 輸出 0 System.out.println(syntax.name); // 輸出 null } } ``` 也可以在宣告一個變數後使用“=”操作符進行賦值,就像下面這樣: ```java int age = 19; String name = "程式零世界"; ``` 我們定義了 2 個變數,int 型別的 age 和 String 型別的 name,age 賦值 19,name 賦值為“程式零世界”。 每行程式碼後面都跟了一個“;”,表示當前語句結束了。 在 Java 中,變數最好遵守命名約定,這樣能提高程式碼的可閱讀性。 - 以字母、下劃線(_)或者美元符號($)開頭 - 不能使用 Java 的保留字,比如說 int 不能作為變數名 ##### 陣列 陣列在 Java 中佔據著重要的位置,它是很多集合類的底層實現。陣列屬於引用型別,它用來儲存一系列指定型別的資料。 宣告陣列的一般語法如下所示: ```java type[] identiier = new type[length]; ``` type 可以是任意的基本資料型別或者引用型別。來看下面這個例子: ```java public class ArraysDemo { public static void main(String[] args) { int [] nums = new int[10]; nums[0] = 18; nums[1] = 19; System.out.println(nums[0]); } } ``` 陣列的索引從 0 開始,第一個元素的索引為 0,第二個元素的索引為 1。為什麼要這樣設計?感興趣的話,你可以去探究一下。 通過變數名[索引]的方式可以訪問陣列指定索引處的元素,賦值或者取值是一樣的。 ##### 關鍵字 關鍵字屬於保留字,在 Java 中具有特殊的含義,比如說 public、final、static、new 等等,它們不能用來作為變數名。為了便於你作為參照,我列舉了 48 個常用的關鍵字,你可以瞅一瞅。 1. **abstract**:abstract 關鍵字用於宣告抽象類——可以有抽象和非抽象方法。 2. **boolean**:boolean 關鍵字用於將變數宣告為布林值型別,它只有 true 和 false 兩個值。 3. **break**:break 關鍵字用於中斷迴圈或 switch 語句。 4. **byte**:byte 關鍵字用於宣告一個可以容納 8 個位元的變數。 5. **case**:case 關鍵字用於在 switch 語句中標記條件的值。 6. **catch**:catch 關鍵字用於捕獲 try 語句中的異常。 7. **char**:char 關鍵字用於宣告一個可以容納無符號 16 位位元的 Unicode 字元的變數。 8. **class**:class 關鍵字用於宣告一個類。 9. **continue**:continue 關鍵字用於繼續下一個迴圈。它可以在指定條件下跳過其餘程式碼。 10. **default**:default 關鍵字用於指定 switch 語句中除去 case 條件之外的預設程式碼塊。 11. **do**:do 關鍵字通常和 while 關鍵字配合使用,do 後緊跟迴圈體。 12. **double**:double 關鍵字用於宣告一個可以容納 64 位浮點數的變數。 13. **else**:else 關鍵字用於指示 if 語句中的備用分支。 14. **enum**:enum(列舉)關鍵字用於定義一組固定的常量。 15. **extends**:extends 關鍵字用於指示一個類是從另一個類或介面繼承的。 16. **final**:final 關鍵字用於指示該變數是不可更改的。 17. **finally**:finally 關鍵字和 try-catch 配合使用,表示無論是否處理異常,總是執行 finally 塊中的程式碼。 18. **float**:float 關鍵字用於宣告一個可以容納 32 位浮點數的變數。 19. **for**:for 關鍵字用於啟動一個 for 迴圈,如果迴圈次數是固定的,建議使用 for 迴圈。 20. **if**:if 關鍵字用於指定條件,如果條件為真,則執行對應程式碼。 21. **implements**:implements 關鍵字用於實現介面。 22. **import**:import 關鍵字用於匯入對應的類或者介面。 23. **instanceof**:instanceof 關鍵字用於判斷物件是否屬於某個型別(class)。 24. **int**:int 關鍵字用於宣告一個可以容納 32 位帶符號的整數變數。 25. **interface**:interface 關鍵字用於宣告介面——只能具有抽象方法。 26. **long**:long 關鍵字用於宣告一個可以容納 64 位整數的變數。 27. **native**:native 關鍵字用於指定一個方法是通過呼叫本機介面(非 Java)實現的。 28. **new**:new 關鍵字用於建立一個新的物件。 29. **null**:如果一個變數是空的(什麼引用也沒有指向),就可以將它賦值為 null。 30. **package**:package 關鍵字用於宣告類所在的包。 31. **private**:private 關鍵字是一個訪問修飾符,表示方法或變數只對當前類可見。 32. **protected**:protected 關鍵字也是一個訪問修飾符,表示方法或變數對同一包內的類和所有子類可見。 33. **public**:public 關鍵字是另外一個訪問修飾符,除了可以宣告方法和變數(所有類可見),還可以宣告類。 main() 方法必須宣告為 public。 34. **return**:return 關鍵字用於在程式碼執行完成後返回(一個值)。 35. **short**:short 關鍵字用於宣告一個可以容納 16 位整數的變數。 36. **static**:static 關鍵字表示該變數或方法是靜態變數或靜態方法。 37. **strictfp**:strictfp 關鍵字並不常見,通常用於修飾一個方法,確保方法體內的浮點數運算在每個平臺上執行的結果相同。 38. **super**:super 關鍵字可用於呼叫父類的方法或者變數。 39. **switch**:switch 關鍵字通常用於三個(以上)的條件判斷。 40. **synchronized**:synchronized 關鍵字用於指定多執行緒程式碼中的同步方法、變數或者程式碼塊。 41. **this**:this 關鍵字可用於在方法或建構函式中引用當前物件。 42. **throw**:throw 關鍵字主動丟擲異常。 43. **throws**:throws 關鍵字用於宣告異常。 44. **transient**:transient 關鍵字在序列化的使用用到,它修飾的欄位不會被序列化。 45. **try**:try 關鍵字用於包裹要捕獲異常的程式碼塊。 46. **void**:void 關鍵字用於指定方法沒有返回值。 47. **volatile**:volatile 關鍵字保證了不同執行緒對它修飾的變數進行操作時的可見性,即一個執行緒修改了某個變數的值,這新值對其他執行緒來說是立即可見的。 48. **while**:如果迴圈次數不固定,建議使用 while 迴圈。 ##### 操作符 除去“=”賦值操作符,Java 中還有很多其他作用的操作符,我們來大致看一下。 **①、算術運算子** - +(加號) - –(減號) - *(乘號) - /(除號) - %(取餘) 來看一個例子: ```java public class ArithmeticOperator { public static void main(String[] args) { int a = 10; int b = 5; System.out.println(a + b);//15 System.out.println(a - b);//5 System.out.println(a * b);//50 System.out.println(a / b);//2 System.out.println(a % b);//0 } } ``` “+”號比較特殊,還可以用於字串拼接,來看一個例子: String result = "程式零世界" + "滿滿乾貨的GZH"; **②、邏輯運算子** 邏輯運算子通常用於布林表示式,常見的有: - &&(AND)多個條件中只要有一個為 false 結果就為 false - ||(OR)多個條件只要有一個為 true 結果就為 true - !(NOT)條件如果為 true,加上“!”就為 false,否則,反之。 來看一個例子: ```java public class LogicalOperator { public static void main(String[] args) { int a=10; int b=5; int c=20; System.out.p