基礎程式設計(3)-基本資料型態

在「命名規則」一節中,已經有簡單介紹什麼是資料型態,以及它為什麼會有範圍。大部份程式語言的基本資料型態(Basic Data Type)可以分成四類,分別是:整數、浮點數(小數)、文字、布林。這一節將詳細介紹所有基本的資料型態。

強調/鬆散型態

在開始說明資料型態之前,我們要先說一個關於寫作風格的差異。有一些程式語言它的變數”一定”要指定資料型態,而且一旦指定之後,就再也不能改變其資料型態。這種類型稱作強調型態(Strongly Typed)。另一種相反類型就是鬆散型態(Loosely Typed),不必事先”宣告”就可以直接使用,而且可以隨時改變資料型態。下面是二種類型程式語言的舉例參考,可以發現大部份鬆散型態的程式語言都是腳本語言

  • 強調型態:C、C++、Java、VB.NET
  • 鬆散型態:PHP、JavaScript、VBScript、Perl、MATLAB

整數資料型態(Intergral Types)

整數是指沒有小數點的數值。根據佔用記憶體的位元數,會有不同的儲存範圍。

C整數資料型態(根據編譯器及版本不同略有差異,在32位元的電腦中儲存範圍是下表的2倍,和C++相同)

資料型態 位元數 儲存範圍
(short) int 16 -2^15 ~ 2^15-1 (=32,767)
long int 32 -2^31 ~ 2^31-1 (=2,147,483,647)
unsigned int 16 0 ~ 2^16 (=65535)

C++整數資料型態(根據編譯器及版本不同略有差異)

資料型態 位元數 儲存範圍
short 16 -2^15 ~ 2^15-1 (=32,767)
int 32 -2^31 ~ 2^31-1 (=2,147,483,647)
long long 64 -2^63 ~ 2^63-1 (=9,223,372,036,854,775,807)
unsigned int 32 0 ~ 2^32-1 (=4,294,967,295)

Java整數資料型態

資料型態 位元數 儲存範圍
byte 8 -2^7 ~ 2^7-1 (=127)
short 16 -2^15 ~ 2^15-1 (=32,767)
int 32 -2^31 ~ 2^31-1 (=2,147,483,647)
long 64 -2^63 ~ 2^63-1 (=9,223,372,036,854,775,807)

VB.NET整數資料型態

資料型態 位元數 儲存範圍
Sbyte 8 -2^7 ~ 2^7-1 (=127)
Short 16 -2^15 ~ 2^15-1 (=32,767)
Integer 32 -2^31 ~ 2^31-1 (=2,147,483,647)
Long 64 -2^63 ~ 2^63-1 (=9,223,372,036,854,775,807)
Byte 8 0 ~ 2^8-1 (=255)
UShort 16 0 ~ 2^16 (=65535)
UInteger 32 0 ~ 2^32-1 (=4,294,967,295)
Ulong 64 0 ~ 2^64-1

浮點數資料型態(Floating Point Types)

浮點數就是指小數,電腦在表示小數時通常是採用科學標記法,即是整數部份只有個位數,其餘數值都放在小數點後面,再把小數點移動的位數用E或e表示(以10為底的e)。例如100.24=1.0024E+2,E+2表示小數點向右移2位後才是原來的數值;0.001425=1.425E-3,E-3表示小數點向左移3位後才是原來的數值。

C / C++ / Java 浮點數資料型態

資料型態 位元數 儲存範圍
float 32 3.4E-38~3.4E+38
double 64 1.7E-308~1.7E+308

VB.NET浮點數資料型態

資料型態 位元數 儲存範圍
Single 32 3.4E-38~3.4E+38
Double 64 1.7E-308~1.7E+308

文字資料型態(Char Type)

文字又有分成字元(Character)和字串(String),字元是指單一個ASCII/Unicode的字母,字串則是由二個以上的字元組成。不同程式語言的文字基本資料型態會不同,在物件導向程式設計中常把字串視為一個物件,而不屬於基本資料型態(詳細說明請參閱後面章節)。

C / C++字元資料型態

資料型態 位元數 儲存範圍
char 8 ASCII

Java字元資料型態

資料型態 位元數 儲存範圍
char 16 Unicode

VB.NET字元資料型態

資料型態 位元數 儲存範圍
Char 16 Unicode

布林資料型態(Boolean Type)

布林是一種用來進行邏輯運算的值,只有 true(真) 和 false(假) 兩個值。有一些程式語言沒有布林型態(例如C語言),但是可以使用數值表示。程式設計常運用布林值來控制流程;關於布林的運算方式請參閱運算子一節。

各種程式語言布林型態的保留字:

宣告 程式語言 TRUE FALSE
bool C++ true false
boolean Java true false
Boolean VB.NET True False

數值與布林含意對照表:

程式語言 true false
C / C++ 1 / 非0
VB.NET -1 / 非0

關連文章:基礎程式設計(2)-命名規則基礎程式設計(4)-變數宣告