首頁體育 > 正文

寫給小白看的入門級 Java 基本語法

2021-10-25由 必知的科技事 發表于 體育

文章來源:https://mp。weixin。qq。com/s/tJ8ata36rogJTwgoRyGHAQ作者:沉默王二

有一句留言深深地刺痛了我:

培訓班學習半年,工作半年,我現在都看不懂你這篇文章,甚至看不下去,對於我來說有點深。

從表面上看,這句話有點諷刺我的文章寫得不夠通俗易懂的意味,但我心胸一直如大海一般開闊,你瞭解的。所以,我回他,“你還不如把培訓費給我,哈哈。”怎麼樣,你也能體會到我的幽默,以及無情吧?當然了,是時候寫一篇文章(也許是一個系列哦)照顧一下顧小白群體的情緒了,幫他們入入門或者回爐再造下。

寫給小白看的入門級 Java 基本語法

眾所周知,Java 是一門面向物件的程式語言。它最牛逼的地方就在於它是跨平臺的,你可以在 Windows 作業系統上編寫 Java 原始碼,然後在 Linux 作業系統上執行編譯後的位元組碼,而無需對原始碼做任何的修改。

01、資料型別

Java 有 2 種資料型別,一種是基本資料型別,一種是引用型別。

基本資料型別用於儲存簡單型別的資料,比如說,int、long、byte、short 用於儲存整數,float、double 用於儲存浮點數,char 用於儲存字元,boolean 用於儲存布林值。

不同的基本資料型別,有不同的預設值和大小,來個表格感受下。

寫給小白看的入門級 Java 基本語法

引用型別用於儲存物件(null 表示沒有值的物件)的引用,String 是引用型別的最佳代表,比如說 String cmower = “沉默王二”。

02、宣告變數

要宣告一個變數,必須指定它的名字和型別,來看一個簡單的示例:

count 和 name 在聲明後會得到一個預設值,按照它們的資料型別——不能是區域性變數(否則 Java 編譯器會在你使用變數的時候提醒要先賦值),必須是類成員變數。

也可以在宣告一個變數後使用“=”運算子進行賦值,就像下面這樣:

我們定義了 2 個變數,int 型別的 age 和 String 型別的 name,age 賦值 18,name 賦值為“沉默王二”。

每行程式碼後面都跟了一個“;”,表示當前語句結束了。

在 Java 中,變數最好遵守命名約定,這樣能提高程式碼的可閱讀性。

以字母、下劃線(_)或者美元符號($)開頭

不能使用 Java 的保留字,比如說 int 不能作為變數名

03、陣列

陣列在 Java 中佔據著重要的位置,它是很多集合類的底層實現。陣列屬於引用型別,它用來儲存一系列指定型別的資料。

宣告陣列的一般語法如下所示:

type 可以是任意的基本資料型別或者引用型別。來看下面這個例子:

陣列的索引從 0 開始,第一個元素的索引為 0,第二個元素的索引為 1。為什麼要這樣設計?感興趣的話,你可以去探究一下。

透過變數名[索引]的方式可以訪問陣列指定索引處的元素,賦值或者取值是一樣的。

04、關鍵字

關鍵字屬於保留字,在 Java 中具有特殊的含義,比如說 public、final、static、new 等等,它們不能用來作為變數名。為了便於你作為參照,我列舉了 48 個常用的關鍵字,你可以瞅一瞅。

abstract: abstract 關鍵字用於宣告抽象類——可以有抽象和非抽象方法。

boolean: boolean 關鍵字用於將變數宣告為布林值型別,它只有 true 和 false 兩個值。

break: break 關鍵字用於中斷迴圈或 switch 語句。

byte: byte 關鍵字用於宣告一個可以容納 8 個位元的變數。

case: case 關鍵字用於在 switch 語句中標記條件的值。

catch: catch 關鍵字用於捕獲 try 語句中的異常。

char: char 關鍵字用於宣告一個可以容納無符號 16 位位元的 Unicode 字元的變數。

class: class 關鍵字用於宣告一個類。

continue: continue 關鍵字用於繼續下一個迴圈。它可以在指定條件下跳過其餘程式碼。

default: default 關鍵字用於指定 switch 語句中除去 case 條件之外的預設程式碼塊。

do: do 關鍵字通常和 while 關鍵字配合使用,do 後緊跟迴圈體。

double: double 關鍵字用於宣告一個可以容納 64 位浮點數的變數。

else: else 關鍵字用於指示 if 語句中的備用分支。

enum: enum(列舉)關鍵字用於定義一組固定的常量。

extends: extends 關鍵字用於指示一個類是從另一個類或介面繼承的。

final: final 關鍵字用於指示該變數是不可更改的。

finally: finally 關鍵字和 try-catch 配合使用,表示無論是否處理異常,總是執行 finally 塊中的程式碼。

float: float 關鍵字用於宣告一個可以容納 32 位浮點數的變數。

for: for 關鍵字用於啟動一個 for 迴圈,如果迴圈次數是固定的,建議使用 for 迴圈。

if: if 關鍵字用於指定條件,如果條件為真,則執行對應程式碼。

implements: implements 關鍵字用於實現介面。

import: import 關鍵字用於匯入對應的類或者介面。

instanceof: instanceof 關鍵字用於判斷物件是否屬於某個型別(class)。

int: int 關鍵字用於宣告一個可以容納 32 位帶符號的整數變數。

interface: interface 關鍵字用於宣告介面——只能具有抽象方法。

long: long 關鍵字用於宣告一個可以容納 64 位整數的變數。

