Java 基礎語法
一個 Java 程式可以認為是一系列對象的集合,而這些對象通過調用彼此的方法來協同工作。下麵簡要介紹下類、對象、方法和實例變數的概念。
- 對象:對象是類的一個實例,有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
- 類:類是一個範本,它描述一類對象的行為和狀態。
- 方法:方法就是行為,一個類可以有很多方法。邏輯運算、數據修改以及所有動作都是在方法中完成的。
- 實例變數:每個對象都有獨特的實例變數,對象的狀態由這些實例變數的值決定。
第一個Java程式
下麵看一個簡單的 Java 程式,它將列印字串 Hello World
實例
下麵將逐步介紹如何保存、編譯以及運行這個程式:
- 打開代碼編輯器,把上面的代碼添加進去;
- 把檔案名保存為:HelloWorld.java;
- 打開 cmd 命令窗口,進入目標檔所在的位置,假設是 C:\
- 在命令行窗口輸入 javac HelloWorld.java 按下回車鍵編譯代碼。如果代碼沒有錯誤,cmd 命令提示符會進入下一行(假設環境變數都設置好了)。
- 再鍵輸入 java HelloWorld 按下回車鍵就可以運行程式了
你將會在窗口看到 Hello World
C : > javac HelloWorld.java C : > java HelloWorld Hello World
Gif 圖演示:

基本語法
編寫 Java 程式時,應注意以下幾點:
- 大小寫敏感:Java 是大小寫敏感的,這就意味著識別字 Hello 與 hello 是不同的。
- 類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。
- 方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫。
- 原始檔案名:原始檔案名必須和類名相同。當保存檔的時候,你應該使用類名作為檔案名保存(切記 Java 是大小寫敏感的),檔案名的尾碼為 .java。(如果檔案名和類名不相同則會導致編譯錯誤)。
- 主方法入口:所有的 Java 程式由 public static void main(String []args) 方法開始執行。
Java 識別字
Java 所有的組成部分都需要名字。類名、變數名以及方法名都被稱為識別字。
關於 Java 識別字,有以下幾點需要注意:
- 所有的識別字都應該以字母(A-Z 或者 a-z),美元符($)、或者下劃線(_)開始
- 首字元之後可以是字母(A-Z 或者 a-z),美元符($)、下劃線(_)或數字的任何字元組合
- 關鍵字不能用作識別字
- 識別字是大小寫敏感的
- 合法識別字舉例:age、$salary、_value、__1_value
- 非法識別字舉例:123abc、-salary
Java修飾符
像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:
- 訪問控制修飾符 : default, public , protected, private
- 非訪問控制修飾符 : final, abstract, static, synchronized
在後面的章節中我們會深入討論 Java 修飾符。
Java 變數
Java 中主要有如下幾種類型的變數- 局部變數
- 類變數(靜態變數)
- 成員變數(非靜態變數)
Java 數組
數組是儲存在堆上的對象,可以保存多個同類型變數。在後面的章節中,我們將會學到如何聲明、構造以及初始化一個數組。
Java 枚舉
Java 5.0引入了枚舉,枚舉限制變數只能是預先設定好的值。使用枚舉可以減少代碼中的 bug。
例如,我們為果汁店設計一個程式,它將限制果汁為小杯、中杯、大杯。這就意味著它不允許顧客點除了這三種尺寸外的果汁。
實例
注意:枚舉可以單獨聲明或者聲明在類裏面。方法、變數、構造函數也可以在枚舉中定義。
Java 關鍵字
下麵列出了 Java 關鍵字。這些保留字不能用於常量、變數、和任何識別字的名稱。
類別 | 關鍵字 | 說明 |
---|---|---|
訪問控制 | private | 私有的 |
protected | 受保護的 | |
public | 公共的 | |
類、方法和變數修飾符 | abstract | 聲明抽象 |
class | 類 | |
extends | 擴充,繼承 | |
final | 最終值,不可改變的 | |
implements | 實現(介面) | |
interface | 介面 | |
native | 本地,原生方法(非 Java 實現) | |
new | 新,創建 | |
static | 靜態 | |
strictfp | 嚴格,精准 | |
synchronized | 線程,同步 | |
transient | 短暫 | |
volatile | 易失 | |
程式控制語句 | break | 跳出迴圈 |
case | 定義一個值以供 switch 選擇 | |
continue | 繼續 | |
default | 默認 | |
do | 運行 | |
else | 否則 | |
for | 迴圈 | |
if | 如果 | |
instanceof | 實例 | |
return | 返回 | |
switch | 根據值選擇執行 | |
while | 迴圈 | |
錯誤處理 | assert | 斷言運算式是否為真 |
catch | 捕捉異常 | |
finally | 有沒有異常都執行 | |
throw | 拋出一個異常對象 | |
throws | 聲明一個異常可能被拋出 | |
try | 捕獲異常 | |
包相關 | import | 引入 |
package | 包 | |
基本類型 | boolean | 布爾型 |
byte | 位元組型 | |
char | 字元型 | |
double | 雙精度浮點 | |
float | 單精確度浮點 | |
int | 整型 | |
long | 長整型 | |
short | 短整型 | |
變數引用 | super | 父類,超類 |
this | 本類 | |
void | 無返回值 | |
保留關鍵字 | goto | 是關鍵字,但不能使用 |
const | 是關鍵字,但不能使用 | |
null | 空 |
Java注釋
類似於 C/C++、Java 也支持單行以及多行注釋。注釋中的字元將被 Java 編譯器忽略。
Java 空行
空白行或者有注釋的行,Java 編譯器都會忽略掉。
繼承
在 Java 中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以將新創建的類繼承該類。
利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。
介面
在 Java 中,介面可理解為對象間相互通信的協議。介面在繼承中扮演著很重要的角色。
介面只定義派生要用到的方法,但是方法的具體實現完全取決於派生類。
Java 根源程式與編譯型運行區別
如下圖所示:
下一節介紹 Java 編程中的類和對象。之後你將會對 Java 中的類和對象有更清楚的認識。