- Visual Basic 開發從入門到精通
- 陳強
- 2741字
- 2019-01-05 00:46:43
2.3 使用變量
知識點講解:光盤:視頻\PPT講解(知識點)\第2章\使用變量.mp4
變量是指在程序執行的過程中其值可以改變的量。每一個變量會在計算機內存中占據一個存儲單元,不同類型的變量在內存中占有的空間也不相同。在本節的內容中,將詳細講解Visual Basic 6.0變量的基本知識。
2.3.1 變量的命名規則
在Visual Basic中命名變量時需要遵循一定的規則,規則的具體說明如下所示。
? 必須是以字母開頭。
? 變量名最長為255個字符。
? 大小寫字母同等對待,不區分大小寫。
? 在同一個范圍內變量名必須是唯一的。
? 不能使用系統保留字。
微軟建議的Visual Basic 6.0變量命名規則是:以小寫字母開頭,第一個單詞后的每一個單詞都以大寫字母開頭,其他字母小寫。例如,myName和name。
2.3.2 聲明變量
聲明一個變量即事先將變量的有關信息通知程序,以便系統可以確定變量的存儲格式。在大多數的高級編程語言中,使用變量時必須遵循“先聲明,后使用”的原則。但是在VB中,變量在使用時不一定要“先聲明,后使用”,它有顯式聲明、隱式聲明之分。
1.隱式聲明
即不聲明而直接使用,變量以Variant類型處理。另外,通常在變量名后加特定的后綴字符,通過后綴字符來隱式說明變量的類型。一般后綴字符和變量聲明的關系如下所示。
? 后綴字符為“%”時,隱含表示變量類型為整型。
? 后綴字符為“&”時,隱含表示變量類型為長整型。
? 后綴字符為“! ”時,隱含表示變量類型為單精度浮點型。
? 后綴字符為“#”時,隱含表示變量類型為雙精度浮點型。
? 后綴字符為“$”時,隱含表示變量類型為字符串型。
2.顯式聲明
顯式聲明的語法格式如下所示。
[關鍵字] 變量名 [AS 類型]
其中,Visual Basic 6.0各變量聲明“關鍵字”的具體說明如下所示。
? Dim:設置在窗體模塊、標準模塊或過程中聲明變量。
? Private:設置在窗體模塊或過程中聲明變量,使此變量僅在該模塊中有效。
? Static:設置在過程中聲明靜態變量,即使此過程結束,也仍然保留此變量的值。
? Public:設置在標準模塊中聲明全局變量,使此變量在整個應用程序中都能使用。
看下面的代碼:
dim temp as integer temp=2 a=4
上面的代碼分別顯式聲明了變量temp和隱式聲明了變量a。
為了保證Visual Basic 6.0項目程序的健壯性,建議讀者采用強制變量聲明。在具體聲明時,可以使用“Option Explicit”語句來設置項目強制顯式聲明。聲明后一旦項目內有未聲明的變量,則會彈出對應的錯誤提示。
在編寫代碼時,可以將“Option Explicit”語句加入到項目文件的聲明段中,也可以通過如下流程來強制設置。
(1)依次單擊Visual Basic 6.0菜單欄中的【工具】|【選項】,彈出“選項”對話框,如圖2-1所示。

圖2-1 “選項”對話框
(2)選擇“編輯器”選項卡,勾選“要求變量聲明”前的復選框,如圖2-2所示。