native: native 關鍵字用於指定一個方法是透過呼叫本機介面(非 Java)實現的。

new: new 關鍵字用於建立一個新的物件。

null: 如果一個變數是空的(什麼引用也沒有指向),就可以將它賦值為 null。

package: package 關鍵字用於宣告類所在的包。

private: private 關鍵字是一個訪問修飾符,表示方法或變數只對當前類可見。

protected: protected 關鍵字也是一個訪問修飾符,表示方法或變數對同一包內的類和所有子類可見。

public: public 關鍵字是另外一個訪問修飾符,除了可以宣告方法和變數(所有類可見),還可以宣告類。main() 方法必須宣告為 public。

return: return 關鍵字用於在程式碼執行完成後返回(一個值)。

short: short 關鍵字用於宣告一個可以容納 16 位整數的變數。

static: static 關鍵字表示該變數或方法是靜態變數或靜態方法。

strictfp: strictfp 關鍵字並不常見,通常用於修飾一個方法,確保方法體內的浮點數運算在每個平臺上執行的結果相同。

super: super 關鍵字可用於呼叫父類的方法或者變數。

switch: switch 關鍵字通常用於三個(以上)的條件判斷。

synchronized: synchronized 關鍵字用於指定多執行緒程式碼中的同步方法、變數或者程式碼塊。

this: this 關鍵字可用於在方法或建構函式中引用當前物件。

throw: throw 關鍵字主動丟擲異常。

throws: throws 關鍵字用於宣告異常。

transient: transient 關鍵字在序列化的使用用到,它修飾的欄位不會被序列化。

try: try 關鍵字用於包裹要捕獲異常的程式碼塊。

void: void 關鍵字用於指定方法沒有返回值。

volatile: volatile 關鍵字保證了不同執行緒對它修飾的變數進行操作時的可見性,即一個執行緒修改了某個變數的值,這新值對其他執行緒來說是立即可見的。

while: 如果迴圈次數不固定,建議使用 while 迴圈。

寫給小白看的入門級 Java 基本語法

05、運算子

除去“=”賦值運算子,Java 中還有很多其他作用的運算子,我們來大致看一下。

①、算術運算子

+(加號)

–(減號)

*(乘號)

/(除號)

%(取餘)

來看一個例子:

“+”號比較特殊,還可以用於字串拼接,來看一個例子:

②、邏輯運算子

邏輯運算子通常用於布林表示式,常見的有:

&&(AND)多個條件中只要有一個為 false 結果就為 false

||(OR)多個條件只要有一個為 true 結果就為 true

!(NOT)條件如果為 true,加上“!”就為 false,否則,反之。

③、比較運算子

(大於)

>= (大於或者等於)

== (相等)

!= (不等)

06、程式結構

Java 中最小的程式單元叫做類,一個類可以有一個或者多個欄位(也叫作成員變數),還可以有一個或者多個方法,甚至還可以有一些內部類。

如果一個類想要執行,就必須有一個 main 方法——程式執行的入口,就好像人的嘴一樣,嗯,可以這麼牽強的理解一下。

07、編譯然後執行程式碼

通常,一些教程在介紹這塊內容的時候,建議你透過命令列中先執行 javac 命令將原始碼編譯成位元組碼檔案,然後再執行 java 命令指定程式碼。

但我不希望這個糟糕的局面再繼續下去了——新手安裝配置 JDK 真的蠻需要勇氣和耐心的,稍有不慎,沒入門就先放棄了。況且,在命令列中編譯原始碼會遇到很多莫名其妙的錯誤,這對新手是極其致命的——如果你再遇到這種老式的教程,可以吐口水了。

好的方法,就是去下載 IntelliJ IDEA,簡稱 IDEA,它被業界公認為最好的 Java 整合開發工具,尤其在智慧程式碼助手、程式碼自動提示、程式碼重構、程式碼版本管理(Git、SVN、Maven)、單元測試、程式碼分析等方面有著亮眼的發揮。IDEA 產於捷克(位於東歐),開發人員以嚴謹著稱。IDEA 分為社群版和付費版兩個版本,新手直接下載社群版就足夠用了。

安裝成功後,可以開始敲程式碼了,然後直接右鍵執行(連儲存都省了),結果會在 Run 面板中顯示,如下圖所示。

寫給小白看的入門級 Java 基本語法

想檢視反編譯後的位元組碼的話,可以在 src 的同級目錄 target/classes 的包路徑下找到一個 StructureProgram。class 的檔案(如果找不到的話,在目錄上右鍵選擇「Reload from Disk」)。

可以雙擊開啟它。

IDEA 預設會用 Fernflower 將 class 位元組碼反編譯為我們可以看得懂的 Java 程式碼。實際上,class 位元組碼(請安裝 show bytecode 外掛)長下面這個樣子:

新手看起來還是有些懵逼的,建議過過眼癮就行了。

寫給小白看的入門級 Java 基本語法

好了,我親愛的讀者朋友,以上就是本文的全部內容了,原始碼已上傳到碼雲,點選閱讀原文就可以跳轉過去了。學任何一門程式語言,在我看來,方法都是一樣的,那就是不停地去實踐,別覺得淺顯易懂就不肯動手去嘗試——你的左手和右手就是你最好的老師。

對了,在這裡說一下,我目前是在職Java開發,如果你現在正在學習Java,瞭解Java,渴望成為一名合格的Java開發工程師,在入門學習Java的過程當中缺乏基礎入門的影片教程,可以關注並私信我:01。獲取。我這裡有最新的Java基礎全套影片教程。

頂部