天天看點

Java 基礎文法

一個 Java 程式可以認為是一系列對象的集合,而這些對象通過調用彼此的方法來協同工作。下面簡要介紹下類、對象、方法和執行個體變量的概念。

對象:對象是類的一個執行個體,有狀态和行為。例如,一條狗是一個對象,它的狀态有:顔色、名字、品種;行為有:搖尾巴、叫、吃等。

類:類是一個模闆,它描述一類對象的行為和狀态。

方法:方法就是行為,一個類可以有很多方法。邏輯運算、資料修改以及所有動作都是在方法中完成的。

執行個體變量:每個對象都有獨特的執行個體變量,對象的狀态由這些執行個體變量的值決定。

下面看一個簡單的 Java 程式,它将輸出字元串 Hello World

public class HelloWorld {

/* 第一個Java程式

* 它将輸出字元串 Hello World

*/

public static void main(String[] args) {

System.out.println("Hello World"); // 輸出 Hello World

}

Java 基礎文法

下面将逐漸介紹如何儲存、編譯以及運作這個程式:

打開代碼編輯器,把上面的代碼添加進去;

把檔案名儲存為:HelloWorld.java;

打開 cmd 指令視窗,進入目标檔案所在的位置,假設是 C:\

在指令行視窗輸入 javac HelloWorld.java 按下Enter鍵編譯代碼。如果代碼沒有錯誤,cmd 指令提示符會進入下一行(假設環境變量都設定好了)。

再鍵輸入 java HelloWorld 按下Enter鍵就可以運作程式了

你将會在視窗看到 Hello World

如果遇到編碼問題,我們可以使用 -encoding 選項設定 utf-8 來編譯:

Gif 圖示範:

Java 基礎文法

編寫 Java 程式時,應注意以下幾點:

大小寫敏感:Java 是大小寫敏感的,這就意味着辨別符 Hello 與 hello 是不同的。

類名:對于所有的類來說,類名的首字母應該大寫。如果類名由若幹單詞組成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。

方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若幹單詞,則後面的每個單詞首字母大寫。

源檔案名:源檔案名必須和類名相同。當儲存檔案的時候,你應該使用類名作為檔案名儲存(切記 Java 是大小寫敏感的),檔案名的字尾為 .java。(如果檔案名和類名不相同則會導緻編譯錯誤)。

主方法入口:所有的 Java 程式由 public static void main(String[] args) 方法開始執行。

Java 所有的組成部分都需要名字。類名、變量名以及方法名都被稱為辨別符。

關于 Java 辨別符,有以下幾點需要注意:

所有的辨別符都應該以字母(A-Z 或者 a-z),美元符($)、或者下劃線(_)開始

首字元之後可以是字母(A-Z 或者 a-z),美元符($)、下劃線(_)或數字的任何字元組合

關鍵字不能用作辨別符

辨別符是大小寫敏感的

合法辨別符舉例:age、$salary、_value、__1_value

非法辨別符舉例:123abc、-salary

像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:

通路控制修飾符 : default, public , protected, private

非通路控制修飾符 : final, abstract, static, synchronized

在後面的章節中我們會深入讨論 Java 修飾符。

Java 中主要有如下幾種類型的變量

局部變量

類變量(靜态變量)

成員變量(非靜态變量)

數組是儲存在堆上的對象,可以儲存多個同類型變量。在後面的章節中,我們将會學到如何聲明、構造以及初始化一個數組。

Java 5.0引入了枚舉,枚舉限制變量隻能是預先設定好的值。使用枚舉可以減少代碼中的 bug。

例如,我們為果汁店設計一個程式,它将限制果汁為小杯、中杯、大杯。這就意味着它不允許顧客點除了這三種尺寸外的果汁。

class FreshJuice {

enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }

FreshJuiceSize size;

public class FreshJuiceTest {

public static void main(String[] args){

FreshJuice juice = new FreshJuice();

juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;

注意:枚舉可以單獨聲明或者聲明在類裡面。方法、變量、構造函數也可以在枚舉中定義。

下面列出了 Java 關鍵字。這些保留字不能用于常量、變量、和任何辨別符的名稱。

類别

關鍵字

說明

通路控制

private

私有的

protected

受保護的

public

公共的

default

預設

類、方法和變量修飾符

abstract

聲明抽象

class

extends

擴充,繼承

final

最終值,不可改變的

implements

實作(接口)

interface

接口

native

本地,原生方法(非 Java 實作)

new

新,建立

static

靜态

strictfp

嚴格,精準

synchronized

線程,同步

transient

短暫

volatile

易失

程式控制語句

break

跳出循環

case

定義一個值以供 switch 選擇

continue

繼續

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

注意:Java 的 null 不是關鍵字,類似于 true 和 false,它是一個字面常量,不允許作為辨別符使用。

類似于 C/C++、Java 也支援單行以及多行注釋。注釋中的字元将被 Java 編譯器忽略。

/* 這是第一個Java程式

* 它将輸出 Hello World

* 這是一個多行注釋的示例

// 這是單行注釋的示例

/* 這個也是單行注釋的示例 */

System.out.println("Hello World");

空白行或者有注釋的行,Java 編譯器都會忽略掉。

在 Java 中,一個類可以由其他類派生。如果你要建立一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以将新建立的類繼承該類。

利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。

在 Java 中,接口可了解為對象間互相通信的協定。接口在繼承中扮演着很重要的角色。

接口隻定義派生要用到的方法,但是方法的具體實作完全取決于派生類。

如下圖所示:

Java 基礎文法

下一節介紹 Java 程式設計中的類和對象。之後你将會對 Java 中的類和對象有更清楚的認識。