《第5章变数常数与资料型态我的主控台程式ppt课件》由会员分享,可在线阅读,更多相关《第5章变数常数与资料型态我的主控台程式ppt课件(56页珍藏版)》请在金锄头文库上搜索。
1、第第5章章 變數、常數與資料型態變數、常數與資料型態我的主控台程式我的主控台程式結束Contents5-1 Visual Basic語言的寫作風格5-2 變數與資料型態的基礎5-3 變數的命名與宣告5-4 符號常數的运用5-5 資料型態結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -程式敘述程式敘述程式敘述程式敘述 StatementsStatements Visual Basic程式碼是由程式敘述組成,一列程式敘述好像英文的一個句子,內含多個運算式、運算子或關鍵字,如下所示:Dim balance As Int
2、eger = 5000interest = balance * ratelblOutput.Text = 第一個Visual Basic應用程式每一列程式碼可以运用半形冒號:來分隔多列程式敘述,如下所示: balance = 10000: rate = 0.04: interest = balance * rate結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -程式區塊程式區塊程式區塊程式區塊 BlocksBlocks 程式區塊是由多個程式敘述組成,它是位在Sub/End Sub、Function/End Fun
3、ction和If/End If等擁有End關鍵字間的程式碼,如下所示:Private Sub Button1_Click() _ Handles Button1.Click End Sub結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -EndEnd程式敘述結束程式程式敘述結束程式程式敘述結束程式程式敘述結束程式Visual Basic應用程式的進入點是主程式Main()或啟動的表單物件,假设运用程式碼結束Visual Basic程式,可以运用End程式敘述,當程式執行到此程式敘述,就馬上結束應用程式執行,如下所示
4、:Private Sub Button2_Click(ByVal sender _ As System.Object, _ ByVal e As System.EventArgs) _ Handles Button2.Click EndEnd Sub結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -程式註解程式註解程式註解程式註解 CommentsComments 程式註解是程式設計上很重要的部分,良好註解不但能夠容易了解程式目的,在維護上也可以提供更多資訊。Visual Basic程式註解是以REM指令或符號開始
5、的列,或程式列此符號後內容,如下所示:REM 變數的宣告 第一個Visual Basic程式Dim size1,size2 As Integer 變數的宣告結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -太長的程式碼太長的程式碼太長的程式碼太長的程式碼Visual Basic程式碼假设太長,基於程式編排的需求,我們可以將程式碼分為兩列,即在第1列程式碼最後加上_符號,如下所示:Dim size1,size2,size3,size4,size5 _ ,size6,size7,size8,size9 As Integ
6、er結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -列印和顯示的符號常數列印和顯示的符號常數列印和顯示的符號常數列印和顯示的符號常數( (說說說說明明明明) )Visual Basic依然援助舊版VB6列印和顯示的符號常數,這些符號常數屬於輸出時的一些控制字元,程式碼假设在輸出字串時需求換行,在字串最後可以加上vbNewLine或vbCrLf符號常數,如下所示:lblOutput.Text = 輸入的字串: & str & _ vbNewLine上述程式碼會換行是因為在最後运用&字串連接運算子加上vbNewLin
7、e符號常數,所以輸出內容就會換行。結束5-1 Visual Basic5-1 Visual Basic語言的寫作風格語言的寫作風格語言的寫作風格語言的寫作風格- -列印和顯示的符號常數列印和顯示的符號常數列印和顯示的符號常數列印和顯示的符號常數( (常用常數常用常數常用常數常用常數) )在Visual Basic提供對應功能的ControlChars列舉常數,如下表所示:結束5-2 變數與資料型態的基礎變數與資料型態的基礎-圖例圖例在程式語言的變數Variables可以視為是一個擁有名稱的盒子,能夠暫時儲存程式執行時所需的資料,如下圖所示:結束5-2 變數與資料型態的基礎變數與資料型態的基礎-
8、說說明明1方形和圓柱形的兩個盒子名稱分別是變數名稱name和height,在盒子中儲存的資料VB程式和100稱為字面值Literals或稱為常數值Constants,也就是數值、字元或字串等值,如下所示:10015.3Visual Basic程式結束5-2 變數與資料型態的基礎變數與資料型態的基礎-說說明明2現在回到盒子本身,盒子形狀和尺寸決定儲存資料,對比程式語言來說,形狀和尺寸就是變數的資料型態Data Types。資料型態可以決定變數能夠儲存什麼值?它可以是數值、字元或字串等資料,當變數指定資料型態後,就表示只能儲存這種型態資料,好像圓形盒子放不進一样直徑的方形物品,只能放進方形盒子中。
9、結束5-3 變數的命名與宣告變數的命名與宣告5-3-1 Visual Basic的命名規則5-3-2 變數的宣告5-3-3 指定敘述5-3-4 Option指令敘述結束5-3 變數的命名與宣告變數的命名與宣告對於高階程式語言來說,程式是由資料Data和指令Instructions組成,如下所示:資料部分:本章變數Variables和資料型態Data Types。指令部分:第6章的運算子、第7和8章的流程控制Control Structures和第9章的副程序Subroutines。結束5-3-1 Visual Basic的命名規則的命名規則-說說明明在程式碼除了程式語言的關鍵字Keywords
10、,或稱保管字外,大部分都屬於程式設計者自訂的元素名稱,稱為識別字Identifier,例如:變數、程序、函數和物件名稱等。結束5-3-1 Visual Basic的命名規則的命名規則-命名規則命名規則程式設計者替元素命名時,需遵照程式語言的語法。元素命名非常重要,因為一個好名稱好像程式註解,可讓程式更容易了解。Visual Basic語言命名原則,如下所示:識別字不可运用Visual Basic關鍵字或系統物件名稱。名稱必須是英文字母或底線_開頭,假设以底線開頭,至少需求再加上一個其他英文字母或數字。名稱長度不可超過16383個字元,不區分英文字母大小寫,abc和ABC代表同一個名稱。名稱中間
11、不能有句點.、運算子例如:+-*/等或空白,只能是英文字母、數字和底線。在宣告的有效範圍內必須独一,有效範圍的說明請參閱第9章的程序和函數。結束5-3-1 Visual Basic的命名規則的命名規則-命名範例命名範例一些Visual Basic元素名稱的範例,如下所示:def, no_123, size1, _123, _abc 合法名稱Car, count, height, s1, s2 合法名稱_ , 123abc 不合法名稱,以底線或數字開頭結束5-3-1 Visual Basic5-3-1 Visual Basic的命名規則的命名規則的命名規則的命名規則-Visual Basic-V
12、isual Basic關鍵字關鍵字關鍵字關鍵字結束5-3-1 Visual Basic5-3-1 Visual Basic的命名規則的命名規則的命名規則的命名規則- -慣用的命名法慣用的命名法慣用的命名法慣用的命名法(1)(1)假设想維持程式碼的可讀和一致性,Visual Basic變數的命名可以运用一些慣用命名原則。例如:匈牙利命名法是將變數的前3個字元視為資料型態,依不同資料型態加上字首字串,如下表所示:結束5-3-1 Visual Basic5-3-1 Visual Basic的命名規則的命名規則的命名規則的命名規則- -慣用的命名法慣用的命名法慣用的命名法慣用的命名法(2)(2)Cam
13、elCasing命名法是第1個英文字小寫之後為大寫,變數、程序/函數命名可运用不同英文字母大小寫組合,如下表所示:結束5-3-2 變數的宣告變數的宣告-說說明明程式語言的變數是儲存程式執行中的一些暫存資料,程式設計者只需运用變數名稱就可以存取記憶體位址的資料。簡單的說,它就是运用有意義名稱來代表數字的位址。結束5-3-2 變數的宣告變數的宣告-變數的屬性變數的屬性程式的變數擁有一些屬性,可用來描画變數的組成元素,如下表所示:結束5-3-2 變數的宣告變數的宣告-變數的宣告變數的宣告Visual Basic變數是运用Dim關鍵字進行宣告,如下所示:Dim size上述程式碼宣告變數size,因為
14、沒有指定資料型態,預設的資料型態是Object,可儲存各種資料型態的值。假设宣告變數有指定資料型態,需求运用As關鍵字來宣告變數資料型態,如下所示:Dim height, width As Integer假好像一列的2個變數屬於不同資料型態,也可以分別宣告其資料型態,如下所示:Dim name As String, depth As Integer結束5-3-2 變數的宣告變數的宣告-變數的初變數的初值值假设需求,在宣告變數時可以同時指定初值,如下所示:Dim name As String, depth = 100Dim title As String = Visual Basic程式上述程式
15、碼宣告字串變數name和title,並且指定字串變數title初值。變數depth沒有指定型態;但指定初值100,在Visual Basic 2019的預設型態是Object;2019則會自動以初值來指定資料型態為整數。結束5-3-2 變數的宣告變數的宣告-Visual Basic專案專案Visual Basic專案:Ch5-3-2我的主控台程式在Windows應用程式宣告變數和指定變數初值,最後在Label標籤控制項顯示變數值。其執行結果如下圖所示:結束5-3-3 指定敘述指定敘述-範例範例在Visual Basic程式宣告變數後,就可以运用指定敘述來指定變數值,也就是=等號運算子,如下所示
16、:Dim depth, height, width As IntegerDim name As Stringheight = 35width = 57name = 陳會安上述程式碼在宣告整數和字串型態的變數後,运用指定敘述來指定變數值。結束5-3-3 指定敘述指定敘述-圖例圖例在指定敘述=等號左邊的變數稱為左值Lvalue,指的是變數位址Address屬性,假设變數在等號右邊稱為右值Rvalue,即變數的值Value屬性。目前變數的記憶體圖例,如下圖所示:結束5-3-3 指定敘述指定敘述-圖例圖例說說明明變數depth只需宣告沒有指定初值,其初值是0。變數height和width分別运用指定敘
17、述指定為35和57,在指定敘述等號右邊的35和57稱為字面值Literals。假设指定敘述的右邊是變數,如下所示:depth = height上述程式碼在等號左邊的變數depth是左值,获得的是位址,右邊變數height是右值,即取出變數值,所以指定敘述是將變數height的值存入變數depth的記憶體位址,即1008。換句話說,就是更改變數depth的值成為變數height的值,即35。結束5-3-3 指定敘述指定敘述-Visual Basic專案專案Visual Basic專案:Ch5-3-3我的主控台程式在Windows應用程式宣告變數,和运用指定敘述來指定變數值,最後在TextBox唯
18、讀多行文字方塊控制項顯示變數值。其執行結果如下圖所示:結束5-3-4 Option指令敘述指令敘述-1Option關鍵字可設定編譯器參數,決定編譯時能否檢查變數的資料型態,如下所示:Option Explicit:設定程式變數能否一定需求事先宣告,Off表示不用宣告;強迫宣告需設為On,此為VBE的預設值,如下所示:Option Explicit OnOption Strict:指定程式能否运用嚴格的型態檢查,例如:當執行型態轉換時進行嚴格檢查,預設值Off表示不嚴格檢查。假设需求嚴格檢查,請設為On,如下所示:Option Strict Off結束5-3-4 Option指令敘述指令敘述-2
19、Option Compare:指定字串比較方式是运用二進位或文字比較,可以是Binary預設值或Text,如下所示:Option Compare BinaryOption Infer:假设指定Option Explicit Off設定程式變數不需事先宣告時,我們可以再指定Option Infer為On預設值,讓Visual Basic編譯器依變數第1次指定的值來自動決定最正确的資料型態;值假设為Off,此時的資料型態為Object,如下所示:Option Explicit OffOption Infer On結束5-3-4 Option指令敘述指令敘述-Visual Basic專案專案Visu
20、al Basic專案:Ch5-3-4我的主控台程式在VBE專案的Windows應用程式指定Option Explicit設為Off,和Option Infer為On後,就不用先宣告變數,即可隨時在程式碼中运用變數,這是讓Visual Basic編譯器自動決定最正确的資料型態。其執行結果如下圖所示:結束5-3-4 Option5-3-4 Option指令敘述指令敘述指令敘述指令敘述-Visual Basic-Visual Basic專案屬性專案屬性專案屬性專案屬性結束5-4 符號常數的运用符號常數的运用5-4-1 符號常數的运用5-4-2 列舉資料型態結束5-4 符號常數的运用符號常數的运用 符
21、 號 常 數 Symbolic Constants或 Named Constants是在程式碼运用名稱來取代數字或字串字面值,與其將符號常數視為變數,不如說它是名稱轉換,將一些字面值运用有意義的名稱來取代。在Visual Basic語言可以运用內建符號常數、自訂符號常數和运用列舉資料型態來建立常數。結束5-4-1 符號常數的运用符號常數的运用-說說明明Visual Basic語言本身就擁有一些內建符號常數,例如:vbTab、vbNewLine等,不過运用者可以自行运用Const關鍵字建立符號常數,請留意!符號常數在宣告時一定需求指定其字面值,如下所示:Const MAX_WIDTH = 150
22、Const PI = 3.1415926上述程式碼建立符號常數,MAX_WIDTH常數值為150;圓周率常數PI的值為3.1415926。結束5-4-1 符號常數的运用符號常數的运用-Visual Basic專案專案Visual Basic專案:Ch5-4-1我的主控台程式在Windows應用程式宣告符號常數,並且在運算式运用符號常數來計算圓面積。其執行結果如下圖所示:結束5-4-2 列舉資料型態列舉資料型態-範例範例好像符號常數是运用名稱來取代固定數值,列舉常數Enumerations是运用一組名稱取代一組整數資料型態的數值。它是运用Enum/End Enum程式敘述進行宣告,如下所示:En
23、um Color As Integer White = 1 Red Blue = 5 Green Black = GreenEnd Enum結束5-4-2 列舉資料型態列舉資料型態-範例範例說說明明White、Red、Blue、Green和Black是列舉常數的成員Members,可以运用指定敘述來指定其值。以此例White為1,Red沒有指定,預設是前一個值加1,即2,Blue指定成5,Green為5+1,即6,Black指定成Green,表示和Green擁有一样值6。假设Color列舉常數沒有指定初值,第1個常數的值預設從0開始,依序為0、1、23.。在Visual Basic程式获得列舉
24、常數是运用.運算子,如下所示:txtOutput.Text = 颜色值: & Color.White & _ vbNewLine結束5-4-2 列舉資料型態列舉資料型態-Visual Basic專案專案Visual Basic專案:Ch5-4-2我的主控台程式在Windows應用程式宣告列舉常數Color,然後顯示各列舉常數成員的對應值。其執行結果如下圖所示:結束5-5 資料型態資料型態5-5-1 整數資料型態5-5-2 浮點數資料型態5-5-3 布林資料型態5-5-4 字元與字串資料型態5-5-5 日期/時間資料型態5-5-6 Object資料型態結束5-5 資料型態資料型態Visual B
25、asic 2019語言的資料型態是指變數的記憶體位址儲存的資料種類,Visual Basic資料型態可以分為數值型態Value Types和參考型態Reference Types兩種資料型態,如下所示:數值型態:變數值儲存的是字面值,它是記憶體儲存的內容。Visual Basic語言提供Byte、Short、Integer、Long、Single、Double、Char和Boolean等根本資料型態Primitive Types。參考型態:變數值並不是記憶體內容,而是記憶體位址。例如:Module、Class、String和Array陣列等,在第10章說明陣列Array;附錄A說明Class。
26、結束5-5-1 整數資料型態整數資料型態-整數資料型態整數資料型態整數資料型態Integral Types是指變數儲存的資料是整數沒有小數點,如下表所示:結束5-5-1 整數資料型態整數資料型態-整數字面整數字面值值在程式碼假设直接运用整數字面值Integral Literals,包含0、正整數和負整數都可以运用十進位、八進位和十六進位來表示,其預設型態是Integer,假设太長是Long型態。整數字面值以&O開頭且每個位數的值為07整數時,表示是八進位;&H開頭的數值,位數值為09或AF是十六進位。一些整數字面值的範例,如下表所示:結束5-5-1 整數資料型態整數資料型態-型態字元型態字元假
27、设想指定整數字面值的資料型態,可以在整數字面值後加上型態字元Type Characters,如下表所示:結束5-5-2 浮點數資料型態浮點數資料型態-浮點數資料型態浮點數資料型態浮點數資料型態Floating Point Types是指數值是整數再加上小數,例如:3.1415、102.567等,如下表所示:結束5-5-2 浮點數資料型態浮點數資料型態-浮點數字面浮點數字面值值浮點數字面值Floating Point Literals預設是Double型態,可以运用E符號代表10為底的指數。一些浮點數字面值的範例,如下表所示:結束5-5-2 浮點數資料型態浮點數資料型態-字尾型態字元字尾型態字元
28、浮點數字面值假设需求指定运用的資料型態,同樣是运用字尾型態字元,如下表所示:結束5-5-3 布林資料型態布林資料型態布林資料型態Boolean Type佔用2個位元組,其值只需兩個:True和False,對應真或偽狀態。結束5-5-4 字元與字串資料型態字元與字串資料型態-說說明明字元和字串資料型態變數儲存的值都是Unicode字元資料,字元資料型態Char Type是單一Unicode字元,假设是數值,可以儲存無符號Unsigned16位元整數;字串資料型態String Type是0或多個循序的Char資料型態的字元。結束5-5-4 5-5-4 字元與字串資料型態字元與字串資料型態字元與字串
29、資料型態字元與字串資料型態- -字元與字串資料型態字元與字串資料型態字元與字串資料型態字元與字串資料型態在Visual Basic語言分為儲存單一字元和多字元的2種資料型態,如下表所示:結束5-5-4 字元與字串資料型態字元與字串資料型態-字串字面字串字面值值字串字面值String Literals是0或多個循序的Char資料型態的字元,以雙引號括起的文字內容,如下所示:Dim str1 As String = “Visual Basic程式設計Dim str2 As String = “Hello World!Dim str3 As String = localhostdownloadjoe
30、結束5-5-4 字元與字串資料型態字元與字串資料型態-字元字面字元字面值值字元字面值Character Literals是以雙引號括起的單一字元,如下所示:Dim a As Char = AC上述變數宣告時指定初值為字元A,最後的字尾型態字元C表示它是字元,而不是字串。結束5-5-5 5-5-5 日期日期日期日期/ /時間資料型態時間資料型態時間資料型態時間資料型態- -日期日期日期日期/ /時間資料型態時間資料型態時間資料型態時間資料型態日期/時間資料型態Date Type宣告的變數可以用來儲存日期/時間資料。日期/時間資料型態就是Date資料型態,如下表所示:結束5-5-5 5-5-5 日
31、期日期日期日期/ /時間資料型態時間資料型態時間資料型態時間資料型態- -日期日期日期日期/ /時間字面時間字面時間字面時間字面值值值值日期/時間字面值Date Literals的日期時間資料需求运用#括起,如下所示:Dim tday As Date = #4/30/2019 12:00:00 AM#上述日期/時間值的年份有4位數,時間部分可以是12或24小時制,假设沒有AM或PM是24小時制,可以忽略分或秒,其預設值為0。結束5-5-6 Object資料型態資料型態Object是一切Visual Basic資料型態的基礎資料型態,換句話說,宣告成此資料型態的變數可以儲存各種不同資料型態的資料。Visual Basic語言預設在宣告變數時,並不需求宣告資料型態,假设沒有宣告資料型態,預設資料型態就是Object資料型態。