Java類基礎知識
java類結構和main函式
類
Java檔案必須以.java作為副檔名
一個Java檔案只能有一個public class
public class 的名字必須和檔名字一樣,大小寫都要完全一致
一個檔案可以有多個class,但是隻能有一個是public。不提倡一個資料夾裡面放多個類(內部類除外)
System.out.print 輸出
System.out.println 換行輸出
- 類是Java中的最基礎邏輯單位。
- Java所有的內容都是需要放在類的範圍中
- 內容不允許遊離在類以外
- 換言之,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的值。
總結:
- 類是Java程式最小獨立單元。
- 類包括成員變數和成員方法。
- main函式是程式啟動的總入口。
- 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;
}
}
同一個類中,函式名稱可以相同,即過載函式。但形參的返回值型別或者個數必須有所不同。
不能以返回值來區分同名的函式。