## 一關鍵字
關鍵字概述:Java語言中有一些具有特殊用途的詞被稱為關鍵字。關鍵字對Java的編譯器有著特殊的意義,在程
序中應用時一定要慎重。
關鍵字特點:組成關鍵字的字母全部小寫。
關鍵字注意事項:goto和const作為保留字存在,當前并不使用。
Java中常用的50個關鍵字(48個加2個保留字,就當背英文單詞啦):

? ? ? ?關鍵字 ? ? 描述
? ? ? ?abstract ? ?抽象方法,抽象類的修飾符 ? ?
? ? ? ?assert ? ?斷言條件是否滿足? ??
? ? ? ?boolean ? ?布爾數據類型 ? ?
? ? ? ?break ? ?跳出循環或者label代碼段 ? ?
? ? ? ?byte ? ?8-bit 有符號數據類型???
? ? ? ?case ? ?switch語句的一個條件 ? ?
? ? ? ?catch ? ?和try搭配撲捉異常信息 ? ?
? ? ? ?char ? ?16-bit Unicode字符數據類型 ? ?
? ? ? ?class ? ?定義類 ? ?
? ? ? ?const ? ?未使用 ? ?
? ? ? ?continue ? ?不執行循環體剩余部分 ? ?
? ? ? ?default ? ?switch語句中的默認分支 ? ?
? ? ? ?do ? ?循環語句,循環體至少會執行一次?? ?
? ? ? ?double ? ?64-bit雙精度浮點數 ? ?
? ? ? ?else ? ?if條件不成立時執行的分支? ??
? ? ? ?enum ? ?枚舉類型 ? ?
? ? ? ?extends ? ?表示一個類是另一個類的子類 ? ?
? ? ? ?final ? ?表示一個值在初始化之后就不能再改變了;表示方法不能被重寫,或者一個類不能有子類。 ? ?
? ? ? ?finally ? ?為了完成執行的代碼而設計的,主要是為了程序的健壯性和完整性,無論有沒有異常發生都執行代碼。??
? ? ? ?float ? ?32-bit單精度浮點數 ? ?
? ? ? ?for ? ?for循環語句 ? ?
? ? ? ?goto ? ?未使用 ? ?
? ? ? ?if ? ?條件語句 ? ?
? ? ? ?implements ? ?表示一個類實現了接口 ? ?
? ? ? ?import ? ?導入類 ? ?
? ? ? ?instanceof ? ?測試一個對象是否是某個類的實例???
? ? ? ?int ? ?32位整型數 ? ?
? ? ? ?interface ? ?接口,一種抽象的類型,僅有方法和常量的定義 ? ?
? ? ? ?long ? ?64位整型數 ? ?
? ? ? ?native ? ?表示方法用非java代碼實現 ? ?
? ? ? ?new ? ?分配新的類實例 ? ?
? ? ? ?package ? ?一系列相關類組成一個包 ? ?
? ? ? ?private ? ?表示私有字段,或者方法等,只能從類內部訪問 ? ?
? ? ? ?protected ? ?表示字段只能通過類或者其子類訪問子類或者在同一個包內的其他類 ? ?
? ? ? ?public ? ?表示共有屬性或者方法 ???
? ? ? ?return ? ?方法返回值 ? ?
? ? ? ?short ? ?16位數字 ???
? ? ? ?static ? ?表示在類級別定義,所有實例共享的 ? ?
? ? ? ?strictfp ? ?浮點數比較使用嚴格的規則 ? ?
? ? ? ?super ? ?表示基類 ? ?
? ? ? ?switch ? ?選擇語句 ? ?
? ? ? ?synchronized ? ?表示同一時間只能由一個線程訪問的代碼塊 ? ?
? ? ? ?this ? ?表示調用當前實例或者調用另一個構造函數 ???
? ? ? ?throw ? ?拋出異常 ? ?
? ? ? ?throws ? ?定義方法可能拋出的異常 ? ?
? ? ? ?transient ? ?修飾不要序列化的字段? ?
? ? ? ?try ? ?表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執行finally中的代碼 ? ?
? ? ? ?void ? ?標記方法不返回任何值?? ?
? ? ? ?volatile ? ?標記字段可能會被多個線程同時訪問,而不做同步 ? ?
? ? ? ?while ? ? while循環 ? ??
## 二標識符
標識符概述:Java對各種變量,類,接口,方法等起名字時使用的字符序列。
組成規則:1英文大小寫字母2數字字符3美元符($)和下劃線(_)。

