Java程式設計基礎(1)
一、概述
1、三大平臺
(1)java ME:嵌入式應用(小型裝置,比如行動通訊,智慧卡,電視機頂盒等)
(2)Java SE:桌面級應用(也就是Eclipse一類的應用,Java SE SDK也簡稱JDK)
(3)Java EE:Java的企業級應用平臺
2、跨平臺特性——得益於java虛擬機器的設計(可以執行在不同作業系統上,避免了java程式與作業系統直接接觸,可以說是透明的)
可以看上圖,非常清晰明瞭,java程式通過Java虛擬機器在不同作業系統中執行,可以說java虛擬機器是java語言得以大力發展的一大主要誘因,具體java虛擬機器的原理,可以參考一位大神寫的部落格:深入理解Java虛擬機器到底是什麼
Java虛擬機器——Java Virtual Machine,JVM
3、Java應用程式
(1)Application:能夠獨立執行的應用程式,有控制檯和圖形使用者介面兩種執行方式
(2)Applet:是可以嵌入Web頁面的最小應用,不能獨立執行,必須嵌入超文字(.html)中,由瀏覽器中的Java直譯器解釋執行(其實本質上,Applet是Application的一種特殊形式)
上圖就是Java應用程式兩種分類的執行方式,其中java.exe就代表了java虛擬機器
4、Java API的常用包
5、關鍵字和識別符號(以前總是搞混,複習的時候,記錄一下)
(1)關鍵字(keywords)——java語言定義的,具有特定含義的詞,比如public,class,static,void等
(2)識別符號(identifier)——使用者自己定義的,可用於命名變數、常量、類、物件、方法等,字母(小寫字母、下劃線和符號$)開頭的字母數字序列,長度不受限制
6、命名規範問題:
(1)類名:首字母要大寫
(2)關鍵字、變數、物件、方法、包名:首字母要小寫,如果是多個單詞,第二個單詞首字母可以大寫,比如setPeople
(4)常量:一般全部要大寫(定義就是新增一個final關鍵字即可),如下面所示
final int MY_SCORE = 100;
7、基本資料型別:
(1)整數型別(忘得差不多了):
- 位元組型 byte:1個位元組(8位,256)
- 短整型 short:2個位元組
- 整型 int:4個位元組
- 長整型 long:8個位元組
(2)浮點數
- 科學計數法:-123.45可以表示為-1.2345E+2(這裡的+表示10的正數次方,如果是-,自然表示負的10次方了)
- 單精度浮點數float(4個位元組);雙精度浮點數double(8個位元組)
8、轉義字元
一般在輸出單引號和雙引號的時候,會經常遇到上面的轉義字元,比如:
String a = "hello world";
System.out.println("\""+A+"\""+"\n\r"+"\""+A+"\"");
9、最終變數
採用關鍵字final宣告的變數,只能進行一次賦值,稱為最終變數,第二次賦值會報錯。
10、關係運算符(等於,不等於,小於,大於,不大於,不小於)
關係運算符比較的是Unicode值,運算結果是布林型別,比如:
‘a’<‘A’ //結果是false
11、型別轉換
(1)型別強制轉換:(資料型別)表示式,比如
(int)(98.4+0.3) //浮點數按四捨五入方式取整
12、流程控制語句:
(1)switch語句用的比較少,這裡就舉個例子:
int i=5;
switch(i)
{
case 1:
System.out.println("one");
case 10:
System.out.println("ten");
case 5:
System.out.println("five");
case 3:
System.out.println("three");
default:
System.out.println("other");
}
上面程式碼中,如果執行的話,會依次輸出five、three、other,這是因為一旦找到符合條件的case,就會順序執行後面的程式碼,不管後面的case是否符合條件,直到遇到break;前面的one、ten因為不符合條件,所以不會輸出;如果所有條件都不符合,就執行default語句
所以,一般的每一個case後面都會緊跟著一個break,避免執行後面的case語句,正解如下:
int i=5;
switch(i)
{
case 1:
System.out.println("one");
break;
case 10:
System.out.println("ten");
break;
case 5:
System.out.println("five");
break;
case 3:
System.out.println("three");
break;
default:
System.out.println("other");
break;
}
當然根據執行順序,有簡化形式:
int month = 10;
int days = 0;
switch(month){
case 2:
days = 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
}
多個case共用一個執行語句
(2)for語句需要注意的:
- 空迴圈——“for(i=1;i<=10;i++);”,這是一個空迴圈,因為沒有執行語句,但是裡面的i依然在不斷增加
- for(;;),這是一個死迴圈,相當於while(true)
參考書籍:《Java程式設計實用教程第4版》葉核亞