java 程序運行原理和基礎概念學習

    javac是jdk的編譯器,剛纔我們輸入javac  Hello.java的時候意思是把把Hello.java這個源文件編譯成了字節碼,就是Hello.class這個文件。

    Java命令是 java的解釋器 java Hello的意思是將編譯後的字節碼放在解釋器上執行。 從中我們也可以看到java語言的執行過程,是先編譯後解釋的。

 


Java中數據類型分爲兩大類,上次課已經講完了,是基本類型對象類型。相應的,變量也就有兩種類型:基本類型和引用類型。基本類型自然不用說了,它的值就是一個數字,一個字符或一個布爾值。引用類型,可是引用類型呢?它是一個對象類型的啊,值是什麼呢?它的值是指向內存空間的引用,就是地址,所指向的內存中保存着變量所表示的一個值或一組值。很好理解吧,因爲一個對象,比如說一個人,不可能是個數字也不可能是個字符啊,所以要想找它的話只能找它的地址了。

   

    我們在學習計算機的過程中,所謂的難的東西,就是以前沒有聽過的概念,和不常用的思想。像是這個引用類型的概念就是以前不常用的,基本類型當然好理解不講大家也知道。所以我們對於這樣陌生的概念我們只要多琢磨一下就會明白的。

    我們廢話少說,接下來看看這兩種類型變量的不同處理吧。基本類型自然是簡單,聲明是自然系統就給它空間了。例如,

 

    int baijq;  
    baijq=250; //聲明變量baijq的同時,系統給baijq分配了空間。

 

    引用類型就不是了,只給變量分配了引用空間,數據空間沒有分配,因爲誰都不知道數據是什麼啊,整數,字符?我們看一個錯誤的例子:

 

    MyDate today;

    today.day = 4; //發生錯誤,因爲today對象的數據空間未分配。

 

    那我們怎麼給它賦值啊?引用類型變量在聲明後必須通過實例化開闢數據空間,才能對變量所指向的對象進行訪問。舉個例子:

 

    MyDate today;            //將變量分配一個保存引用的空間

    today = new MyDate();     //這句話是2步,首先執行new MyDate(),給today變量開闢數據空間,然後再執行賦值操作。

 

    小總結:

    剛纔說了一大堆,其實就是一件事。如果是引用類型的變量,必須先得new一個對象出來。不new哪來的對象啊,不new哪有數據空間啊?沒有數據空間怎麼能訪問呢?這回明白了吧!

    我們還有個問題沒有說,引用類型變量怎麼賦值?這個就不是很難了。舉個例子:

 

    MyDate a,b;                       //在內存開闢兩個引用空間

    a  =  new MyDate();    //開闢MyDate對象的數據空間,並把該空間的首地址賦給a

    b  =  a;                      //將a存儲空間中的地址寫到b的存儲空間中

   


 

循環跳轉語句 :

    break [label]  //用來從語句、循環語句中跳出。

    continue [label]  //跳過循環體的剩餘語句,開始下一次循環。

    這兩個語句都可以帶標籤(label)使用,也可以不帶標籤使用。標籤是出現在一個語句之前的標識符,標籤後面要跟上一個冒號(:),標籤的定義如下:

    label:statement;

 

發佈了209 篇原創文章 · 獲贊 6 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章