使用標識符時,需要遵守幾條規則:
1標識符可以由字母、數字、下劃線(_)、美元符($)組成,但不能包含 @、%、空格等其它特殊字符,不能以數字
開頭。比如:123name 就是不合法的。
2標識符不能是 Java 關鍵字和保留字(Java預留的關鍵字,以后的升級版本中有可能作為關鍵字),但可以包含關
鍵字和保留字。如:不可以使用 void 作為標識符,但是 Myvoid 可以。
3標識符是嚴格區分大小寫的。 所以,一定要分清楚和是兩個不同的標識符。
4標識符的命名最好能反映出其作用,做到見名知意。
不合法的標識符:

合法的標識符:

標識符命名的常見類型:
? ? ? 1包(其實就是文件夾,用于解決相同類名進行區分的問題),全部小寫。
? ? ? 單級:
? ? ? 舉例:student
? ? ? 多級:
? ? ? 舉例:student.number
? ? ? 2類或接口:
? ? ? 一個單詞:單詞的首字母必須大寫。
? ? ? 舉例:Student
? ? ? 多個單詞:每個單詞的首字母必須大寫。
? ? ? 舉例:HelloWorld
? ? ? 3方法和變量:
? ? ? 一個單詞:單詞的首字母必須小寫。
? ? ? 舉例:main
? ? ? 多個單詞:從第二個單詞開始,每個單詞的首字母必須大寫。
? ? ? 舉例:showAllName
? ? ? 4常量:
? ? ? 一個單詞:單詞字母必須全部大寫。
? ? ? 舉例:PI
? ? ? 多個單詞:每個單字母必須大寫,用_隔開 。
? ? ? 舉例:STUDENT_MAX_AGE?
## 三注釋
注釋概述:在編寫程序時,經常需要添加一些注釋,用以描述某段代碼的作用。一般來說,對于一份規范的程序
源代碼而言,注釋應該占到源代碼的 1/3 以上。因此,注釋是程序源代碼的重要組成部分,一定要加以重視。
Java中注釋分類及格式:
Java中注釋有三種類型:單行注釋、多行注釋、文檔注釋。
1單行注釋格式://注釋文字
2多行注釋格式:/*注釋文字*/,需要注意的是多行注釋不能嵌套使用,而單行是可以的。
3文檔注釋:/**注釋文字*/,這個注釋的作用的是被javadoc工具解析生成一個說明書。
注釋的作用:
1解釋說明程序,提高程序的可閱讀性;
2可以幫助我們調試程序。
看一個例子:

## 四常量和變量
常量概述:在程序執行的過程中其值不可以發生改變。所謂常量,我們可以理解為是一種特殊的變量,它的值被
設定后,在程序運行過程中不允許改變。
Java中常量分類:
1字面值常量
A字符串常量:用雙引號括起來的內容。
舉例:"hello" "world"
B整數常量:所有的整數。
舉例:100 300
C小數常量:所有的小數。
舉例:10.23?
D字符常量:用單引號括起來的常量。
舉例:'A' ?'C' ?'O'
E布爾常量:比較特殊,只有true和false
F空常量:null
2自定義常量
語法格式:final 常量名 = 值;
程序中使用常量可以提高代碼的可維護性。例如,在項目開發時,我們需要指定用戶的性別,此時可以定義一個
常量 SEX,賦值為 "男",在需要指定用戶性別的地方直接調用此常量即可,避免了由于用戶的不規范賦值導致程序出
錯的情況。
舉例:

變量
變量概述:在程序的執行過程中,其值是可以在一定范圍內發生改變的量。
在Java中,我們通過三個元素描述變量:變量類型、變量名以及變量值,其中變量名是標識符。
變量的定義格式:
A:數據類型 變量名 = 初始化值;
B:數據類型 變量名;
變量名 = 初始化值;
Java語言是一種強類型語言。通俗點說就是,在Java中存儲的數據都是有類型的,而且必須在編譯時就確定其類
型。?String 是一種常見的引用數據類型,用來表示字符串。在程序開發中,很多操作都要使用字符串來完成,例如系
統中的用戶名、密碼、電子郵箱等。這個String引用類型是特殊的。
Java中有兩類數據類型:兩類十一種

