《Java從小白到大?!分?章 Java語法基礎

《Java從小白到大牛》紙質版已經上架了?。?!

本章主要為大家介紹Java的一些基本語法,其中包括標識符、關鍵字、保留字、常量、變量、表達式等內容。

4.1 標識符、關鍵字和保留字

任何一種計算機語言都離不開標識符和關鍵字,因此下面將詳細介紹Java標識符、關鍵字和保留字。

4.1.1 標識符

標識符就是變量、常量、方法、枚舉、類、接口等由程序員指定的名字。構成標識符的字母均有一定的規范,Java語言中標識符的命名規則如下:

  1. 區分大小寫:Myname與myname是兩個不同的標識符。
  2. 首字符,可以是下劃線(_)或美元符或字母,但不能是數字;
  3. 除首字符外其他字符,可以是下劃線(_)、美元符、字母和數字。
  4. 關鍵字不能作為標識符。

例如,身高、identifier、userName、User_Name、$Name、_sys_val等為合法的標識符,注意中文“身高”命名的變量是合法的;而2mail、room#和class為非法的標識符,注意#是非法字符,而class是關鍵字。
**
注意 Java語言中字母采用的是雙字節Unicode編碼。Unicode叫作統一編碼制,它包含了亞洲文字編碼,如中文、日文、韓文等字符。**

4.1.2 關鍵字

關鍵字是類似于標識符的保留字符序列,由語言本身定義好的,不能挪作他用,Java語言中有50個關鍵字,如表4-1所示。

表 4-1 Java關鍵字

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

關鍵字很多這里不再一一介紹了,但是讀者需要記住一點的是Java中的關鍵字全部是小寫字母。

4.1.2 保留字

Java中有一些字符序列即不能當作標識符使用,也不是關鍵字,也不能在程序中使用,這些字符序列稱為保留字。Java語言中的保留字只有兩個goto和const:

  1. goto:在其他語言中叫做“無限跳轉”語句,在Java語言中不再使用goto語句,因為“無限跳轉”語句會破壞程序結構。在Java語言中goto的替換語句可以通過break、continue和return實現“有限跳轉”。
  2. const:在其他語言中是聲明常量關鍵字,在Java語言中聲明常量使用public static final 方式聲明。

4.2 Java分隔符

在Java源代碼中,有一些字符被用作分隔,稱為分隔符。分隔符主要有:分號(;)、左右大括號({})和空白。

1. 分號

分號是Java語言中最常用的分隔符,它表示一條語句的結束。下面代碼:

int totals = 1 + 2 + 3 + 4;

等價于

int totals = 1 + 2

+ 3 + 4;

2. 大括號

在Java語言中,以左右大括號({})括起來語句集合稱為語句塊(block)或復合語句,語句塊中可以有0~n條語句。在定義類或方法時,語句塊也被用做分隔類體或方法體。語句塊也可以嵌套,且嵌套層次沒有限制。示例代碼如下:

public class HelloWorld {

    public static void main(String args[]) {

        int m = 5;
        if (m < 10) {
            System.out.println("<10");
        }

    }
}

3. 空白

在Java源代碼中元素之間允許有空白,空白的數量不限。空白包括空格、制表符(Tab鍵輸入)和換行符(Enter鍵輸入),適當的空白可以改善對源代碼可讀性。下列幾段代碼是等價。

if (m < 10) {
    System.out.println("<10"); }

等價于

if (m < 10) 
    {
    System.out.println("<10"); 
}

等價于

if (m < 10) {
    System.out.println("<10"); 
}

4.3 變量

變量和常量是構成表達式的重要部分,變量所代表的內部是可以被修改的。變量包括變量名和變量值,變量的聲明格式為:

數據類型 變量名 [=初始值];

變量名要遵守用標識符命名規范,卻在相關的作用域中不能有重復的變量名。變量作用域是變量的使用范圍,在此范圍內變量可以使用,超過作用域,變量內容則被釋放,根據作用域不同分為:成員變量和局部變量,示例代碼如下:


public class HelloWorld {

    // 聲明int型成員變量
    int y; ①

    public static void main(String[] args) {

        // 聲明int型局部變量
        int x; ②
        // 聲明float型變量并賦值
        float f = 4.5f; ③

        // x = 10;
        System.out.println("x = " + x);// 編譯錯誤,局部變量 x未初始化 ④
        System.out.println("f = " + f);

        if (f < 10) {
            // 聲明型局部變量
            int m = 5; ⑤
            
        }
        System.out.println(m); // 編譯錯誤 ⑥
    }
}

上述代碼中代碼第①行是聲明的成員變量y,成員變量是在類體中,而在方法之外,作用域是整個類,如果沒有初始賦值,系統會為它分配一個默認值,每一種數據類型都有默認值,int類型默認值是0。

代碼第②、③、⑤行都是聲明局部變量,局部變量是在方法或if、for和while等代碼塊中聲明的變量,第②和③行聲明局部變量作用域是整個方法,第⑤行聲明的m變量作用域是當前的if語句。

另外,代碼第④行和第⑥行會有編譯錯誤方法,這是因為第④行是因為x使用之前沒有被初始化,與成員變量不同,局部變量在使用之前必須顯示地初始化。代碼第③行是在聲明的同時初始化了。代碼第⑥行的錯誤是因為m變量超過了作用域。

4.4 常量

常量事實上是那些內容不能被修改的變量,常量與變量類似也需要初始化,即在聲明常量的同時要賦予一個初始值。常量一旦初始化就不可以被修改。它的聲明格式為:

final 數據類型 變量名 = 初始值;

final關鍵字表示最終的,它可以修改很多元素,修飾變量就變成了常量。示例代碼如下:

public class HelloWorld {
    
    // 靜態常量,替代const
    public static final double PI = 3.14; ①
    
    // 聲明成員常量
    final int y = 10;   ②
    
    public static void main(String[] args) {
        // 聲明局部常量
        final double x = 3.3; ③
    } 
}

事實上常量有三種類型:靜態常量、成員常量和局部常量。代碼第①行的是聲明靜態常量,使用在final 之前public static修飾,用來保留字const。public static修飾的常量作用域是全局的,不需要創建對象就可以訪問它,在類外部訪問形式:HelloWorld. PI,這種常量在編程中使用很多。

代碼第②行聲明成員常量,作用域類似于成員變量,但不能修改。代碼第③行聲明局部常量,作用域類似于局部變量,但不能修改。

本章小結

本章主要介紹了Java語言中最基本的語法,首先介紹了標識符、關鍵字和保留字,讀者需要掌握標識符構成,了解Java關鍵字和保留字。接著介紹了Java中的分隔符,最后介紹了變量和常量,讀者需要掌握變量種類和作用域,以及常量的聲明。

配套視頻

http://www.zhijieketang.com/classroom/6/courses

配套源代碼

http://www.zhijieketang.com/group/5

與本書免費版對應的還有一個收費版本:

  1. 進入百度閱讀電子書

  2. 進入圖靈社區電子書

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,516評論 2 379