15-3.1基本資料型態
資料型態 |
宣告字元 |
儲存空間 |
有效範圍 |
正整數(Byte) |
|
1Byte |
0~28-1=0~255 |
短整數(Short) |
|
2Bytes |
-215~215-1=-32768~32767 |
整數(Integer) |
% |
4Bytes |
-231~231-1 |
長整數(Long) |
& |
8Bytes |
-263~263-1 |
單精度浮點數(Single) |
! |
4Bytes |
正數1.4E-45~3.4E+38 負數-3.4E+38~-1.4E-45 有效位數為7位 |
倍精度浮點數(Double) |
# |
8Bytes |
正數4.94E-324~1.79E+308 負數-1.79E+308~-4.94E-324 有效位數為15位 |
字元(Char) |
|
2Bytes |
|
字串(String) |
$ |
每字元2Bytes |
0~231個字元(視記憶體而定) |
日期/時間(Date) |
|
8Bytes |
西元 |
布林(Boolean) |
|
2Bytes |
True或False |
物件(Object) |
|
4Bytes |
任何物件型態資料 |
可變資料型態(Variant) |
|
16Bytes以上 |
變數未宣告,即預設為可變資料型態 |
15-3.2常數
意義 |
值不會隨程式處理過程而變動。 若重新指定其他值,會產生「常數不可以當做指派的目標」錯誤訊息。 |
|
用法 |
Const 常數名稱 [As 資料型態] = 設定值 |
|
類別 |
整數常數 |
1.不含小數點的數值,有正整數、負整數、零,不可有千分號。 2.十進位:不加前導字元。 3.八進位:前導字元為「&O」或「&」,&O456=(456)8。 4.十六進位:前導字元為「&H」,&H 5.使用Debug.Print輸出,則輸出十進位數。 |
實數常數 |
1.定點數:含小數點的數值。 2.浮點數:以指數形式表示,1.23E+9=1.23×109。 |
|
字串常數 |
1.字串資料前後加雙引號「"」,"程式語言"。 2.「""」為空字串,「" "」為一個空格的字串。 |
|
日期常數 |
1.日期資料前後加「#」,年、月、日之間以「/」分隔。 2.格式為「#yyyy/mm/dd#」,# |
|
時間常數 |
1.時間資料前後加「#」,時、分、秒之間以「:」分隔。 2.格式為「#時:分:秒 AM/PM#」,#11:22:33 AM#。 |
|
布林常數 |
1.條件成立為「True」,條件不成立為「False」。 2.轉為數值:True→-1,False→0。 |
15-3.3變數
意義 |
值會因程式執行而變動。 |
用法 |
Dim 變數1 [As 資料型態][, 變數2 [As 資料型態]…][ = 初始值] |
初值 |
數值變數為0,字串變數為空字串(NULL),物件變數為空字串(NULL),日期變數為#12:00:00 AM#,布林變數為False。 |
宣告 |
1.未宣告的變無法使用,除非設定Option Explicit Off。 2.區域變數:在Private Sub程序內變數宣告,只在此程序內使用。 3.公用變數:在Public Sub程序內變數宣告,Public內的所有程序都可使用。 |
物件變數 |
1.變數不宣告或不指定資料型態,預設為物件型態(Object)。 2.物件變數的資料型態,為設定時的資料型態。 3.Dim A, B As Integer:變數A與B皆為整數。 |
奇進偶捨 |
當變數宣告為整數或長整數型態,若設定值含有小數,則四捨六入取整數值,若小數為.5,採奇進偶捨。 |
有效位數 |
Single(單精度變數)有效位數為7位數,Double(倍精度變數)有效位數為15位數,超過範圍以科學記號方式(12345678.9=1.234568E+07)表示。 |
命名規則 |
1.使用字元可為英文字母、數字、底線或中文字,但開頭第一個字元必須使用英文字母。 2.英文字母大小寫視為相同。 3.不可使用系統保留字。 4.在同一個程序內不能有重複的變數名稱。 5.不可超過1023個字元。 |
15-3.4運算式、運算元、運算子
15-3.4.1運算式的結構
運算式 |
Sum = 50 + 30 |
運算元(Operand) |
Sum、50、30 |
運算子(Operator) |
=、+ |
15-3.4.2運算符號的優先順序
算術運算> |
串接運算> |
關係運算> |
邏輯運算 |
1. ( ) 括號 2. ^ 乘冪 3. - 負號 4. * / 乘 除 5. \ 整數除法 6. MOD 除法餘數 7. + - 加 減 |
& 可串接不同資料型態 + 只能串接相同資料型態。若串接數值資料與純數字字串,則將純數字字串轉為數值資料,再做數值運算。 |
8. = 等於 8. <> 不等於 8. < 小於 8. <= 小於等於 8. > 大於 8. >= 大於等於 |
9. NOT 反 10. AND 及 11. OR 或 12. XOR 互斥或 13. EQV 相等 14. IMP 包含 |
說明: 1.同等級的運算符號並列時,自左而右依序執行。 2.要改變執行的優先次序時,可使用括號配合。 3.整數除法在運算前,先四捨六入取整數,再進行運算;若小數為.5,採奇進偶捨。 4.除法餘數:可用小數表示。 5.ASCII碼順序:空白<0<9<A<Z<a<z<中文字 |
15-3.4.3指派運算
名稱 |
符號 |
範例 |
相同運算式 |
指派 |
= |
X=2 |
無 |
相加指派 |
+= |
X+=2 |
X=X+2 |
相減指派 |
-= |
X-=2 |
X=X-2 |
相乘指派 |
*= |
X*=2 |
X=X*2 |
相除指派 |
/= |
X/=2 |
X=X/2 |
整除指派 |
\= |
X\=2 |
X=X\2 |
次方指派 |
^= |
X^=2 |
X=X^2 |
串接指派 |
&= |
X&="ABC" |
X=X & "ABC" |
15-3.4.4邏輯運算真值表
A |
B |
not A |
A and B |
A or B |
A xor B |
A eqv B |
A imp B |
F |
F |
T |
F |
F |
F |
T |
T |
F |
T |
T |
F |
T |
T |
F |
T |
T |
F |
F |
F |
T |
T |
F |
F |
T |
T |
F |
T |
T |
F |
T |
T |
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。