1. 程式人生 > >Java程式設計基礎(1)

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版》葉核亞