標籤:[] http java語言 靜態成員 一個 執行個體 ring 對象 方法
一個java類檔案中可以有多個公有類
public class Test1 {public static void main(String[] args) { // TODO 自動產生的方法存根}public class InnerClass{} }
這樣書寫是正確的。
java規定main()為靜態原因
靜態情況下不需要建立一個對象就可以使用。
非靜態成員函數在執行前必須先構造並執行個體化該函數所在的類。
如果允許非靜態main,那麼main函數所在的類必須先進行執行個體化,
那麼就需要再寫個函數去執行個體化main所在的類,再調用main,這個執行個體化代碼又寫在哪呢?如果它也是非靜態,豈不是又要寫個函數去執行個體化它所在的類嘛?
因此,JAVA語言就規定了main必須是靜態。
也就是說:程式一定要有一個入口,如果main不是靜態話就需要其他的東西來執行個體化main,而執行個體化main的東西如果不是靜態,就需要其他的來執行個體化,如此迴圈下去程式是不可能開始執行的。因此,main方法為靜態。
java中的類型轉換
首先看一張圖。
我們寫一段代碼來看看java中的資料類型占的位元分別是多少
public class Test1 {public static void main(String[] args) { // TODO 自動產生的方法存根 System.out.println(Byte.SIZE); System.out.println(Byte.SIZE/8); System.out.println(Short.SIZE); System.out.println(Short.SIZE/8); System.out.println(Character.SIZE); System.out.println(Character.SIZE/8); System.out.println(Integer.SIZE); System.out.println(Integer.SIZE/8); System.out.println(Float.SIZE); System.out.println(Float.SIZE/8); System.out.println(Long.SIZE); System.out.println(Long.SIZE/8); System.out.println(Double.SIZE); System.out.println(Double.SIZE/8);}}
運行結果如下
從中可以看出結論:除了int向double轉換,同位元的不同的資料類型之間轉換都會損失精度。
java中運算子+的作用
首先看一段代碼
public class Test2 {public static void main(String[] args) { // TODO 自動產生的方法存根int X=100;int Y=200;System.out.println("X+Y="+X+Y);System.out.println(X+Y+"=X+Y");}}
運行結果如下:
產生這種現象的原因是+既可以作為數學上的運算子號,又可以串連兩個字串,以及java中運算子的先後順序。
第一行中的加號是串連了要輸出的兩部分內容。
第二行中的加號是算數運算的作用。
Java學習筆記