1. 程式人生 > >Java基礎(學習於慕課網)

Java基礎(學習於慕課網)

1.關鍵字
這裡寫圖片描述

2.識別符號
使用識別符號時,需要遵守幾條規則:

  1. 識別符號可以由字母、數字、下劃線(_)、美元符($)組成,但不能包含 @、%、空格等其它特殊字元,不能以數字開頭。譬如:123name 就是不合法滴

  2. 識別符號不能是 Java 關鍵字和保留字( Java 預留的關鍵字,以後的升級版本中有可能作為關鍵字),但可以包含關鍵字和保留字。如:不可以使用 void 作為識別符號,但是 Myvoid 可以

  3. 識別符號是嚴格區分大小寫的。 所以涅,一定要分清楚 imooc 和 IMooc 是兩個不同的識別符號哦!

  4. 識別符號的命名最好能反映出其作用,做到見名知意。

3.Java變數的命名


如同酒店會給每個房間起個性化的名字一樣,程式中的變數也需要用合理的名字進行管理—變數名!

需要注意,給酒店房間起名字時可以是數字,如“802”,也可以是有趣的名字,如“牡丹”、“美國總統”、“水簾洞”等,但在給變數起名字時,必須符合一定的規則,如下所示:
這裡寫圖片描述
符合:
這裡寫圖片描述
不符合:
這裡寫圖片描述

優秀的習慣:

1、變數名由多單片語成時,第一個單詞的首字母小寫,其後單詞的首字母大寫,俗稱駱駝式命名法(也稱駝峰命名法),如 myAge

2、變數命名時,儘量簡短且能清楚的表達變數的作用,做到見名知意。如:定義變數名 stuName 儲存“學生姓名”資訊

PS: Java 變數名的長度沒有限制,但 Java 語言是區分大小寫的,所以 price 和 Price 是兩個完全不同的變數哦!

4.資料型別
通常情況下,為了方便物品的儲存,我們會規定每個盒子可以存放的物品種類,就好比在“放臭襪子的盒子”裡我們是不會放“麵包”的!同理,變數的儲存也講究“分門別類”!

Java 語言是一種強型別語言。通俗點說就是,在 Java 中儲存的資料都是有型別的,而且必須在編譯時就確定其型別。 Java 中有兩類資料型別:
這裡寫圖片描述

在 Java 的領域裡,基本資料型別變數存的是資料本身,而引用型別變數存的是儲存資料的空間地址。說白了,基本資料型別變數裡儲存的是直接放在抽屜裡的東西,而引用資料型別變數裡儲存的是這個抽屜的鑰匙,鑰匙和抽屜一一對應。

常用的基本資料型別有:
這裡寫圖片描述

你可能已經注意到了:
這裡寫圖片描述


注:關於 float 型和 double 型的區別,以及 char 型和 String 型的不同,在 wiki 中有相關的總結,小夥伴們可以去檢視哦~~

String 是一種常見的引用資料型別,用來表示字串。在程式開發中,很多操作都要使用字串來完成,例如系統中的使用者名稱、密碼、電子郵箱等。

5.變數的使用規則
1、Java 中的變數需要先聲明後使用
2、變數使用時,可以宣告變數的同時進行初始化,也可以先聲明後賦值
3、變數中每次只能賦一個值,但可以修改多次
4、main 方法中定義的變數必須先賦值,然後才能輸出
5、雖然語法中沒有提示錯誤,但在實際開發中,變數名不建議使用中文,容易產生安全隱患,譬如後期跨平臺操作時出現亂碼等等

6.資料型別的轉換
1. 目標型別能與源型別相容,如 double 型相容 int 型,但是 char 型不能相容 int 型
這裡寫圖片描述
2. 目標型別大於源型別,如 double 型別長度為 8 位元組, int 型別為 4 位元組,因此 double 型別的變數裡直接可以存放 int 型別的資料,但反過來就不可以了
這裡寫圖片描述

儘管自動型別轉換是很方便的,但並不能滿足所有的程式設計需要。

例如,當程式中需要將 double 型變數的值賦給一個 int 型變數,該如何實現呢?

顯然,這種轉換是不會自動進行的!因為 int 型的儲存範圍比 double 型的小。此時就需要通過強制型別轉換來實現了。

語法:( 資料型別 ) 數值

這裡寫圖片描述

執行結果:

這裡寫圖片描述

可以看到,通過強制型別轉換將 75.8 賦值給 int 型變數後,結果為 75,數值上並未進行四捨五入,而是直接將小數位截斷。

