Java 入門指南- 單元3 - 基本資料型態與參考 - 程式語言教學誌
文章推薦指數: 80 %
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,用'*'印出一個三角形。
延伸文章資訊
- 1Introduction to Java Primitives | Baeldung
The eight primitives defined in Java are int, byte, short, long, float, double, boolean, and char...
- 2Primitive Data Type - PsMonkey 隨手筆記
在Java 當中內建好的資料型態(primitive data type)有下列幾種: ... 既然每種不同資料型態有不同的範圍,而Java 又是一種Strong Type 的語言,所以下面這個...
- 3Java 基本資料型類別(primitive type)和外包類別(wrapper classes)
基本資料型類別(primitive type),又稱為工具類別,例如char, int等,和外包類別(wrapper classes) Character, Integer是有分別的。 錯誤示範:
- 4[Java] 4-1 Primitive data type基本資料型態 - 給你魚竿
Java內有8大基本資料型態Primitive data type 相較於其他物件使用基本資料型態就是非常快以下就介紹如下: 1. 官網https://docs.oracle.com/javas.
- 5Java Data Types - W3Schools
A primitive data type specifies the size and type of variable values, and it has no additional me...