小閆陪你入門 Java (一)

  • 2019 年 10 月 5 日
  • 筆記

Java 基礎

學習一門語言,第一件事當然是輸出 HelloWrold,下面使用 Java 編寫一個最簡單的應用程式:

public class FirstSample  {      public static void main(String[] args)      {          System.out.println("Hello Wrold!");      }  }

注意事項:

1.Java 對大小寫敏感。

2. public 為訪問修飾符,此處簡單理解為它用於控制程式的其他部分對這段程式碼的訪問級別。

3. class 為類,表明 Java 程式中的全部內容都包含在類中。

4.關鍵字 class 後面緊跟類名。

類名定義規則:名字以字母開頭,後面可以跟字母和數字的任意組合,每個單詞首字母大寫。長度不受限制。同 Python,起名不能使用 Java 的保留字,如 public 等。(凡事講究先來後到) 如果你有一些編程基礎,那麼可以理解為它符合駝峰命名規則。

5.在文件中書寫完上述程式碼後,文件需命名為 FirstSample.java

源程式碼的文件名必須與公共類的名字相同,且大小寫一定要注意!!!

6.Java 中程式碼塊都是以大括弧包裹起來的。

1.輸出

上面已經有了最簡單的輸出方式:

System.out.println();

它使用了 System.out 對象的 println 方法。類似於 Python 中的 print()

如果你想輸出語句後,不執行換行的效果,可以使用 System.out 對象的 print方法。類比 Python 中如下程式碼:

print("xxx", end="")

下面測試一下:

public class HelloDemo {      public static void main(String[] args) {          // 嘗試 println 方法          System.out.println("hello world");          System.out.println("Ethan");          // 嘗試 print 方法          System.out.print("hello world");          System.out.print("Ethan");      }  }

最後輸出結果為:

hello world  Ethan  hello worldEthan

可看出 println 自帶換行效果,print 則無此效果。

2.注釋

注釋為了讓日後自己還能看懂自己的程式碼,或者讓別人接盤。下面看一下 Java 中是如何書寫注釋的:

2.1 單行注釋

單行注釋使用符號 //,其注釋內容從 // 開始到本行結束,例:

// 我是單行注釋

2.2 多行注釋

多行注釋使用符號 /** 開始,符號 */ 結束。例如:

/**   * 這是多行注釋   * 為了表明多行,這是第2行   * 這是第3行   */

也許你會好奇,為什麼每一行注釋前還有一個 * 號,這是使用編輯器 IDEA 時輸入 /** 後按回車鍵自動生成的效果。

3.數據類型

Java 是一種強類型語言,即在使用變數前需聲明其類型。在 Java 中共有 8 種基本數據類型,其中 4 種整型、2種浮點類型、1種用於表示 Unicode 編碼的字元單元的字元類型 char 和一種用於表示真值的布爾類型 boolean。

3.1 整型

long 類型

long 類型有正負,存儲時佔用 8 位元組,其取值範圍為 -2^632^63-1

long l = 100000L  long l1 = -100000L

"L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。這種類型主要使用在需要比較大整數的系統上

int 類型

int 是我們最熟悉的整數,可表示正負。存儲時佔用 4 位元組。取值範圍為 -2^312^31-1

int a = 100000  int a1 = -520000

一般地整型變數默認為 int 類型

short 類型

short 也有正負之分,存儲時佔用 2 位元組,其取值範圍為 -2^152^15-1

short s = 100  short s1 = -1000

short 數據類型也可以像 byte 那樣節省空間。一個short變數是int型變數所佔空間的二分之一

byte 類型

byte 類型可表示正負,存儲時佔用 1 位元組,其取值範圍為 -2^72^7-1

byte b = 50  byte b = -50

byte 類型用在大型數組中節約空間,主要代替整數,因為byte 變數佔用的空間只有 int 類型的四分之一

3.2 浮點類型

float 類型

float 類型表示單精度小數,存儲時佔用 4 位元組。它在存儲大型浮點數組時可節省記憶體空間,但是其不能用來表示精確的值

float f1 = 234.5f

double 類型

double 數據類型是雙精度小數,存儲時佔用 8 位元組。浮點數默認類型便是 double 類型,同樣,它也不能用來表示精確的值,如貨幣。

double d1 = 123.4b

因為 double 是默認類型,所以數字末尾的 b 寫不寫均可

3.3 char 類型

char 類型用來表示單個字元,如 'A' 是編碼 65 對應的字元常量。注意它不是字元串。Unicode 編碼單元可以表示為十六進位值,其範圍為 u0000Uffff

通常用來表示字元常量。

3.4 布爾類型

布爾類型只有兩個值,便是 TrueFalse

注意:Java 中與 Python 中不同。Python 中與 C++ 中類似,數值 0 可以代替 False ,非 0 表示 True 而 Java中不可以!

4.變數

與 Python 中不同,Java 在使用變數時需要先聲明,然後再進行初始化。可以是如下方式:

float nice;  nice = 0.1f;

也可以是如下方式:

int a = 1;

4.1 變數類型

1.類變數:位於類內,方法外。使用 static 修飾

類變數也被稱為靜態變數。 一個類無論創建了多少個對象,類都只擁有類變數的一份拷貝。 類變數在第一次被訪問的時候創建,程式執行完畢後銷毀。 類變數可以通過 類名.變數名 的方式訪問。 類變數被聲明為 public、static、final 類型的時候,名稱使用大寫字母。 類變數有默認值,如果是數值默認為0,如果是布爾默認為false,引用類型則默認為null。 類變數的值既可以在聲明的時候指定,也可以在方法中指定。

2.實例變數:位於類內,方法外,但是沒有 static 修飾

生命周期:在創建對象的時候創建,在對象銷毀時隨之銷毀。 實例變數必須至少被一個方法引用,使得調用者能夠獲取實例變數的值。 實例變數可以被訪問修飾符修飾。 實例變數可以聲明在使用前,也可以聲明在使用後。 實例變數可以通過變數名訪問,但在靜態方法或者其他類中就需要使用其對象獲取變數名進行訪問。 實例變數一般設為私有如 privateStringname,表示其僅在該類可見。 實例變數有默認值,如果是數值默認為0,如果是布爾默認為false,引用類型則默認為null。 實例變數的值既可以在聲明的時候指定,也可以在方法中指定。

3.局部變數:位於類的方法內。

生命周期:在變數所在方法被執行時創建,執行完畢後死亡。 局部變數沒有默認值,必須經過聲明和初始化才可被使用。

public class Variable{      static float fl=0.1f;    // 類變數      int i =3;  // 實例變數      public void func(){           String str="Ethan"; // 局部變數      }  }