Java基礎文法

來源:互聯網
上載者:User

標籤:linux   for迴圈   efault   命名方式   建構函式   標識   private   基本   inux   

先抄寫運行一個HelloWorld

1 public class HelloWorld {2     public static void main(String []args) {3         System.out.println("Hello World"); // 列印 Hello World4     }5 }

儲存為HelloWorld.java(這裡需要檔案名稱與類名相同

(linux環境)開啟終端並cd到當前Java檔案所在目錄

輸入:javac HelloWorld.java

摁下斷行符號編譯代碼,可以看到檔案目錄下出現編譯好的檔案HelloWorld.class

再輸入:java HelloWorld

就可以在視窗看到Hello World,

(這裡請無視掉兩行Picked up _JAVA_OPTIONS)

 

成功寫出了helloworld

然後開始學習

 

基本文法

編寫程式時,需要注意的幾點:

1.大小寫敏感,即HelloWorld與helloworld不同

2.類名、變數名以及方法(函數)名都被稱為標識符,標識符命名規範與C++基本相同   

  • 類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單片語成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單字首大寫。

3.源檔案名稱必須和類名相同。當儲存檔案的時候,你應該使用類名作為檔案名稱儲存,檔案名稱的尾碼為.java。確切的說,是和類中public類的類名相同,所以一個Java檔案中只能有唯一的一個public類

4.所有的Java 程式由public static void main(String []args)方法開始執行。顯然它應該在publilc類裡。

 

Java修飾符:

像C++一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:

  • 存取控制修飾符 : default, public , protected, private
  • 非存取控制修飾符 : final, abstract, static

修飾符用法及含義基本可類似於C++

final類似於const,abstract類似於virtual,static類似於static

上面是我瞎說的都不可信,後面再深入討論幾種修飾符

 

Java變數類型:

Java中主要有如下幾種類型的變數

局部變數

類變數(靜態變數)

成員變數(非靜態變數)

 

局部變數:

  1. 局部變數聲明在方法、構造方法或者語句塊中,在執行方法的時候建立,當它們執行完成後,變數將會被銷毀,所以只在聲明它的方法、構造方法或者語句塊中可見
  2. 局部變數是在棧上分配的
  3. 局部變數沒有預設值,聲明後必須初始化才可以使用

(函數和建構函式和C++一樣都好說,語句塊留到後面解釋)

執行個體變數:

  1. 執行個體變數聲明在一個類中,但在方法、構造方法和語句塊之外
  2. 執行個體變數具有預設值。數值型變數的預設值是0,布爾型變數的預設值是false,參考型別變數的預設值是null。變數的值可以在聲明時指定,也可以在構造方法中指定
  3. 執行個體變數在對象建立的時候建立,在對象被銷毀的時候銷毀
  4. 執行個體變數的值應該至少被一個方法、構造方法或者語句區塊引述,使得外部能夠通過這些方式擷取執行個體變數資訊(就是推薦你有getter和setter函數
  5. 存取修飾詞可以修飾執行個體變數,但不能修飾上面的局部變數
  6. 執行個體變數對於類中的方法、構造方法或者語句塊是可見的。一般情況下應該把執行個體變數設為私人。通過使用存取修飾詞可以使執行個體變數對子類可見
  7. 執行個體變數可以直接通過變數名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObejectReference.VariableName。

類變數(靜態變數,很像C++的類的static變數)

  1. 類變數也稱為靜態變數,在類中以static關鍵字聲明,但必須在方法構造方法和語句塊之外
  2. 無論一個類建立了多少個對象,類只擁有類變數的一份拷貝
  3. 靜態變數除了被聲明為常量外很少使用。常量是指聲明為public/private,final和static類型的變數。常量初始化後不可改變
  4. 靜態變數儲存在靜態儲存區。經常被聲明為常量,很少單獨使用static聲明變數
  5. 靜態變數在程式開始時建立,在程式結束時銷毀
  6. 與執行個體變數具有相似的可見度。但為了對類的使用者可見,大多數靜態變數聲明為public類型
  7. 預設值和執行個體變數相似。數值型變數預設值是0,布爾型預設值是false,參考型別預設值是null。變數的值可以在聲明的時候指定,也可以在構造方法中指定。此外,靜態變數還可以在靜態語句塊中初始化
  8. 靜態變數可以通過:ClassName.VariableName的方式訪問
  9. 類變數被聲明為public static final類型時,類變數名稱一般建議使用大寫字母。如果靜態變數不是public和final類型,其命名方式與執行個體變數以及局部變數的命名方式一致

成員變數(非靜態變數)

大概就是執行個體變數中的非靜態變數 

 

Java關鍵字:

下面列出了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 介面,一種抽象的類型,僅有方法和常量的定義
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++完整地寫一個能夠編譯的小代碼了(大概)

有些東西很像C++但也可能是暫時不清楚區別

所以如何類比還是因人而異吧

科科

 

參考資料:http://www.runoob.com/java/java-basic-syntax.html

Java基礎文法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.