課程名稱:程式設計I

指導老師:蔡佳麟

學生:徐尉哲

學號: 40207030

組別:第5組

週次:第01-05[回首頁]

 

Part I指定作業:

作業1試說明JAVA語言發展的歷史?

答案1根據參考來源1: Java是Sun Microsystems 所發展出來的一種程式語言,是第一種能在Internet上具有互動能力的程式語言。最早的發源可追溯至發展消費性電子產品 Consumer Electronics的控制軟體,當時所使用的語言是C、C++,但立即就知道C與C++都不適用。因而,James Gosling 便於1990年開始發展另一種更適用於消費性電子產品的程式語;Java 就因而誕生了。Sun 的綠色計畫(Green Project)是第一個以Java language發展的計畫;該計畫主要的目的是要發展出一套控制家電產品的人機介面(錄放影機、電視、電話、燈光、呼叫器等),當時還發展出一套雛型掌上電腦(*7)。緊接著的便是VOD(Video-on-demand)的計畫。Java原來不叫Java是James Gosling以他辦公室窗外的大橡樹而命名為 Oak的。但是後來發現Oak之名已被公司中的另一個程式語言所用。在開過數次會議之後,最後才以Java命名。1995年五月,於SunWorld研討會正式發佈了Java的技術,且在該次研討會中,Netscape公司副總裁Marc Andreessen宣佈該公司的Netscape Navigator將會支援Java applets(Netscape 2.0於1995年底便推出了)。自1995年暑假,Java即受到電腦業界的高度注意,特別是在Internet和Multimedia相關產品方面;亦引起了各種媒體如Time、Business Weekly、CNN等的注意與熱烈參與討論。有人形容,Java之於WWW的關係就如同試算表(Spreadsheet)之於個人電腦的關係。事實上,以Java的功能,勢必在資訊界掀起另一番高潮,對網路的發展,又邁入了另一個新的紀元。

版本歷史

1995523日

Java語言誕生

19961

第一個JDK-JDK1.0誕生

1996年4月 10個最主要的作業系統供應商申明將在其產品中嵌入JAVA技術
1996年9月 約8.3萬個網頁應用了JAVA技術來製作

1997218日

JDK1.1發行

1997年4月2日 JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月 JavaDeveloperConnection社群成員超過十萬
1998年2月 JDK1.1被下載超過2,000,000次

1998128日

JAVA2企業平台J2EE發行

19996