強制型別轉換可能會造成資料的丟失哦,在應用時一定要慎重!

7.Java中使用註釋

Java 中註釋有三種類型:單行註釋、多行註釋、文件註釋,經常需要新增一些註釋,用以描述某段程式碼的作用。
這裡寫圖片描述

我們可以通過 javadoc 命令從文件註釋中提取內容,生成程式的 API 幫助文件。

PS:使用文件註釋時還可以使用 javadoc 標記,生成更詳細的文件資訊:

   @author 標明開發該類模組的作者

   @version 標明該類模組的版本

   @see 參考轉向,也就是相關主題

   @param 對方法中某引數的說明

   @return 對方法返回值的說明

   @exception 對方法可能丟擲的異常進行說明

8.運算子

運算子是一種“功能”符號,用以通知 Java 進行相關的運算。譬如,我們需要將變數 age 的值設定為 20 ,這時候就需要一個“=”,告訴程式需要進行賦值操作。

Java 語言中常用的運算子可分為如下幾種:

Ø 算術運算子

Ø 賦值運算子

Ø 比較運算子

Ø 邏輯運算子

Ø 條件運算子

算術運算子
算術運算子主要用於進行基本的算術運算,如加法、減法、乘法、除法等。

Java 中常用的算術運算子:

這裡寫圖片描述

其中,++ 和 – 既可以出現在運算元的左邊,也可以出現在右邊,但結果是不同滴

例1:

這裡寫圖片描述

執行結果:
這裡寫圖片描述

例2:

這裡寫圖片描述

執行結果:

這裡寫圖片描述

自增和自減運算子只能用於操作變數,不能直接用於運算元值或常量,例如 5++ 、 8–等寫法都是錯誤滴!

PS:% 用來求餘數,也稱為”取模運算子“

賦值運算子
賦值運算子是指為變數或常量指定數值的符號。如可以使用 “=” 將右邊的表示式結果賦給左邊的運算元。

Java 支援的常用賦值運算子,如下表所示:
這裡寫圖片描述

比較運算子
比較運算子用於判斷兩個資料的大小,例如:大於、等於、不等於。比較的結果是一個布林值( true 或 false )。

Java 中常用的比較運算子如下表所示:

這裡寫圖片描述

注意:

1、 > 、 < 、 >= 、 <= 只支援左右兩邊運算元是數值型別

2、 == 、 != 兩邊的運算元既可以是數值型別,也可以是引用型別

邏輯運算子
邏輯運算子主要用於進行邏輯運算。Java 中常用的邏輯運算子如下表所示:
這裡寫圖片描述

我們可以從“投票選舉”的角度理解邏輯運算子:

1、 與:要求所有人都投票同意,才能通過某議題

2、 或:只要求一個人投票同意就可以通過某議題

3、 非:某人原本投票同意,通過非運算子,可以使其投票無效

4、 異或:有且只能有一個人投票同意,才可以通過某議題

當使用邏輯運算子時,我們會遇到一種很有趣的“短路”現象。

譬如:( one > two ) && ( one < three ) 中,如果能確定左邊 one > two 執行結果為 false , 則系統就認為已經沒有必要執行右側的 one < three 啦。

同理,在( one > two ) || ( one < three ) 中,如果能確定左邊表示式的執行結果為 true , 則系統也同樣會認為已經沒有必要再進行右側的 one < three 的執行啦!

條件運算子
條件運算子( ? : )也稱為 “三元運算子”。

語法形式:布林表示式 ? 表示式1 :表示式2

運算過程:如果布林表示式的值為 true ,則返回 表示式1 的值,否則返回 表示式2 的值

例如:

這裡寫圖片描述

因為,表示式 8>5 的值為 true ,所以,返回: 8大於5

運算子的優先順序
所謂優先順序,就是在表示式中的運算順序。Java 中常用的運算子的優先順序如下表所示:

這裡寫圖片描述

級別為 1 的優先順序最高,級別 11 的優先順序最低。譬如,x = 7 + 3 * 2 得到的結果是 13 。

PS:大家沒必要去死記運算子的優先順序順序,實際開發中,一般會使用小括號輔助進行優先順序管理。例如:

這裡寫圖片描述

分析:小括號優先順序最高,因此

1、 執行 a + 18 ,結果為 30

2、 執行( a + 18 ) % 4 取模,結果為 2

3、 執行 a * ( ( a + 18 ) % 4 ),結果為 24