Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。那麼Java基礎語法都有哪些知識點呢?以下僅供參考!
一個Java程式可以認為是一系列物件的集合,而這些物件通過呼叫彼此的方法來協同工作。下面簡要介紹下類、物件、方法和例項變數的概念。
物件:物件是類的一個例項,有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類:類是一個模板,它描述一類物件的行為和狀態。
方法:方法就是行為,一個類可以有很多方法。邏輯運算、資料修改以及所有動作都是在方法中完成的。
例項變數:每個物件都有獨特的例項變數,物件的狀態由這些例項變數的值決定。
第一個Java程式
下面看一個簡單的Java程式,它將列印字串 Hello World
例項
public class HelloWorld {
/* 第一個Java程式
* 它將列印字串 Hello World
*/
public static void main(String []args) {
tln("Hello World"); // 列印 Hello World
}
}
下面將逐步介紹如何儲存、編譯以及執行這個程式:
開啟Notepad,把上面的程式碼新增進去;
把檔名儲存為:;
開啟cmd命令視窗,進入目標檔案所在的位置,假設是C:
在命令列視窗鍵入 javac 按下enter鍵編譯程式碼。如果程式碼沒有錯誤,cmd命令提示符會進入下一行。(假設環境變數都設定好了)。
再鍵入java HelloWorld 按下Enter鍵就可以執行程式了
你將會在視窗看到 Hello World
C : > javac
C : > java HelloWorld
Hello World
基本語法
編寫Java程式時,應注意以下幾點:
大小寫敏感:Java是大小寫敏感的,這就意味著識別符號Hello與hello是不同的。
類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單片語成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。
方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫。
原始檔名:原始檔名必須和類名相同。當儲存檔案的時候,你應該使用類名作為檔名儲存(切記Java是大小寫敏感的),檔名的字尾為。(如果檔名和類名不相同則會導致編譯錯誤)。
主方法入口:所有的Java 程式由public static void main(String []args)方法開始執行。
Java識別符號
Java所有的組成部分都需要名字。類名、變數名以及方法名都被稱為識別符號。
關於Java識別符號,有以下幾點需要注意:
所有的識別符號都應該以字母(A-Z或者a-z),美元符($)、或者下劃線(_)開始
首字元之後可以是字母(A-Z或者a-z),美元符($)、下劃線(_)或數字的任何字元組合
關鍵字不能用作識別符號
識別符號是大小寫敏感的
合法識別符號舉例:age、$salary、_value、__1_value
非法識別符號舉例:123abc、-salary
Java修飾符
像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:
訪問控制修飾符 : default, public , protected, private
非訪問控制修飾符 : final, abstract, strictfp
在後面的章節中我們會深入討論Java修飾符。
Java變數
Java中主要有如下幾種型別的變數
區域性變數
類變數(靜態變數)
成員變數(非靜態變數)
Java陣列
陣列是儲存在堆上的物件,可以儲存多個同類型變數。在後面的章節中,我們將會學到如何宣告、構造以及初始化一個數組。
Java列舉
Java 5.0引入了列舉,列舉限制變數只能是預先設定好的值。使用列舉可以減少程式碼中的`bug。
例如,我們為果汁店設計一個程式,它將限制果汁為小杯、中杯、大杯。這就意味著它不允許顧客點除了這三種尺寸外的果汁。
例項
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String []args){
FreshJuice juice = new FreshJuice();
= FreshJuice. UM ;
}
}
注意:列舉可以單獨宣告或者宣告在類裡面。方法、變數、建構函式也可以在列舉中定義。
Java關鍵字
下面列出了Java保留字。這些保留字不能用於常量、變數、和任何識別符號的名稱。
關鍵字 | 描述 |
abstract | 抽象方法,抽象類的修飾符 |
assert | 斷言條件是否滿足 |
boolean | 布林資料型別 |
break | 跳出迴圈或者label程式碼段 |
byte | 8-bit有符號資料型別 |
case | switch語句的一個條件 |
catch | 和try搭配撲捉異常資訊 |
char | 16-bitUnicode字元資料型別 |
class | 定義類 |
const | 未使用 |
continue | 不執行迴圈體剩餘部分 |
default | switch語句中的預設分支 |
do | 迴圈語句,迴圈體至少會執行一次 |
double | 64-bit雙精度浮點數 |
else | if條件不成立時執行的分支 |
enum | 列舉型別 |
extends | 表示一個類是另一個類的子類 |
final | 表示一個值在初始化之後就不能再改變了 |
表示方法不能被重寫,或者一個類不能有子類 | |
finally | 為了完成執行的程式碼而設計的,主要是為了程式的健壯性和完整性,無論有沒有異常發生都執行程式碼。 |
float | 32-bit單精度浮點數 |
for | for迴圈語句 |
goto | 未使用 |
if | 條件語句 |
implements | 表示一個類實現了介面 |
import | 匯入類 |
instanceof | 測試一個物件是否是某個類的例項 |
int | 32位整型數 |
interface | 介面,一種抽象的型別,僅有方法和常量的定義 |
long | 64位整型數 |
native | 表示方法用非java程式碼實現 |
new | 分配新的類例項 |
package | 一系列相關類組成一個包 |
private | 表示私有欄位,或者方法等,只能從類內部訪問 |
protected | 表示欄位只能通過類或者其子類訪問 |
子類或者在同一個包內的其他類 | |
public | 表示共有屬性或者方法 |
return | 方法返回值 |
short | 16位數字 |
static | 表示在類級別定義,所有例項共享的 |
strictfp | 浮點數比較使用嚴格的規則 |
super | 表示基類 |
switch | 選擇語句 |
synchronized | 表示同一時間只能由一個執行緒訪問的程式碼塊 |
this | 表示呼叫當前例項 |
或者呼叫另一個建構函式 | |
throw | 丟擲異常 |
throws | 定義方法可能丟擲的異常 |
transient | 修飾不要序列化的欄位 |
try | 表示程式碼塊要做異常處理或者和finally配合表示是否丟擲異常都執行finally中的程式碼 |
void | 標記方法不返回任何值 |
volatile | 標記欄位可能會被多個執行緒同時訪問,而不做同步 |
while | while迴圈 |
Java註釋
類似於C/C++,Java也支援單行以及多行註釋。註釋中的字元將被Java編譯器忽略。
public class HelloWorld {
/* 這是第一個Java程式
*它將列印Hello World
* 這是一個多行註釋的示例
*/
public static void main(String []args){
// 這是單行註釋的示例
/* 這個也是單行註釋的示例 */
tln("Hello World");
}
}
Java 空行
空白行,或者有註釋的行,Java編譯器都會忽略掉。
繼承
在Java中,一個類可以由其他類派生。如果你要建立一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以將新建立的類繼承該類。
利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些程式碼。
被繼承的類稱為超類(super class),派生類稱為子類(subclass)。
介面
在Java中,介面可理解為物件間相互通訊的協議。介面在繼承中扮演著很重要的角色。
介面只定義派生要用到的方法,但是方法的具體實現完全取決於派生類。