《Java從小白到大藕眨》之第4章 Java語法基礎(chǔ)

《Java從小白到大磐鸾ィ》紙質(zhì)版已經(jīng)上架了!C写睢窥翩!

本章主要為大家介紹Java的一些基本語法,其中包括標(biāo)識符鳞仙、關(guān)鍵字寇蚊、保留字、常量棍好、變量仗岸、表達(dá)式等內(nèi)容。

4.1 標(biāo)識符借笙、關(guān)鍵字和保留字

任何一種計(jì)算機(jī)語言都離不開標(biāo)識符和關(guān)鍵字扒怖,因此下面將詳細(xì)介紹Java標(biāo)識符、關(guān)鍵字和保留字业稼。

4.1.1 標(biāo)識符

標(biāo)識符就是變量盗痒、常量、方法低散、枚舉俯邓、類、接口等由程序員指定的名字熔号。構(gòu)成標(biāo)識符的字母均有一定的規(guī)范稽鞭,Java語言中標(biāo)識符的命名規(guī)則如下:

  1. 區(qū)分大小寫:Myname與myname是兩個不同的標(biāo)識符。
  2. 首字符引镊,可以是下劃線(_)或美元符或字母朦蕴,但不能是數(shù)字吃嘿;
  3. 除首字符外其他字符,可以是下劃線(_)梦重、美元符兑燥、字母和數(shù)字。
  4. 關(guān)鍵字不能作為標(biāo)識符琴拧。

例如降瞳,身高、identifier蚓胸、userName挣饥、User_Name、$Name沛膳、_sys_val等為合法的標(biāo)識符扔枫,注意中文“身高”命名的變量是合法的;而2mail锹安、room#和class為非法的標(biāo)識符短荐,注意#是非法字符,而class是關(guān)鍵字叹哭。
**
注意 Java語言中字母采用的是雙字節(jié)Unicode編碼忍宋。Unicode叫作統(tǒng)一編碼制,它包含了亞洲文字編碼风罩,如中文糠排、日文、韓文等字符超升。**

4.1.2 關(guān)鍵字

關(guān)鍵字是類似于標(biāo)識符的保留字符序列入宦,由語言本身定義好的,不能挪作他用室琢,Java語言中有50個關(guān)鍵字乾闰,如表4-1所示。

表 4-1 Java關(guān)鍵字

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

關(guān)鍵字很多這里不再一一介紹了研乒,但是讀者需要記住一點(diǎn)的是Java中的關(guān)鍵字全部是小寫字母汹忠。

4.1.2 保留字

Java中有一些字符序列即不能當(dāng)作標(biāo)識符使用淋硝,也不是關(guān)鍵字雹熬,也不能在程序中使用,這些字符序列稱為保留字谣膳。Java語言中的保留字只有兩個goto和const:

  1. goto:在其他語言中叫做“無限跳轉(zhuǎn)”語句竿报,在Java語言中不再使用goto語句,因?yàn)椤盁o限跳轉(zhuǎn)”語句會破壞程序結(jié)構(gòu)继谚。在Java語言中g(shù)oto的替換語句可以通過break烈菌、continue和return實(shí)現(xiàn)“有限跳轉(zhuǎn)”。
  2. const:在其他語言中是聲明常量關(guān)鍵字,在Java語言中聲明常量使用public static final 方式聲明芽世。

4.2 Java分隔符

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

1. 分號

分號是Java語言中最常用的分隔符旺矾,它表示一條語句的結(jié)束蔑鹦。下面代碼:

int totals = 1 + 2 + 3 + 4;

等價(jià)于

int totals = 1 + 2

+ 3 + 4;

2. 大括號

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

public class HelloWorld {

    public static void main(String args[]) {

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

    }
}

3. 空白

在Java源代碼中元素之間允許有空白陷寝,空白的數(shù)量不限魁索。空白包括空格盼铁、制表符(Tab鍵輸入)和換行符(Enter鍵輸入)粗蔚,適當(dāng)?shù)目瞻卓梢愿纳茖υ创a可讀性。下列幾段代碼是等價(jià)饶火。

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

等價(jià)于

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

等價(jià)于

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

4.3 變量

變量和常量是構(gòu)成表達(dá)式的重要部分鹏控,變量所代表的內(nèi)部是可以被修改的。變量包括變量名和變量值肤寝,變量的聲明格式為:

數(shù)據(jù)類型 變量名 [=初始值];