圖2-2 “編輯器”選項卡界面
經過上述流程設置后,用Visual Basic 6.0編寫出的項目程序必須強制聲明,否則將會出錯。例如,下面的代碼就是使用了強制聲明語句。
option explicit sub form_click() dim a as integer dim b as integer a=4 b=5 end sub
2.3.3 變量的數據類型
Visual Basic的標準數據類型有數值型、字符型、邏輯型、日期型、對象型和變體數據類型共6種,這6種標準類型的具體說明如下所示。
1.數值(Numeric)數據類型
數值數據類型有整型、浮點型、貨幣型和字節型4種,具體說明如下所示。
(1)整型。
整型是指不帶小數點和指數符號的數,整型運算速度快、精確,但表示數的范圍小。整型有整型和長整型兩種。
? 整型(Integer):存儲長度為2個字節(16位),數的表示范圍是-32768~+32767。
? 長整型(Long):存儲長度為4個字節(32位),數的表示范圍是-2147483648~2147483647。
(2)浮點型。
浮點型由符號、尾數(Q)以及指數(J)3部分組成。指數分別用“E”表示單精度、“D”表示雙精度。浮點數的符號均占1位。浮點數有單精度浮點數和雙精度浮點數兩種。
? 單精度浮點數(Single):以4字節形式存儲(32位),可以精確到7位十進制數。單精度數的負數的范圍是-3.402823E+38~-1.401298E-45;正數的范圍是+10401298E-45~+3.402823E+38。
? 雙精度浮點數(Double):以8字節形式存儲(64位),可以精確到15~16位十進制數。雙精度數的負數的范圍是-1.797693134862315D+308~-.9406564584112465D-324;正數的范圍是+4.940656458412465D-324~+1.797693134862315D+308。
注意:浮點數表示的數的范圍大,但有誤差,在做浮點數的運算時,應盡量使每一次運算的結果都在有效位數范圍內;盡量不要使兩個相差很大的數值直接相加或相減。
(3)貨幣型。
貨幣型數(Currency)是定點數,在內存中存儲為64位(8個字節)整型的數值形式,其小數點左邊有15位數字,右邊有4位數字。取值范圍是-922,337,203,685,477.5808~922, 337,203,685,477.5807。Currency數據類型通常被用于貨幣計算與定點計算領域中。
(4)字節型。
字節型數(Byte)是二進制數。其存儲為單精度型、無符號整型、8位(1個字節)的數值形式,取值范圍在0~255。
Byte數據類型在存儲二進制數據時很有用。
2.字符(String)數據類型
字符數據類型用于存放字符數據,所謂字符型數據就是用雙引號括住的字符串,例如“Abcde”和“Visual Basic歡迎你!”等。在字符串中每個字符占1個字節,字符數據的范圍以字符串長度的大小來度量。
Visual Basic有兩種字符串,分別是變長字符串和定長字符串。
(1)變長字符串。
變長字符串所占的空間大小為10個字節加字符串,最多可包含大約20億個字符。變長字符串的定義格式如下。
關鍵字 變量名AS String
(2)定長字符串。
定長字符串所占字節就是字符串的長度,可包含1~216個字符。定長字符串的定義格式如下。
關鍵字 變量名AS String*字符串長度
3.邏輯(Boolean)數據類型
邏輯數據類型變量主要用來進行邏輯判斷,它的存儲位數是16位。邏輯(Boolean)數據類型數據只有兩個值,分別是True(真)或False(假)。
在Visual Basic中,邏輯數據可以轉換成整型數據。這時,True轉換為-1, False轉換為0;而當其他類型的數據轉換成邏輯數據時,非零數轉換成True,0轉換為False。
4.日期(Date)數據類型
日期數據類型用于表示和存儲日期和時間的數據,它是按8個字節的浮點數存儲。任何字面上可被認作日期和時間的字符(除漢字外),只要用磅號(#)括起來都可以認作為日期型數據。例如,#1 Jan,97#、#January 1,1999# 格式都可以看作為日期類型。
日期表示的范圍是公元100年1月1日~9999年12月31日;時間表示的范圍是:從0:00:00~23:59:59。
注意:當其他數據轉換成日期型數據時,小數點左邊的數值代表日期,而小數點右邊的數值代表時間:0為午夜12點,0.5為中午12點;負數代表的是1899年12月31日之前的日期和時間。
5.對象(Object)數據類型
對象數據類型:存儲為32位(4個字節)的數值形式,作為對象的引用。利用Set語句,聲明為Object的變量可以賦值為任何對象的引用。例如下面的代碼。
Sub form_click() Dim Temp AS Object Set Temp =form1 End Sub
6.變體(Variant)數據類型
變體數據類型也稱為萬用數據類型,這是一種特殊的數據類型,它所需類型可以根據上下文的變化而變化。除了定長的String數據及用戶定義的類型之外,可以處理任何類型的數據而不必進行數據類型的轉換。它是對所有未定義的變量的默認數據類型的定義。
Variant類型的數據可以根據運算的實際情況而“變體”, Visual Basic提供了一個函數VarType專門用來檢測Variant中保存的數據類型,例如:VarType(123)的返回值為2,表示為整型。
VarType函數的返回值與數據類型的關系如表2-2所示。
表2-2 VarType函數數據類型檢測

- Google Flutter Mobile Development Quick Start Guide
- C語言程序設計習題解析與上機指導(第4版)
- Practical Game Design
- Expert Android Programming
- Kinect for Windows SDK Programming Guide
- Building Minecraft Server Modifications
- 人人都懂設計模式:從生活中領悟設計模式(Python實現)
- Hands-On Swift 5 Microservices Development
- 網站構建技術
- Building RESTful Python Web Services
- 數據結構習題解析與實驗指導
- 高性能MVVM框架的設計與實現:San
- Learning Rust
- A/B 測試:創新始于試驗
- Learning HTML5 by Creating Fun Games