星期二, 9月 20, 2005

Homework2

1. Explain bytecode, JVM
byte-code:Java 編譯器翻譯你的Java編程輸入一條語言稱做byte-code位元組代碼,這是一台虛構的計算機的機器語言。 容易把這byte-code翻譯成任何特別的計算機的機器語言。 計算機的每種類型將有它自己的翻譯翻譯並且執行byte-code指令。
JVM:指的是java virtual machine,雖然我們通常所說的Java,都是指Java程式語言(Java Language)居多。然而,事實上一個Java程式能順暢運作的有三大要素是缺一不可的: Java Virtual Machine、Java API以及Java Class Files,其中的Java Virtual Machine更是讓Java能做到跨平臺(Platform Independence)的要角,因此說它是Java的心臟也不為過。
說了半天,JVM到底是什麼? 一般的程式語言,程式設計師寫出來的稱為原始碼(Source Code),要編譯(Compile)成機器碼(Machine Code)才能執行。但Java的情況不同,Source Code編譯過的結果是Byte Code,機器或是OS是看不懂的,要靠JVM在執行時解譯為Machine Code,才能執行。也就是說,對一般程式而言,程式本身直接就接觸到OS或硬體資源層級,因此每遇到一種平臺,設計師就必須針對不同的平臺做出適當的設計,但Java則不然,程式本身面對的是JVM,只要JVM看得懂你寫的程式,它就能順利執行,至於面對不同平臺的問題,就交給JVM的開發者去傷腦筋啦!
因為Java的設計就是要求程式只開發一次,因此無論是那一個平臺上的JVM,在Java程式看起來都應長得完全一樣,就好像是一台虛擬的,只能執行Java的Byte Code的機器一樣,但這是一個軟體模擬成的機器,這就是Virtual Machine的名稱由來。


2. Explain class, object
class:類別將所需資料,以及操作該資料的函數,打包在一起,並給他一個名字以方變操作.
object:物件定義好參與程式中的類別有那些這些類別稱為物件
而class與object間的關係:
class(類別):物件的設計藍圖
object(物件):根據類別所建造出來的實體
例如:
===============================
class Customer //類別
{
String User = “Robert”;
String Pass = “1234”;

function Login(User, Pass)
{
……
}
};
===============================
Robert = new Customer
//物件

3.
  • 程式1完成連結

  • public class homework2one
    {
    public static void main(String[] args)
    {
    int i=2;
    int answer;
    System.out.println("i=" + i);
    answer=2*(i++);
    System.out.println("i=" + answer);
    System.out.println("i=" + i);
    }
    }


    4.
  • 程式2完成連結

  • public class homework2two
    {
    public static void main(String[] args)
    {
    int i=2;
    int answer;
    System.out.println("i=" + i);
    answer=2*(++i);
    System.out.println("i=" + answer);
    System.out.println("i=" + i);
    }
    }


    5.
  • 程式3完成連結

  • public class homework2three
    {
    public static void main(String[] args)
    {
    double m=7;
    double n=2;
    double answer;
    answer=m/n;
    System.out.println("(double)m/n=" + answer);
    answer=m/n;
    System.out.println("m/(double)n=" + answer);
    }
    }

    0 Comments:

    張貼留言

    << Home