變量名要遵守用標(biāo)識符命名規(guī)范当辐,卻在相關(guān)的作用域中不能有重復(fù)的變量名。變量作用域是變量的使用范圍鲤看,在此范圍內(nèi)變量可以使用缘揪,超過作用域,變量內(nèi)容則被釋放义桂,根據(jù)作用域不同分為:成員變量和局部變量找筝,示例代碼如下:


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慷吊,成員變量是在類體中袖裕,而在方法之外,作用域是整個類溉瓶,如果沒有初始賦值急鳄,系統(tǒng)會為它分配一個默認(rèn)值谤民,每一種數(shù)據(jù)類型都有默認(rèn)值,int類型默認(rèn)值是0疾宏。

代碼第②张足、③、⑤行都是聲明局部變量坎藐,局部變量是在方法或if兢榨、for和while等代碼塊中聲明的變量,第②和③行聲明局部變量作用域是整個方法顺饮,第⑤行聲明的m變量作用域是當(dāng)前的if語句吵聪。

另外,代碼第④行和第⑥行會有編譯錯誤方法兼雄,這是因?yàn)榈冖苄惺且驗(yàn)閤使用之前沒有被初始化吟逝,與成員變量不同,局部變量在使用之前必須顯示地初始化赦肋。代碼第③行是在聲明的同時初始化了块攒。代碼第⑥行的錯誤是因?yàn)閙變量超過了作用域货矮。

4.4 常量

常量事實(shí)上是那些內(nèi)容不能被修改的變量甜紫,常量與變量類似也需要初始化,即在聲明常量的同時要賦予一個初始值六剥。常量一旦初始化就不可以被修改趣避。它的聲明格式為:

final 數(shù)據(jù)類型 變量名 = 初始值;

final關(guān)鍵字表示最終的庞呕,它可以修改很多元素,修飾變量就變成了常量程帕。示例代碼如下:

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

事實(shí)上常量有三種類型:靜態(tài)常量、成員常量和局部常量愁拭。代碼第①行的是聲明靜態(tài)常量讲逛,使用在final 之前public static修飾,用來保留字const岭埠。public static修飾的常量作用域是全局的盏混,不需要創(chuàng)建對象就可以訪問它,在類外部訪問形式:HelloWorld. PI惜论,這種常量在編程中使用很多许赃。

代碼第②行聲明成員常量,作用域類似于成員變量来涨,但不能修改图焰。代碼第③行聲明局部常量,作用域類似于局部變量蹦掐,但不能修改技羔。

本章小結(jié)

本章主要介紹了Java語言中最基本的語法,首先介紹了標(biāo)識符卧抗、關(guān)鍵字和保留字藤滥,讀者需要掌握標(biāo)識符構(gòu)成,了解Java關(guān)鍵字和保留字社裆。接著介紹了Java中的分隔符拙绊,最后介紹了變量和常量,讀者需要掌握變量種類和作用域泳秀,以及常量的聲明标沪。

配套視頻

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

配套源代碼

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

與本書免費(fèi)版對應(yīng)的還有一個收費(fèi)版本:

  1. 進(jìn)入百度閱讀電子書

  2. 進(jìn)入圖靈社區(qū)電子書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市嗜傅,隨后出現(xiàn)的幾起案子金句,更是在濱河造成了極大的恐慌,老刑警劉巖吕嘀,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件违寞,死亡現(xiàn)場離奇詭異,居然都是意外死亡偶房,警方通過查閱死者的電腦和手機(jī)趁曼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棕洋,“玉大人挡闰,你說我怎么就攤上這事£蹋” “怎么了尿这?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長庆杜。 經(jīng)常有香客問我射众,道長,這世上最難降的妖魔是什么晃财? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任叨橱,我火速辦了婚禮,結(jié)果婚禮上断盛,老公的妹妹穿的比我還像新娘罗洗。我一直安慰自己,他們只是感情好钢猛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布伙菜。 她就那樣靜靜地躺著,像睡著了一般命迈。 火紅的嫁衣襯著肌膚如雪贩绕。 梳的紋絲不亂的頭發(fā)上火的,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音淑倾,去河邊找鬼馏鹤。 笑死,一個胖子當(dāng)著我的面吹牛娇哆,可吹牛的內(nèi)容都是我干的湃累。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碍讨,長吁一口氣:“原來是場噩夢啊……” “哼治力!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勃黍,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤宵统,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后溉躲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榜田,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年锻梳,在試婚紗的時候發(fā)現(xiàn)自己被綠了箭券。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡疑枯,死狀恐怖辩块,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荆永,我是刑警寧澤废亭,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站具钥,受9級特大地震影響豆村,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骂删,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一掌动、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宁玫,春花似錦粗恢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春妖碉,著一層夾襖步出監(jiān)牢的瞬間涌庭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工嗅绸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脾猛,地道東北人撕彤。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓鱼鸠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親羹铅。 傳聞我的和親對象是個殘疾皇子蚀狰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354