-
Java數(shù)據(jù)類型
定義類型 | 存儲空間 | 表示范圍 |
---|---|---|
byte | 1個字節(jié)娶靡,8位 | -128(-27)~127(27-1) |
short | 2個字節(jié),16位 | -32768(-215)~32767(215-1) |
int | 4個字節(jié)艾帐,32位 | -231~231-1 |
long | 8個字節(jié)猪贪,64位 | -263~263-1 |
float | 4個字節(jié)跷敬,32位 | ±3.40E38,有效位數(shù)6~7位 |
double | 8個字節(jié)热押,64位 | ±1.80E308西傀,有效位數(shù)15位 |
char | 2個字節(jié),16位 | Unicode編碼桶癣,0~216-1 |
布爾型用于邏輯判斷拥褂,包括兩種可能的取值,true和false牙寞。與C/C++不同饺鹃,Java不能用0替代false,也不能用非0值替代true,原因在于Java不支持整型和布爾型之間的數(shù)據(jù)轉換碎税。
Java的八種數(shù)據(jù)類型尤慰,除布爾型之外,都可以相互轉換雷蹂。注意,強制轉換并不影響變量本身的數(shù)值和數(shù)據(jù)類型杯道。
-
&&與&匪煌、||與|
從運算結果的角度來講,&&與&党巾、||與|結果相同萎庭,但從運算過程的角度來講,&&總是先計算左側數(shù)值齿拂;如果左側為false驳规,則右側不計算。&操作符是將兩側的邏輯值均算出后再根據(jù)求與的操作返回結果署海。||與|同理吗购。
-
Switch語句
switch(expression)医男,其中的expression是一個表達式,在JDK1.7版本中捻勉,這個表達式支持byte镀梭、short、char踱启、int报账、String和枚舉類型。
switch語句中埠偿,default語句的最后不需要加break透罢。
-
Java鍵盤輸入
- BufferedReader類
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
標準系統(tǒng)輸入System.in屬于字節(jié)流,而BufferedReader屬于字符流冠蒋,通過轉換流InputStreamReader對System.in進行轉換羽圃。調用br 的readLine方法,可以逐行讀取鍵盤輸入浊服,當用戶按<Enter>统屈,readLine方法結束,方法返回的是一個字符串牙躺。
- Scanner類
Scanner sc = new Scanner(System.in);
一般來說愁憔,使用該類的hasNext方法判斷是否包含下一個字符串,使用hasNextXxx判斷是否包含下一個基本類型孽拷。如果獲取鍵盤輸入的數(shù)據(jù)吨掌,則通過next方法得到字符串,也可通過nextXxx得到某種基本數(shù)據(jù)類型的數(shù)據(jù)脓恕。Scanner中默認<Enter>膜宋、空格、Tab方式作為分隔符炼幔。
-
Java數(shù)組
- 定義
type [ ] arrayName;//實際開發(fā)使用較多
type arrayName [ ];
- 初始化
- 靜態(tài)初始化
arrayName = new type [ ] {e1,e2,e3}
- 數(shù)組定義和靜態(tài)初始化結合
type [ ] arrayName = {e1,e2,e3}
- 動態(tài)初始化
arrayName = new type [ length ]
- 數(shù)組定義和動態(tài)初始化結合
type [ ] arrayName = new type [ length ]
- foreach循環(huán)
for(type variable Name : arrayName | collectionName){
...
}
foreach不是一種循環(huán)結構秋茫,只是for循環(huán)在遍歷數(shù)組或集合元素的簡潔寫法。
-
Java封裝乃秀、繼承與多態(tài)
- 封裝
權限修飾符:private肛著、default、protected跺讯、public - 繼承
子類可重載枢贿,重寫父類的方法;隱藏父類的變量刀脏。 - 多態(tài)
- 編譯時多態(tài):方法的重載和重寫
- 運行時多態(tài):父類聲明一個實例對象局荚,調用子類構造方法初始化。這時該實例對象仍屬于父類,可以完全使用父類的方法耀态,只有在該方法被子類重寫時轮傍,才調用子類的方法,也稱為反向繼承茫陆。
-
static與final修飾符
- static
- 類變量(靜態(tài)變量)金麸、類方法(靜態(tài)方法)和類初始化塊(靜態(tài)初始化塊)。
- 類方法中不能使用this關鍵字簿盅,且只能調用類變量和其他類方法挥下。
- 類初始化塊只能訪問static類成員,在類被加載時執(zhí)行桨醋,而不是在使用類創(chuàng)建實例對象時執(zhí)行棚瘟,因此類初始化塊總是比普通初始化塊先執(zhí)行。
- final
- final修飾的方法無法被子類重寫喜最,但可以重載偎蘸。
-
static final double PI = 3.14;
PI為類常量,該類所有實例共享這個類常量瞬内。
final double PI = 3.14;
PI為常量迷雪,每個實例對象擁有一個該常量。
類常量賦值虫蝶,只能在類初始化塊或該常量聲明時賦值章咧。final類型賦值,可以在初始化塊能真、變量聲明和構造方法中賦值赁严。只要是final修飾的變量,就無法使用方法賦值粉铐。
-
裝箱疼约、拆箱和數(shù)字-字符串轉換
- 裝箱
Integer c = new Integer(10);//手動裝箱,通過構造方法
c = Integer.valueOf(10);//手動裝箱蝙泼,通過valueOf方法
- 自動裝箱程剥,直接將基本數(shù)據(jù)類型的值賦給對應的包裝類實例對象。
- 拆箱
int e = c.intValue();//手動拆箱汤踏,通過xxxValue方法倡缠,xxx為某種基本數(shù)據(jù)類型。
- 自動拆箱茎活,直接將包裝類的實例對象賦給對應基本數(shù)據(jù)類型的變量。
- 字符串轉數(shù)字
通過包裝類的valueOf方法和parseXxx方法琢唾,前者得到包裝類實例對象形式的數(shù)字载荔,是一個對象;后者得到基本數(shù)據(jù)類型采桃。 - 數(shù)字轉字符串
通過String類的valueOf方法懒熙。
-
Java集合
兩大體系:
- Collection體系中常用的有Set丘损、List和Queue三大子接口。ArrayList可能是最常見的List接口的實現(xiàn)類工扎。
- Map體系中常用的有HashMap子類徘钥、EnumMap子類和SortedMap子接口等。
-
Java圖形用戶界面
- AWT(Abstract Windows Toolkit)和Swing組件庫肢娘。
組件庫分類:- 容器(Container):窗口(Frame或JFrame)呈础、面板(Panel或JPanel)、對話框(Dialog或JDialog)橱健、滾動條(ScrollPane或JScrollPane)等而钞。
- 基本組件(Component):按鈕(Button或JButton)、文本框(TextField或JTextField)拘荡、復選框(Checkbox或JCheckBox)等臼节。
- 事件機制
- 事件(Event):鍵盤事件、鼠標事件珊皿、窗口事件网缝、選擇事件等。
- 高級事件:ActionEvent蟋定、AdjustmentEvent粉臊、ItemEvent、TextEvent
- 低級事件:ComponentEvent溢吻、ContainerEvent维费、WindowEvent、FocusEvent促王、KeyEvent犀盟、MouseEvent
- 事件源(Event Source)
- 事件監(jiān)聽器(Listener):與事件(Event)相對應。如:ActionListener蝇狼、MouseListener等阅畴。監(jiān)聽組件并調用對應的動作處理方法立刻處理這個事件。監(jiān)聽器屬于接口類型迅耘,必須實現(xiàn)該監(jiān)聽器的所有方法贱枣。
- 事件適配器(Adapter):簡化版的監(jiān)聽器
- 事件(Event):鍵盤事件、鼠標事件珊皿、窗口事件网缝、選擇事件等。
f.addWindowListener(new WindowAdapter(){
public void windowsClosing(WindowEvent e){
System.exit(0);
}
});