SUN公司發行Java的三個版本:標準版(J2SE)、企業版(J2EE)和微型版(J2ME

20005月8日

JDK1.3發行

2000529日

JDK1.4發行

2001924日

J2EE1.3發行

2002226日

J2SE1.4發行,自此Java的計算能力有了大幅提升

2004930日

J2SE1.5發行,成為Java語言發展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0

20056

JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名,以取消其中的數位「2」:J2EE更名為Java EEJ2SE更名為Java SEJ2ME更名為Java ME

200612

SUN公司發行JRE6.0

200912

SUN公司發行Java EE 6

20117月28日

Oracle公司發佈Java SE 7

20143月18日 Oracle公司發表Java SE 8

 

作業2JAVA有那些基本資料型別?

答案2根據參考來源2:

Java的資料型別可區分為兩大類:「基本資料型別(Primitive Data Types)」和「參考資料型別(Reference Data Types)」。「基本資料型別」有8個,除了這8個型別外,其除的資料型別都是屬於「參考資料型別」。「基考資料型別」變數所佔的記憶體大小並不相同,但「參考資料型別」的變數是用來儲存物件的記憶體位置,它們的大小都是4Bytes。以最簡單的區分方式,我們可以這樣分別:「基考資料型別」變數儲存實際的內容,「參考資料型別」變數儲存著它代表的物件的記憶體位置。

分類

保留字

名稱

Byte

有效範圍

byte

位元組

1

-128~127

short

智整數

2

-32,768~32,767

int

整數

4

-2,147,483,648~2,147,483,647

long

長整數

8

-9,223,372,036,854,775,808~

9,223,672,036,854,775,807

float

浮點數

4

負值-3.402823E38~-1.401298E-45

正值1.401298E-45~3.402823E38

double

倍精數

8

負值-1.797693134E3.8~4.9406564584124E-324

正值4.94.6564584E-324~1.797693134862E308

char

字元

2

\u0000~\Uffff

boolean

布林值

2

true,false

各類型的資料型別的簡單說明如下:

 

 1.  整數型別:包含了byteshortintlong。可以用來儲存具有正負號的整數值

 

2.  浮點數型別:包含了floatdouble。可以用來儲存具有正負號的浮點數值

 

3.  字元型別:char型別,可以用來儲存英文字母、特殊符號、數字

 

4.  布林型別:只能儲存true或是false

作業3常數與變數有何不同?寫一程式說明之。

答案3根據參考來源3:

資料是儲存在記憶體中的一塊空間中,為了取得資料,您必須知道這塊記憶體空間的位置,然而若使用記憶體位址編號的話相當的不方便,所以使用一個明確的名稱 代表儲存在記憶體中的資料,變數(Variable)是一個指向資料儲存空間的參考,您將資料指定給變數,就是將資料儲存至對應的記憶體空間,呼叫變數, 就是呼叫對應的記憶體空間的資料供您使用。

在Java中要使用變數,必須先宣告變數名稱與資料型態,例如: 
int intNum;         // 宣告一個整數變數 
double dblNum;   // 宣告一個倍精度浮點數變數 

就如上面所舉的例子,我們使用int、float、double、char等關鍵字 (Keyword)來宣告變數名稱並指定其資料型態,變數在命名時有一些規則,它不可以使用數字作為開頭,也不可以使用一些特殊字元,像是 *&^%之類的字元,而變數名稱不可以與Java 內定的關鍵字同名,例如int、float、class等等。

變數的命名有幾個風格,主要以清楚易懂為主,初學者為了方便,當使用一些簡單的字母來作為變數名稱,這會造成日後程式維護的困難,命名變數時發生同名的情 況也會增加。

在過去曾流行過匈牙利命名法,也就是在變數名稱前加上變數的資料型態名稱縮寫,例如intNum用來表示這個變數是int整數資料型態,fltNum表示 一個float資料型態,然而隨著現在程式的發展規模越來越大,加以有成熟IDE之輔助,匈牙利命名法已經不被鼓勵。

過去的程式在撰寫時,變數名稱的長度會有所限制,但現在已無這種困擾,因而現在比較鼓勵用清楚的名稱來表明變數作用,通常會以小寫字母作為開始,並在每個 單字開始時第一個字母使用大寫,例如:
int ageForStudent; 
int ageForTeacher;

像這樣的名稱可以讓人一眼就看出這個變數的作用,這樣的命名方式,在Java程式設計領域中是最常看到的一種。

變數名稱可以使用底線作為開始,通常使用底線作為開始的變數名稱,表示它是私用的 (Private),只在程式的某個範圍使用,外界並不需要知道有這個變數的存在,通常這樣的變數名稱常用於物件導向程式設計中類別的私有成員(Private member),這樣的命名方式在Java中偶而也 會看到(比較常見於C++的程式撰寫中),一個宣告的例子如下:
double _window_center_x; 
double _window_center_y; 

當您在Java中宣告一個變數,就會配置一塊記憶體空間給它,這塊空間中原先可能就有資料,也因此變數在宣告後的值是不可預期的,Java對於安全性的要 求極高,您不可以宣告變數後,而在未指定任何值給它之前就使用它,編譯器在編譯時會回報這個錯誤,例如若宣告變數var卻沒有指定值給它,則會顯示以下訊 息: 
variable var might not have been initialized

可以的話,儘量在變數宣告後初始其值,您可以使用「指定運算子」 (Assignment operator)=來指定變數的值,例如:
int ageForStudent = 0; 
double scoreForStudent = 0.0; 
char levelForStudent = 'A'; 

上面這段程式在宣告變數的時候,同時指定變數的儲存值,而您也看到如何指定字元給字元變數,字元在指定時需使用引號 ' ' 來包括;在指定浮點數時,會習慣使用小數的方式來指定,如0.0,在Java中寫下0.0這麼一個常數的話,其預設為double資料型態。

常數

變數 

Java中是透過關鍵字 final 來定義常數
:  final in example_int=123

1) 變數名區分大小寫不能以數字為開頭亦不能為保留字
(2) 
變數型別請參考下面不同型別變數說明
(3) 
生命週期(作用域): 通常變數的作用域在 { } 段內作用域可分為局部變數類別變數方法參數, , 例外處理參數
變數宣告格式如下:  
type identifier[=value][,identifier[=value]
];

##ReadMore##

整數常數

整數變數

十進制表示 123, -456, 0... 
八進制表示 0 為開頭之數字 0123, -0456 
十六進制表示:   0x  0X 為開頭之數字 0x123, -0X456 
如需表示長整數之常數則可在數值後面加上 l  L , 123l,  -456L

整數變量的類型有byte, short, int, long 四種
byte: 
長度為 1 byte. 
short: 
長度為 2 bytes. 
int
長度為 4 bytes. 
long: 
長度為 8 bytes.

 浮點數常數

浮點數變數

有下面二種表示方法, 
(1)
由十進制數字加上小數點表示, : 0.123,  -4.567. 
(2)
由科學表示法, xxxEyyy   xxxeyyy  其中, xxxx為數值, yyy需為整數值. 
(3)
浮點數常數一般為高精確度的 double (64 bit), 若需表示為低精確度 float , 則可在數值後面加上 f F, 0.123f, -4.567F

float double 二種, 下面表示他的精確度, 
float 32 3.4e-038
3.4e+038 
double 64 1.7e-308
1.7e+308

字元常數

字元變數

(1)字元常數是用單引號刮起來的字元如, 'a', 'B',  支援脫逸字元如, \n, \r, \t... 
(2)
字元常數是以 2 bytes (16 bit)來表示 Unicode 而不只有表示ASCII Code.  
\ddd 
以八進制來表示字元
\uxxxx 
以十六進制來表示字元
\\ 
表示 '\' 字元
\r 
表示 return 字元
\n 
表示 跳行 字元
\f 
表示 下一頁 字元
\t 
表示 tab 字元
\b 
表示 backspace 字元

字元變數的型別為 char,  2 bytes (16 bit), 範圍為 0~ 65535. 
但有趣的是 Java 的字元變數是可以做運算的雖然不清楚如何利用但如下例子所示
int five=5; 
char two='2'; 
char seven=(char)(five+two);//seven='7'

字串常數及變數

字串常數及變數於String類別再行介紹

布林變數

布林變數只有二個值 "true""false", 並非為數值的 1 0

 

public class Variable {
public static void main(String[] args) {
int ageForStudent = 5;
double scoreForStudent = 80.0;
char levelForStudent = 'B';

System.out.println("年級\t 得分\t 等級");
System.out.printf("%4d\t %4.1f\t %4c",
ageForStudent, scoreForStudent, levelForStudent);


}


}

 

執行結果:

 年級     得分    等級
       4       80.0          A

參考來源: google

作業1網路教學中心,JAVA的歷史,JAVA,維基百科.

作業2網路教學中心,2-3 資料型別.

作業3良葛格學習筆記,Java Gossip: 變 數、常數,JAVA基本常數與變數.

Part II 01-05週學習心得彙整

整理學習心得彙整


 

建立學習網 佈署學習網 佈署JDK 編譯執行 常數與變數
1 2 3 4 5
實作2:寄一封通知信給老師 實作4. 佈署學習網站 實作1:上週複習 實作.1.複習編譯與執行 實作1:顯示姓名與學號
實作3.檔案傳輸練習 實作5.建立小組臉書社團

編譯與執行Java程式

java流程

實作2.安裝JDK 7u51 實作2. 05_ex1.java的流程圖
      實作3.編譯執行 實作3.常數與變數的練習
         
  基本型別與參照型別 運算式與運算子    
  7 8 9  
  實作1.填寫成完整程式碼 實作1.顯示PG1成績    
  實作2. 基本資料與參照型別 實作2.線上輸入與輸出資料    
  實作3.常數,變數與型別混合使用 實作3. BMI線上輸入版    

 


創用 CC 授權條款
程式設計I(01-05週)-徐尉哲(40207030)徐尉哲製作,以創用CC 姓名標示-非商業性 4.0 國際 授權條款釋出。