《Java從小白到大牛》紙質版已經上架了?。?!
本章主要為大家介紹Java的一些基本語法,其中包括標識符、關鍵字、保留字、常量、變量、表達式等內容。
4.1 標識符、關鍵字和保留字
任何一種計算機語言都離不開標識符和關鍵字,因此下面將詳細介紹Java標識符、關鍵字和保留字。
4.1.1 標識符
標識符就是變量、常量、方法、枚舉、類、接口等由程序員指定的名字。構成標識符的字母均有一定的規范,Java語言中標識符的命名規則如下:
- 區分大小寫:Myname與myname是兩個不同的標識符。
- 首字符,可以是下劃線(_)或美元符或字母,但不能是數字;
- 除首字符外其他字符,可以是下劃線(_)、美元符、字母和數字。
- 關鍵字不能作為標識符。
例如,身高、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:
- goto:在其他語言中叫做“無限跳轉”語句,在Java語言中不再使用goto語句,因為“無限跳轉”語句會破壞程序結構。在Java語言中goto的替換語句可以通過break、continue和return實現“有限跳轉”。
- 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