《《語(yǔ)法基礎(chǔ)》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《語(yǔ)法基礎(chǔ)》PPT課件(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第五章 語(yǔ)法基礎(chǔ),數(shù)據(jù)類(lèi)型 常量 變量 運(yùn)算符 數(shù)組,數(shù)據(jù)類(lèi)型(1),一用于保存數(shù)字的幾種數(shù)字類(lèi)型 Interger16位整型 Long32位整型 Single32位單精度浮點(diǎn) Double64位雙精度浮點(diǎn) Currency64位精確定點(diǎn)(整數(shù)15位小數(shù)4位) Byte8位字節(jié)型,數(shù)據(jù)類(lèi)型(2),二用于進(jìn)行邏輯判斷的Boolean類(lèi)型 16位, 取值只有True和False 從其它數(shù)據(jù)類(lèi)型轉(zhuǎn)換為Boolean時(shí) 0轉(zhuǎn)成False, 其它值為T(mén)rue 從Boolean轉(zhuǎn)換為其它數(shù)據(jù)類(lèi)型時(shí) False轉(zhuǎn)成0, True為-1,數(shù)據(jù)類(lèi)型(3),三用于保存字符串的String類(lèi)型 雙引號(hào)括起 變長(zhǎng)St
2、ring,最多231個(gè)字符 如: Dim temp As string 定長(zhǎng)String, 最多216, 不足字符以空格填充 如: Dim temp As string * 100,數(shù)據(jù)類(lèi)型(4),四用于保存日期的Date類(lèi)型 64位, 識(shí)別多種日期格式, 除漢字日期以外 如: Dim birthday As Date birthday = #12/5/78# birthday = #1990-12-5 12:00:00 AM# birthday = #January 1, 1993# 取值范圍為:100年1月1日9999年12月31日,數(shù)據(jù)類(lèi)型(5),五用于保存對(duì)象引用的Object類(lèi)型
3、 32位, 保存對(duì)對(duì)象的引用(地址),只能用Set語(yǔ)句賦值 六. 萬(wàn)能的Variant類(lèi)型(變體型) Dim temp 幾種特殊取值: Empty值:在賦值前,Variant型變量具有該值。 Null值:空值,用于數(shù)據(jù)庫(kù),表示未知、尚未賦值的數(shù)據(jù)。不同于0、零長(zhǎng)度字符串。 Error值:指出運(yùn)行中的錯(cuò)誤狀態(tài)。,數(shù)據(jù)類(lèi)型(6),七自定義數(shù)據(jù)類(lèi)型 Type 自定義類(lèi)型名 元素名 As 數(shù)據(jù)類(lèi)型 元素名 As 數(shù)據(jù)類(lèi)型 元素名 As 數(shù)據(jù)類(lèi)型 . . . End Type 類(lèi)似于C語(yǔ)言中的結(jié)構(gòu)類(lèi)型,如: Type Student ID as long Name as string * 10 En
4、d Type Dim Stu1 As Student Stu1.Name = “zhang”,數(shù)據(jù)類(lèi)型(7),如:Public Enum Colors White Red Green End Enum Dim temp As Colors Temp = Green,Private|Public Enum 自定義類(lèi)型名 元素名 As 數(shù)據(jù)類(lèi)型 End Type,八自定義枚舉類(lèi)型,,Public|Private Const 常量名 = 表達(dá)式 如: Const conPi = 3.1415926,有兩類(lèi)常量: 用戶(hù)自定義常量 系統(tǒng)常量(以VB開(kāi)頭),比如回車(chē)換行符vbCrlf、vbRed、vbC
5、ancel等等,常量,,變量名稱(chēng) 如何聲明 使用 變量的作用域,變量,,一合法變量名 以中英文字符開(kāi)頭,可以包含英文字母、中文、數(shù)字、下劃線; 不能是系統(tǒng)已有的關(guān)鍵字,如Date、if、End; 不能超過(guò)255個(gè)字符; 在同一作用范圍區(qū)域中必須唯一,比如同一個(gè)事件過(guò)程中不能有兩個(gè)同名的變量。,變量的命名,Public|Private|Static Dim 變量名 As 類(lèi)型 如: * 局部變量Dim temp As Interger *模塊級(jí)變量Public temp As Interger 整個(gè)工程有效 (模塊聲明段中)Private temp As Interger 當(dāng)前窗體有效 *靜態(tài)變
6、量Static temp As Interger 退出過(guò)程不釋放,*** 隱式聲明就是不聲明而直接就使用一個(gè)變量 ***顯式聲明比隱式聲明更安全,Option Explicit語(yǔ)句強(qiáng)制要 求變量進(jìn)行顯式聲明(或通過(guò)菜單的選項(xiàng)對(duì)話框設(shè)定),變量的聲明,我們會(huì)強(qiáng)制要求先聲明后使用,即顯式聲明。原因: 變量不聲明而直接使用,這些未聲明的變量都是Variant類(lèi)型,當(dāng)需要指明數(shù)據(jù)為具體類(lèi)型形式時(shí)需要額外的處理,也缺乏必要的類(lèi)型檢測(cè); 在使用已有變量時(shí)可能會(huì)錯(cuò)誤地拼寫(xiě)了該變量,而系統(tǒng)會(huì)認(rèn)為它是隱式聲明的另一個(gè)變量,而檢查不出錯(cuò)誤;反之若采用顯式聲明方式,系統(tǒng)強(qiáng)制所有變量必須先聲明,在編譯時(shí)一旦發(fā)現(xiàn)使
7、用了未經(jīng)聲明的變量名(如寫(xiě)錯(cuò)),就會(huì)報(bào)告錯(cuò)誤。 在每個(gè)文件代碼的通用段(首行)增加一條設(shè)置語(yǔ)句: Option Explicit Dim MyVar聲明變量。 MyInt = 10未聲明變量產(chǎn)生錯(cuò)誤。 MyVar = 10聲明變量不產(chǎn)生錯(cuò)誤。,嚴(yán)格要求變量聲明,變量的簡(jiǎn)易聲明方式,VB還提供了一種簡(jiǎn)易的聲明方式,只要變量 名后帶有某個(gè)特定符號(hào),就代表該變量是某 種數(shù)據(jù)類(lèi)型,如Dim $StudentName 數(shù)據(jù)類(lèi)型聲明字符: Integer % Long & Single ! Double # String $,變量的作用域,全局變量:定義在BAS模塊中,使用public關(guān)鍵字,工程中所有文
8、件所有過(guò)程共享 如在common.bas中:Public stuNo As Long 模塊級(jí)變量:定義在BAS模塊、窗體或類(lèi)模塊中,使用Private或Dim關(guān)鍵字,整個(gè)模塊內(nèi)共享 如在frmMain.frm中:Dim stuNo as Long 局部變量:定義在一個(gè)過(guò)程內(nèi)部,僅限該過(guò)程使用,,賦值運(yùn)算符,frmMain.Width=300 給對(duì)象屬性賦值(數(shù)值) frmTest.Caption=“Hello”給對(duì)象屬性賦值(字符串) temp=temp+1 給普通變量賦值 flag1=true給普通變量賦值(布爾) orderDate = #2002-12-20# 給普通變量賦值(日期
9、) Dim a As Form Set a = New Form1給對(duì)象變量賦值 VB在進(jìn)行賦值運(yùn)算時(shí),會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,注釋語(yǔ)句,以下循環(huán)計(jì)算總成績(jī),VB中進(jìn)行運(yùn)算,一、算術(shù)運(yùn)算 + 加法 -減法 *乘法 /浮點(diǎn)數(shù)除法 整數(shù)除法 指數(shù)如 temp = 32 MOD求余數(shù) 二、比較運(yùn)算 = Like Is,,三、連接運(yùn)算 & 強(qiáng)制兩個(gè)表達(dá)式作字符串連接 + 如果有數(shù)字,則作相加運(yùn)算,否則作字符串連接 比較: ABA&BA+B “123”“3”“1233”“1233” 1233“1233”126 “123”3“1233”126 “123a”3“123a3”報(bào)錯(cuò),VB中進(jìn)行運(yùn)算,VB中進(jìn)行運(yùn)算,四、邏輯運(yùn)算 NOT非 OR或者 AND并且 XOR異或 EQV等價(jià) IMP蘊(yùn)含,***運(yùn)算的優(yōu)先順序*** 算術(shù)運(yùn)算 邏輯運(yùn)算 高 not -(負(fù))and * /or xor modeqv + -imp 低 &,,