Java 基礎語法
一個Java程序可以認為是一系列對象的集合,而這些對象通過調用彼此的方法來協同工作。下面簡要介紹下類、對象、方法和實例變量的概念。
對象:對象是類的一個實例,有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類:類是一個模板,它描述一類對象的行為和狀態。
方法:方法就是行為,一個類可以有很多方法。邏輯運算、數據修改以及所有動作都是在方法中完成的。
實例變量:每個對象都有獨特的實例變量,對象的狀態由這些實例變量的值決定。
第一個Java程序
下面看一個簡單的Java程序,它將打印字符串Hello World
實例
public class HelloWorld {
/* 第一個Java程序
* 它將打印字符串 Hello World
*/
public static void main(String []args) {
System.out.println("Hello World"); // 打印 Hello World
}
}
下面將逐步介紹如何保存、編譯以及運行這個程序:
打開Notepad,把上面的代碼添加進去;
把文件名保存為:HelloWorld.java;
打開cmd命令窗口,進入目標文件所在的位置,假設是C:\
在命令行窗口鍵入 javac HelloWorld.java? 按下enter鍵編譯代碼。如果代碼沒有錯誤,cmd命令提示符會進入下一行。(假設環境變量都設置好了)。
再鍵入java HelloWorld 按下Enter鍵就可以運行程序了
你將會在窗口看到 Hello World
C : > javac HelloWorld.java
C : > java HelloWorld
Hello World
Gif 圖演示:
基本語法
編寫Java程序時,應注意以下幾點:
大小寫敏感:Java是大小寫敏感的,這就意味著標識符Hello與hello是不同的。
類名:對于所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如?MyFirstJavaClass 。
方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。
源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的后綴為.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(); juice.size = FreshJuice.FreshJuiceSize.MEDIUM ; } }
注意:枚舉可以單獨聲明或者聲明在類里面。方法、變量、構造函數也可以在枚舉中定義。
Java 關鍵字
下面列出了Java 關鍵字。這些保留字不能用于常量、變量、和任何標識符的名稱。
類別
關鍵字
說明
訪問控制
private
私有的
protected
受保護的
public
公共的
類、方法和變量修飾符
abstract
聲明抽象
class
類
extends
擴允,繼承
final
最終值,不可改變的
implements
實現(接口)
interface
接口
native
本地,原生方法(非Java實現)
new
新,創建
static
靜態
strictfp
嚴格,精準
synchronized
線程,同步
transient
短暫
volatile
易失
程序控制語句
break
跳出循環
case
定義一個值以供switch選擇
continue
繼續
default
默認
do
運行
else
否則
for
循環
if
如果
instanceof
實例
return
返回
switch
根據值選擇執行
while
循環
錯誤處理
assert
斷言表達式是否為真
catch
捕捉異常
finally
有沒有異常都執行
throw
拋出一個異常對象
throws
聲明一個異常可能被拋出
try
捕獲異常
包相關
import
引入
package
包
基本類型
boolean
布爾型
byte
字節型
char
字符型
double
雙精度浮點
float
單精度浮點
int
整型
long
長整型
short
短整型
null
空
變量引用
super
父類,超類
this
本類
void
無返回值
保留關鍵字
goto
是關鍵字,但不能使用
const
是關鍵字,但不能使用
Java注釋
類似于C/C++,Java也支持單行以及多行注釋。注釋中的字符將被Java編譯器忽略。
public class HelloWorld { /* 這是第一個Java程序 *它將打印Hello World * 這是一個多行注釋的示例 */ public static void main(String []args){ // 這是單行注釋的示例 /* 這個也是單行注釋的示例 */ System.out.println("Hello World"); } }
Java 空行
空白行,或者有注釋的行,Java編譯器都會忽略掉。
繼承
在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那么你可以將新創建的類繼承該類。
利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。
接口
在Java中,接口可理解為對象間相互通信的協議。接口在繼承中扮演著很重要的角色。
接口只定義派生要用到的方法,但是方法的具體實現完全取決于派生類。
Java 源程序與編譯型運行區別
如下圖所示:
下一節介紹Java編程中的類和對象。之后你將會對Java中的類和對象有更清楚的認識。