1. 程式人生 > 實用技巧 >Java類基礎知識

Java類基礎知識

java類結構和main函式

Java檔案必須以.java作為副檔名


一個Java檔案只能有一個public class


public class 的名字必須和檔名字一樣,大小寫都要完全一致


一個檔案可以有多個class,但是隻能有一個是public。不提倡一個資料夾裡面放多個類(內部類除外)


System.out.print 輸出


System.out.println 換行輸出


  • 類是Java中的最基礎邏輯單位。
  1. Java所有的內容都是需要放在類的範圍中
  2. 內容不允許遊離在類以外
  3. 換言之,Java專案就是由一個一個類組成的。
  • 類的構成:變數和函式

Main函式

一個class最多隻能有一個main函式,類可以沒有main函式,但是沒有main函式的類就不能主動執行,但是可以被動執行(被別人呼叫執行)。


程式的入口都是main函式,這點和C/C++一致。有一點不同的是,java要求所有的程式都必須放在類物件中,即所有程式碼都要放在class所轄的範圍內。


main函式的形參和字首修飾符public,static,void等都不能省略,是固定寫法。可以簡單記憶為PSVM。


從嚴格意義上說,main函式不屬於這個類的所擁有函式。
只是因為Java要求所有的內容都必須放置在class的範圍內,所以main函式“寄居”在某一個class中。


main函式是一個Java程式的總入口。


main函式也無法被其他方法,類所呼叫。


一個Java程式可以呼叫多個其他Java class。


String[]args是main的形參,即在main函式中可以使用args的值。

總結:

  1. 類是Java程式最小獨立單元。
  2. 類包括成員變數和成員方法。
  3. main函式是程式啟動的總入口。
  4. main函式的形參args是外界提供給main函式的形參,可以在main函式中使用。

基本型別和運算子:

Java中有八個基本型別,它們分別是boolen布林,byte位元組,short/int/long 短整數/整數/長整數,float/double浮點數,char字元。


boolen布林變數
只有true和false兩種值,預設是false。


以下幾種情況都是錯誤的:

bool a=True;//錯誤
bool a=TRUE;//錯誤
bool a=1;//錯誤,不能夠將整數賦給布林變數

注意:java中的bool變數true和false之間沒有誰大誰小,它們間也無法比較大小


byte位元組型別

1byte=8bits(8位)

儲存有符號的,以二進位制補碼錶示的整數。

最小值-128,最大值127,預設值0。

byte在二進位制檔案讀寫中使用得多。
當給的數字超過了byte所能表示的範圍時可以參考下面這張圖。

短整數/整數/長整數 略,跟C++的差不多。

float/double浮點數型別

float和double都不能用來表示很精確的數字。

運算子優先順序問題:

自定義函式

public class FunctionTest
{
    public static void main(String[] args)
    {
        int a,b,c;
        a=1;
        b=2;
        c=FunctionTest.add(a,b);
        System.out.println("c is"+c);
    }
    public static int add(int m, int n)//函式定義
    {
        return m+n;
    }
}

函式必須放在類的範圍裡。


修飾詞(public或static)返回值(int 或 void),函式名(形參列表){函式體}。


通常情況下,我們都建議方法是public。


函式可以呼叫其他的函式,如上例中,main函式呼叫了add函式。


接下來是用java寫的用來計算階乘的函式。

public class FactorialTest
{
    public static void main(String[] args)
    {
        int a=5;
        int b=factorialCalculation(a);呼叫函式計算a!
        System.out.println("The factorial of"+a+"is"+b);
    }
    public static int factorialCalculation(int m)//函式定義
    {
        if (m>1)
           return m*factorialCalculation(m-1);
        else
           return 1;
    }
}

同一個類中,函式名稱可以相同,即過載函式。但形參的返回值型別或者個數必須有所不同。


不能以返回值來區分同名的函式。