在Java的領域里,基本數據類型變量存的是數據本身,而引用類型變量存的是保存數據的空間地址。這個我們以
后的學習中逐漸體會到。
基本數據類型

? ? ? ? ? ?A:整數? ? ? ? ? ? ? ? ? ? ??占用字節數
? ? ? ? ? ? ? ? ? ? ?byte? ? ? ? ? ? ? ? ? 1
? ? ? ? ? ? ? ? ? ? ?short? ? ? ? ? ? ? ? ?2
? ? ? ? ? ? ? ? ? ? ?int? ? ? ? ? ? ? ? ? ? ?4
? ? ? ? ? ? ? ? ? ? ?long? ? ? ? ? ? ? ? ? 8
? ? ? ? ? B:浮點數
? ? ? ? ? ? ? ? ? ??float? ? ? ? ? ? ? ? ? ?4
? ? ? ? ? ? ? ? ? ?double? ? ? ? ? ? ? ? 8
? ? ? ? ?C:字符
? ? ? ? ? ? ? ? ? ??char? ? ? ? ? ? ? ? ? ?2
? ? ? ? ?D:布爾
? ? ? ? ? ? ? ? ? ??boolean? ? ? ? ? ? ? ? ? ??1(并不確定)
使用變量需要的注意事項:
1作用域:變量定義在哪一級大括號中,哪個大括號的范圍就是這個變量的作用域。相同的作用域中不能定義兩
個同名變量。
2初始化值:沒有初始化的值不能直接使用。
3在一行上建議只定義一個變量,可以定義多個,但不建議。
4Java 中的變量需要先聲明后使用。
5變量中每次只能賦一個值,但可以修改多次。
6main 方法中定義的變量必須先賦值,然后才能輸出。
在Java程序中,不同的基本數據類型的數據之間經常需要進行相互轉換。
我們定義的變量的基本數據類型時需要注意:
1整數默認是int類型,浮點數默認是double。
2長整數要加L或者l(建議使用L)。
3單精度的浮點數要加F或者f(建議使用F)。
(1)boolean類型不參與轉換,因為不可以以0或非0的整數代替false和true。這一點和其他的高級程序設計語言不
同,一定要注意。
(2)默認轉換
? ? ? ? ? ? A:從小到大
? ? ? ? ? ? B:byte,short,char -- int -- long -- float -- double
? ? ? ? ? ? C:byte,short,char之間不相互轉換,直接轉成int類型參與運算。
? ? ? ? ? ? (3)強制轉換
? ? ? ? ? ? A:從大到小
? ? ? ? ? ? B:可能會有精度的損失,一般不建議這樣使用。
? ? ? ? ? ? C:格式:
? ? ? ? ? ? 目標數據類型 變量名 = (目標數據類型) (被轉換的數據);
? ? ?思考題和面試題
? ? ? ? A:下面兩種方式有區別嗎?
? ? ? ? float f1 = 12.345f;
? ? ? ? float f2 = (float)12.345;

? ? ? ? B:下面的程序有問題嗎,如果有,在哪里呢?
? ? ? ? byte b1 = 3;
? ? ? ? byte b2 = 4;
? ? ? ? byte b3 = b1 + b2;
? ? ? ? byte b4 = 3 + 4;

? ? ? ?C:下面的操作結果是什么呢?
? ? ? ? byte a = 130;
? ? ? ? byte b = (byte)130;

? ? ? ? ? D:字符參與運算
? ? ? ? ? 是查找ASCII里面的值,查ASCII表即可
? ? ? ? ? 'a'97
? ? ? ? ? 'A'65
? ? ? ? ? '0'48
? ? ? ? ? System.out.println('a');
? ? ? ? ? System.out.println('a' + 1);
? ? ? ? ? E:字符串參與運算
? ? ? ? ? 這里其實是字符串的連接
? ? ? ? ? System.out.println("hello"+'a'+1);
? ? ? ? ? System.out.println('a'+1+"hello");
? ? ? ? ? System.out.println("5+5="+5+5);
? ? ? ? ? System.out.println(5+5+"=5+5");
上面兩個題的輸出輸出是:

先到這里,若有錯誤的地方,請指正。
??