一個Java程式可以視為一系列物件的集合,而這些物件透過呼叫彼此的方法來協同工作。以下簡單介紹下類別、物件、方法和實例變數的概念。
#物件:物件是類別的實例,有狀態和行為。例如,一隻狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類別:類別是一個模板,它描述一類物件的行為和狀態。
方法:方法就是行為,一個類別可以有很多方法。邏輯運算、資料修改以及所有動作都是在方法中完成的。
實例變數:每個物件都有獨特的實例變量,物件的狀態由這些實例變數的值決定。
# 下面看一個簡單的Java程序,它將列印字串 Hello World .
#
public class HelloWorld { /* 第一个Java程序 * 它将打印字符串 Hello World */ public static void main(String []args) { System.out.println("Hello World"); // 打印 Hello World } }
#以下將逐步介紹如何儲存、編譯以及執行這個程式:
你將會在視窗看到Hello World.
C : > javac HelloWorld.java C : > java HelloWorld Hello World############################基本語法## #############
在撰寫Java程式時,應注意以下幾點:
大小寫敏感:Java是大小寫敏感的,這表示標識符Hello與hello是不同的。
類別名稱:對於所有的類別來說,類別名稱的首字母應該要大寫。如果類別名稱由若干單字組成,那麼每個單字的首字母應該大寫,例如 MyFirstJavaClass 。
方法名稱:所有的方法名稱都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單字首字母大寫。
來源檔案名稱:來源檔案名稱必須和類別名稱相同。當儲存檔案的時候,你應該使用類別名稱作為檔案名稱儲存(切記Java是大小寫敏感的),檔案名稱的後綴為.java。 (如果檔案名稱和類別名稱不相同則會導致編譯錯誤)。
主方法入口:所有的Java 程式由public static void main(String []args)方法開始執行。
## Java所有的組成部分都需要一個名字。
類別名稱、變數名稱、方法名稱都稱為識別碼。
# 關於Java標識符,有以下幾點要注意:
所有的識別碼都應該以字母(A-Z或a-z),美元符($)、或底線(_)開始
首字元之後可以是任何字元的組合
關鍵字不能用作標識符
標識符是大小寫敏感的
##合法識別符舉例:age、$salary、_value、__1_value
#非法識別碼範例:123abc、-salary
# 就像其他語言一樣,Java可以使用修飾符來修飾類別中方法和屬性。主要有兩類修飾符:(作用域)
###
访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, strictfp
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(); juice.size = FreshJuice. FreshJuiceSize.MEDIUM ; } }
下面列出了Java保留字。這些保留字不能用於常數、變數、和任何識別碼的名稱。
#
關鍵字 描述 #abstract #抽象方法,抽象類別的修飾符 assert 斷言條件是否滿足 #boolean 布林資料類型 break 跳出迴圈或label程式碼片段 byte 8-bit 有符號資料型別 case switch語句的一個條件 #catch 和try搭配撲捉異常訊息 char 16-bit Unicode字元資料類型 # #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 接口,一種抽象的類型,只有方法和常數的定義 ##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編譯器忽略
。
Java 空白行
#空白行,或是有註解的行,Java編譯器都會忽略掉。
繼承#在Java中,一個類可以由其他類別派生。如果你要建立一個類,而且已經存在一個類別具有你所需要的屬性或方法,那麼你可以將新建立的類別繼承該類別。
#利用繼承的方法,可以重複使用已存在類別的方法和屬性,而不用重寫這些程式碼。被繼承的類別稱為超類別(super class),衍生類別稱為子類別(subclass)。
介面
#在Java中,介面可理解為物件間相互通訊的協定。介面在繼承中扮演著很重要的角色。############################
介面只定義衍生要用到的方法,但是方法的具體實作完全取決於衍生類別。
Java 原始程式與編譯型運行區別
如下:
以上是JAVA 入坑教學| 基礎文法的內容,更多相關內容請關注PHP中文網(www.php.cn)!
#########