星期四, 9月 22, 2005

JAVA作業2

1.Explain bytecode, JVM

Bytecode--Java的原始程式檔經過編譯後產生的檔案稱為位元組碼(Bytecode)Bytecode是由JAVA本身被編譯過後的一種中間碼,這種碼必須透過JAVA的直譯器來解讀它。由於JAVA是種可以跨平台的使用的語言,所以它不是直接產生可執行碼,無論在哪個平台,只要有JAVA的直譯器,就能夠解讀Bytecode,就能夠執行JAVA的程式。

JAM--JVM就是JAVA VIRTUAL MACHINE是因為它是位於「真正」硬體平台與作業系統之上的一層軟體,所有的Java程式都必須在JVM上執行各種平台上的可執行檔案的格式完全不同因此JVM的存在就是為了撫平這種差異。透過JVM讓所有的作業系統均能與API建立良好的溝通管道,JAVA程式跨平台的特性就由此產生。

2 Explain class, object

Class—ClassJava Program的基本組成單元,在物件導向程式設計當中,針對一個物件可以做的許多動作 (或稱為副程式),都應該算成同一個種類,某個對物件 A 可達成的工作可能無法對物件 B 去做,所以將相同物件動作的程序集合起來。每個Java Program至少都要定義了一個ClassClass內可以包含Data Field(資料欄位)Method(方法-如同C/C++的成員函式),而Class也可視為是一種使用者自訂型別(User Defined Data Type),Class主要是用來擴充Java原生Data Type0不足。

Object--物件導向程式設計的構成要素,包含了資料以及如何操作資料的指令。每個原生Data Type都會有一個值,如整數變數可以內含數值100,而Class Data Type的變數的值就是物件。

參考資料:http://163.16.66.20/internet-edu/text02.htm

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

Ans: 2, 4, 3
程式碼:
public class hw2.1

{

public static void main(String[] args)

{

int i=2;

System.out.println("i="+i);

int ans;

ans=2*i++;

System.out.println("2*i++="+ans);

System.out.println("i="+i++);

}

}

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

Ans: 2, 6, 3
程式碼:

public class hw2

{

public static void main(String[] args)

{

int i=2;

System.out.println("i="+i);

int ans;

ans=2*++i;

System.out.println("2*++i="+ans);

System.out.println("i="+i++);

}

}

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

Ans: 3.5, 3.5
程式碼:

public class hw2

{

public static void main(String[] args)

{

int m=7,n=2;

double a,b;

a=(double)m/n;

b=m/(double)n;

System.out.println("(double)m/n is"+a);

System.out.println("m/(double)n is"+b);

}

}





0 Comments:

張貼留言

<< Home