Java語法基礎

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

標識符、關鍵字和保留字

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

標識符

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

區分大小寫:Myname與myname是兩個不同的標識符。

首字符,可以是下劃線(_)或美元符或字母,但不能是數字。

除首字符外其他字符,可以是下劃線(_)、美元符、字母和數字。

關鍵字不能作爲標識符。

例如,身高、identifier、userName、User_Name、$Name、_sys_val等爲合法的標識符,注意中文“身高”命名的變量是合法的;而2mail、room#和class爲非法的標識符,注意#是非法字符,而class是關鍵字。

注意 Java語言中字母採用的是雙字節Unicode編碼[^1]。Unicode叫作統一編碼制,它包含了亞洲文字編碼,如中文、日文、韓文等字符。

[^1]Unicode是國際組織制定的可以容納世界上所有文字和符號的字符編碼方案。

關鍵字

關鍵字是類似於標識符的保留字符序列,由語言本身定義好的,不能挪作他用,Java語言中有50個關鍵字,如表所示。
在這裏插入圖片描述
關鍵字很多這裏不再一一介紹了,但是讀者需要記住一點的是Java中的關鍵字全部是小寫字母。

保留字

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

  • goto:在其他語言中叫做“無限跳轉”語句,在Java語言中不再使用goto語句,因爲“無限跳轉”語句會破壞程序結構。在Java語言中goto的替換語句可以通過break、continue和return實現“有限跳轉”。

  • const:在其他語言中是聲明常量關鍵字,在Java語言中聲明常量使用public static final 方式聲明。

Java分隔符

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

分號

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

int totals = 1 + 2 + 3 + 4;

等價於

int totals = 1 + 2
    + 3 + 4;

大括號

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

public class HelloWorld {
 
    public static void main(String args[]) {
 
        int m = 5;
        if (m < 10) {
            System.out.println("<10");
        }
 
    }
}

空白

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

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

等價於

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

等價於

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

變量

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

數據類型 變量名 [=初始值];
變量名要遵守用標識符命名規範,卻在相關的作用域中不能有重複的變量名。變量作用域是變量的使用範圍,在此範圍內變量可以使用,超過作用域,變量內容則被釋放,根據作用域不同分爲:成員變量和局部變量,示例代碼如下:

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變量超過了作用域。

常量

常量事實上是那些內容不能被修改的變量,常量與變量類似也需要初始化,即在聲明常量的同時要賦予一個初始值。常量一旦初始化就不可以被修改。它的聲明格式爲:
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中的分隔符,最後介紹了變量和常量,讀者需要掌握變量種類和作用域,以及常量的聲明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章