day02 Java基本語法( 上 ): 變數與運算子

Berrambler發表於2020-12-12


1.1 關鍵字與保留字

關鍵字(keyword)的定義和特點

定義:被Java 語言賦予了特殊含義,用做專門用途的字串(單詞)
特點:關鍵字中所有字母都為小寫
在這裡插入圖片描述
在這裡插入圖片描述

保留字(reserved word)

Java保留字:現有Java版本尚未使用,但以後版本可能會作為關鍵字使
用。自己命名識別符號時要避免使用這些保留字
goto 、const

1.2 識別符號(Identifier)

識別符號的定義和特點

識別符號:
Java 對各種 變數、 方法和 類等要素命名時使用的字元序列稱為識別符號
技巧:凡是自己可以起名字的地方都叫識別符號。
定義合法識別符號規則:
由 由26 個英文字母大小寫,0-9 ,_或 或 $ 組成
數字不可以開頭。
不可以使用關鍵字和保留字,但能包含關鍵字和保留字。
Java 中嚴格區分大小寫,長度無限制。
識別符號不能包含空格。

Java 中的名稱命名規範

包名:多單片語成時所有字母都小寫:xxxyyyzzz
類名、介面名:多單片語成時,所有單詞的首字母大寫:XxxYyyZzz
變數名、方法名:多單片語成時,第一個單詞首字母小寫,第二個單詞開始每個
單詞首字母大寫:xxxYyyZzz
常量名:所有字母都大寫。多單詞時每個單詞用下劃線連線:XXX_YYY_ZZZ

注意1:在起名字時,為了提高閱讀性,要儘量有意義,“見名知意”。
注意2:java採用unicode字符集,因此識別符號也可以使用漢字宣告,但是不建議使用。

1.3變數

變數的概念:

• 記憶體中的一個儲存區域
• 該區域的資料可以在同一型別範圍內不斷變化
• 變數是程式中最基本的儲存單元。包含變數型別、變數名和儲存的值

變數的作用:

用於在記憶體中儲存資料

使用變數注意:

• Java中每個變數必須先宣告,後使用
• 使用變數名來訪問這塊區域的資料
• 變數的作用域:其定義所在的一對{ }內
• 變數只有在其作用域內才有效
• 同一個作用域內,不能定義重名的變數

變數的分類-按資料型別

對於每一種資料都定義了明確的具體資料型別(強型別語言),在記憶體中分
配了不同大小的記憶體空間。
在這裡插入圖片描述

變數的分類-按宣告的位置的不同

在方法體外,類體內宣告的變數稱為 成員變數
在方法體內部宣告的變數稱為 區域性變數
在這裡插入圖片描述
注意:二者在初始化值方面的異同:
同:都有生命週期
異:區域性變數除形參外,需顯式初始化。

整數型別:byte 、short 、int 、long

• Java各整數型別有固定的表數範圍和欄位長度,不受具體OS的影響,以保
證java程式的可移植性。
• java的整型常量預設為 int 型,宣告long型常量須後加‘l’或‘L’
• java程式中變數通常宣告為int型,除非不足以表示較大的數,才使用long

在這裡插入圖片描述
bit: 計算機中的最小儲存單位。byte:計算機中基本儲存單元。1 byte= 8 bit

浮點型別:float 、double

Java 的浮點型常量預設為double型,宣告float 型常量,須後加‘f’ 或‘F’。
在這裡插入圖片描述

字元型別:char

• char 型資料用來表示通常意義上“字元”(2位元組)
• Java中的所有字元都使用Unicode編碼,故一個字元可以儲存一個字
母,一個漢字,或其他書面語的一個字元。
• 字元型變數的三種表現形式:
字元常量是用單引號(‘ ’)括起來的單個字元。例如:char c1 = ‘a’; char c2
= ‘中’; char c3 = ‘9’;
Java中還允許使用轉義字元‘\’來將其後的字元轉變為特殊字元型常量。
例如:char c3 = ‘\n’; // '\n’表示換行符
直接使用 Unicode 值來表示字元型常量:‘\uXXXX’。其中,XXXX代表
一個十六進位制整數。如:\u000a 表示 \n。
• char型別是可以進行運算的。因為它都對應有Unicode碼。
在這裡插入圖片描述

瞭解: Unicode 編碼

• 亂碼:世界上存在著多種編碼方式,同一個二進位制數字可以被解釋成不同的符號。因
此,要想開啟一個文字檔案,就必須知道它的編碼方式,否則用錯誤的編碼方式解讀,
就會出現亂碼。

• Unicode: 一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一
用 無二的編碼,使用 Unicode 沒有亂碼的問題 。

• Unicode 的缺點:Unicode 只規定了符號的二進位制程式碼,卻沒有規定這個二進位制程式碼
應該如何儲存:無法區別 Unicode 和 ASCII:計算機無法區分三個位元組表示一個符號
還是分別表示三個符號。另外,我們知道,英文字母只用一個位元組表示就夠了,如果
unicode統一規定,每個符號用三個或四個位元組表示,那麼每個英文字母前都必然有
二到三個位元組是0,這對於儲存空間來說是極大的浪費。

布林型別:boolean

boolean 型別用來判斷邏輯條件,一般用於程式流程控制:
if條件控制語句;
while迴圈控制語句;
do-while迴圈控制語句;
for迴圈控制語句;
boolean型別資料只允許取值true和false,無null。
不可以使用0或非 0 的整數替代false和true,這點和C語言不同。
Java虛擬機器中沒有任何供boolean值專用的位元組碼指令,Java語言表達所操作的
boolean值,在編譯之後都使用java虛擬機器中的int資料型別來代替:true用1表示,false
用0表示。———《java虛擬機器規範 8版》

相關文章