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);
}
}
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.
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.
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.
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