2007年3月6日 星期二

JAVA 3/5homework

一.
1.bytecode :Java是能跨平台使用的語言,這主要是因為Java本身被編譯之後,並不是直接產生可執行的碼, 而是產生一種中間碼叫作ByteCode,這種碼必需在透過Java的直譯器來解讀它,才能夠真正的被執行, 所以只要平台上裝有這種Java的直譯器,就能解讀 ByteCode也就能執行Java編譯過的程式, 故與Java程式是在那種平台上被編譯的
2.JVM :JVM <> Java為了做到能夠跨平臺 將其程式碼編成相對於機器上的機器碼(或是Assembly Code) 所以他採用了中介碼(bytecode) 為了達到能夠執行跨平台的Java程式 Sun必須提供每種機器相對應的虛擬機器(Virtual Machine) Virtual Machine這個程式能夠將Java的.class檔轉換成他平台上所了解的機器碼
二.
1.class :類別是用來定義資料型態(data type)的,一個型態包含了一組狀態(state),以及在狀態之間轉移的動作行為(operation)。因此 "int" 是個「型態」,因為它有一組狀態,還有諸如「加兩個整數」、「整數相乘」等等的運作行為。同樣的,「類別」提供一組(通常是公共的)運算,及一組(通常是非公共的)資料欄位,以代表該型態的案例所擁有的抽象值。
2.object :簡單說就是 " 一塊賦有某種語意的儲存空間 "。在宣告 "int i ;" 之後,我們稱「i 是個 int 型態的物件」。「物件」通常意指「類別的案例(an instance of a class)」,因此類別定義了數個物件(案例)的行為。
4.1 Write a Java program as follows:

Let i=2;
Print i;
Print 2 * (i++);
Print i;

Ans: 2, 4, 3

4.2 Write a Java program as follows:

Let i=2;
Print i;
Print 2 * (++i);
Print i;

Ans: 2, 6, 3



4.3 Write a Java program as follows:

Let m=7, n=2;
Print (double) m/n;
Print m/ (double)n;

Ans: 3.5, 3.5

沒有留言: