Java 入門指南- 單元3 - 基本資料型態與參考 - 程式語言教學誌

文章推薦指數: 80 %
投票人數:10人

Java 中的變數(variable) 有兩種,一種是基本資料型態(primitive data type) ,另一種則是對物件(object) 的參考(reference). variable → primitive data type Java入門指南 單元3-基本資料型態與參考 ~~學習進度表~~ Java中的變數(variable)有兩種,一種是基本資料型態(primitivedatatype),另一種則是對物件(object)的參考(reference) variable→primitivedatatype          ↘           reference 基本資料型態共有八種,如下表 型態類型關鍵字位元數範圍 整數byte8-128~127 整數short16-32768~32767 整數int32-2147483648~2147483647 整數long64-9223372036854775808~9223372036854775807 浮點數float32依據IEEE754標準 浮點數double64依據IEEE754標準 布林值boolean1true,flase 字元char16'\u0000'-'\uffff' 依資料所佔位元數的不同,整數有四種,浮點數有兩種,另外布林值與字元各一種。

一般來說,資料型態所佔據的位元數越多,可表示的數字範圍也越大。

字面常數(literal)也就是程式中直接寫出來的數值(value),以下表示布林值(Booleanvalue)、字元(character)、整數(integer)與浮點數(floating-pointnumber)的字面常數 boolean a = true; char b ='2'; int c = 2; double d = 2.0; 宣告布林型態的變數使用關鍵字(keyword)boolean,true為布林值的字面常數,表示邏輯上的真,布林型態的另一個字面常數為false,表示邏輯上的假。

字元型態則使用關鍵字char,由於Java直接支援Unicode編碼,因此任何Unicode字元都可以當作字元型態的的字面常數。

字元型態的字面常數為單引號圍起來的單一字元,或是單引號圍起來,反斜線加上四位的十六位元數字,例如 char e = '\u0061'; //小寫英文字母a char f = '\u0032'; //阿拉伯數字2 char g = '\u002E'; //英文句點. char h = '\u0025'; //百分比符號% 反斜線加上特定英文小寫字母表示跳脫字元,用來表示一些不可見字元,例如 char i = '\n'; // 新行符號 char j = '\t'; // tab 鍵 char k = '\a'; // 響鈴 char l = '\"'; // 雙引號 整數型態共有四種,一般來講,最常使用的是int型態,沒有特別指定的整數字面常數也會是int型態,而long型態又被稱為長整數,字面常數須加上英文字母L或l的字尾,如 long m = 220L; // 長整數 220 long n = 220l; // 長整數 220 浮點數型態有兩種,最常使用的是double型態,沒有特別指定的浮點數字面常數也會是double型態,若是需要使用float型態的浮點數,需要在字面常數加上F或f的字尾,如 float o = 22.0F; // 浮點數 22.0 float p = 22.0f; // 浮點數 22.0 除了以上八種基本資料型態之外,其餘的變數都是指向物件的參考,可以想像變數本身就是容器,基本資料型態所含的數值大小可以直接裝進變數之中,但是物件太大,塞不進變數裡頭,因此物件變數裡所裝的是對物件的連結,也就是參考。

例如Demo.java中 /* *檔名:Demo.java *作者:張凱慶 *網站:http://kaiching.org */ packagedemo; //宣告類別名稱 publicclassDemo{ //宣告main()方法 publicstaticvoidmain(String[]args){ //建立Object型態的物件 Objecto=newObject(); //於命令列印出訊息 System.out.println(); System.out.println(o.toString()); System.out.println("程式執行結束"); System.out.println(); } } 變數o為對Object型態物件的參考 Object o = new Object(); 建立物件須使用關鍵字new,以及物件的建構子(constructor)。

建構子類似物件的方法(method),用來專門建立物件之用。

一旦物件建立之後,物件就會包含許多屬性(field)與方法。

Object型態的物件為Java所有物件之母,這是說,Java中所有物件都繼承(inherit)自Object。

繼承(inheritance)是物件導向程式語言(object-orientedprogramminglanguage)中的一項重要特性,使類別(class)可以衍生自其他類別,子類別(subclass)可以擁有父類別(superclass)的特性。

繼承的英文原文為inherit,中文意思泛指從什麼得到什麼,生物學上的遺傳也是用這個詞。

由於Object型態為物件之母,因此Object型態的方法,也都會被Java中所有物件所繼承 回傳型態名稱功能 Objecto.clone()複製回傳o本身的拷貝 booleano.equals(Objectobj)判斷obj是否與o相同 voido.finalize()呼叫資源回收者檢查此物件是否應該被回收 Class>o.getClass()回傳類別名稱 into.hashCode()回傳物件的雜湊碼 voido.notify()喚醒等待中的單一執行緒(thread) voido.notifyAll()喚醒等待中的所有執行緒 Stringo.toString()回傳物件的字串表達形式 voido.wait()使o的執行緒進行等待 voido.wait(longtimeout)使o的執行緒進行等待 voido.wait(longtimeout,intnanos)使o的執行緒進行等待 有沒有看到,光是Object裡頭就有這麼多東東,所以變數裝的下對物件的參考,裝不了整個物件。

有一個特別的字面常數null,一旦物件的參考變數指向null,就表示參考變數失去對這個原本物件的連結,如果沒有其他的變數指向這個物件,這個物件就會被資源回收者(garbagecollector)進行資源回收,好挪出記憶體空間,給其他程式利用。

另有一個特別的物件,說是特別其實也是太常使用了,就是字串(string)。

程式中經常處理大量的字串工作,因此字串有專門的字面常數表示方法,也就是用雙引號圍起來的內容就是字串,例如 String q = "There is no spoon."; String r = "偷得浮生半日閒"; Demo.java中的o.toString(),就是回傳o的字串表達形式,也就是一個字串物件。

其他println()的參數都需要用到字串,我們直接提供字串的字面常數。

從a到r都是變數,變數取名有一定的規範,接下來,我們來看看變數命名規則吧! 相關教學影片 第二堂課基本資料型態與命名習慣:基本資料型態與參考⇨YouTube頁面連結 上一頁單元2-在NetBeans8.2建立專案並執行 回Java入門指南首頁 下一頁單元4-變數命名規則 回Java教材首頁 回程式語言教材首頁 中英文術語對照 Booleanvalue布林值 character字元 class類別 constructor建構子 field屬性 floating-pointnumber浮點數 garbagecollector資源回收者 inherit,inheritance繼承 integer整數 keyword關鍵字 literal字面常數 method方法 object物件 object-orientedprogramminglanguage物件導向程式語言 primitivedatatype基本資料型態 reference參考 string字串 subclass子類別 superclass父類別 value數值 variable變數 參考資料 1.TheJava™Tutorials:Variables 2.TheJava™Tutorials:PrimitiveDataTypes 重點整理 1.Java的資料型態分成兩大類型,基本資料型態與參考。

2.使用變數前要先宣告,宣告後的變數可以用等號用字面常數指派數值,或是用關鍵字new建立物件。

3.基本資料型態包括整數、浮點數、字元及布林,參考型態主要由類別定義。

4.整數依據範圍及正負號有四種。

5.浮點數依據範圍及精確度有兩種。

6.字元為16位元的整數。

7.布林型態只有true及false兩種值。

問題與討論 1.為什麼要把資料型態分成基本資料型態與參考? 2.為什麼整數要分成四種?浮點數要分成兩種? 3.什麼是物件之母?為什麼要有物件之母 4.字串跟字元有何不同? 練習 1.建立一個新專案Exercise0301,裡頭宣告建立int型態的變數a,並將a設定為1,繼續宣告建立String型態的變數b,將變數b設定為"2",繼續宣告建立double型態的變數c,將變數c設定為3.0,最後印出這三個變數。

2.建立一個新專案Exercise0302,裡頭建立一個變數a、b,分別指派true及false,然後印出來 3.建立一個新專案Exercise0303,用'*'印出一個三角形。



請為這篇文章評分?