Presentation is loading. Please wait.

Presentation is loading. Please wait.

第3章 變數與運算子 3-1 電腦記憶體的基礎 3-2 變數的命名與宣告 3-3 VB.NET的資料型別

Similar presentations


Presentation on theme: "第3章 變數與運算子 3-1 電腦記憶體的基礎 3-2 變數的命名與宣告 3-3 VB.NET的資料型別"— Presentation transcript:

1 第3章 變數與運算子 3-1 電腦記憶體的基礎 3-2 變數的命名與宣告 3-3 VB.NET的資料型別
3-5 資料型別的轉換

2 3-1 電腦記憶體的基礎

3 3-2 變數的命名與宣告 以高階程式語言來說,程式是由「資料」 (Data)和「指令」(Instructions)所 組成,如下:
資料部分:指「變數」(Variables)和「資 料型別」(Data Types)。 指令部分:主要是指運算子、「流程控制」 (Control Structures)[第5、6章]和「副程 序」(Subroutines)[第7章] 。

4 3-2-1 VB.NET的命名規則-說明 在程式碼除了程式語言的「關鍵字」 (Keywords,或稱保留字),大部分都屬 於程式設計者自訂的元素名稱,稱為「識 別字」(Identifier),例如:變數、程序、 函數和物件名稱等。

5 3-2-1 VB.NET的命名規則-命名規則 VB.NET的命名原則,如下所示: 識別字不可使用VB.NET的關鍵字或系統的物件名稱。
名稱必需是英文字母或底線"_"開頭,如果以底線開頭,至少需要一個其它的英文字母或數字。 名稱長度不可超過16383個字元,不區分英文字母的大小寫,abc和ABC代表同一個名稱。 名稱中間不能有句點"."、運算子(例如:+-*/^等)或空白,只能是英文字母、數字和底線。 在宣告的有效範圍內需唯一,有效範圍請參閱程序和函數。

6 3-2-1 VB.NET的命名規則-範例 一些VB.NET元素名稱的範例,如下所示: 一些不合法VB.NET元素名稱的範例:
abc, ab_123, size1, _123, _abc ' 合法名稱 Car, count, s1, s    ‘ 合法名稱 一些不合法VB.NET元素名稱的範例: _ ‘ 不合法名稱 123abc ‘ 不合法名稱, why?

7 3-2-1 VB.NET的命名規則-慣用的命名法 匈牙利命名法是將變數的前三個字元視為資料型別,依照不同的資料型別加上字首字串,如下表所示:

8 3-2-1 VB.NET的命名規則-慣用的命名法 CamelCasing命名法是第一個英文字小寫之後為 大寫,變數、程序/函數的命名也可以使用不同英 文字母大小寫的組合,如下表所示:

9 3-2-2 變數的宣告-屬性

10 3-2-2 變數的宣告-宣告 同一列的兩個變數屬於不同的資料型別,可以分別宣告其資料型別,如下所示:
VB.NET的變數是使用【Dim】指令進行宣告,如下所示: Dim size ' 變數size的資料型別是Object As指令宣告變數的資料型別,如下所示: Dim size1,size2 As Integer ' 都是Integer資料型別 同一列的兩個變數屬於不同的資料型別,可以分別宣告其資料型別,如下所示: Dim name As String, size3 As Integer

11 3-2-2 變數的宣告-初值 在宣告變數同時指定其初值,如下所示:
Dim name As String, size3 As Integer = 100 ' 變數初值 Dim title As String = "VB.NET程式" 上述程式碼宣告字串變數name和title,同時指定整數變數size3的初值為100和字串變數title的初值。

12 3-2-3 指定敘述-使用 在VB.NET宣告好變數後,可以使用指定敘述指定變數值,也就是"="等號運算子,如下所示: Dim size
Dim size1, size2 As Integer Dim name, title As String size = 35 size1 = 57 name = "陳會安"

13 3-2-3 指定敘述-說明 指定敘述"="等號左邊的變數稱為「左值」(l-value),指的是變數的位址(Address)屬性,等號的右邊稱為「右值」(r-value),這是變數的值(Value)屬性。目前變數的記憶體圖例,如下圖所示:

14 3-2-4 Option指令敘述 VB.NET的Option指令敘述共有三種,如下所示:
Option Explicit:設定程式的變數是否一定需要宣告,Off表示不用宣告。 Option Strict:指定程式是否使用嚴格的型別檢查,例如:型別轉換和變數的型態宣告,預設值Off表示不嚴格檢查。 Option Compare:指定字串比較的方式是使用二進位或文字比較(不分大小寫),可以是Binary(預設值)或Text 。

15 3-2-5 常數的宣告與使用 「常數」(Constant)在程式碼中只是使用一個名稱來取代固定的數字或字串,與其將常數視為變數,不如說它是名稱的轉換,將一些數值的值使用有意義的名稱來取代。 VB.NET本身擁有內建常數,例如:vbTab、vbNewLine等。 使用者可以使用Const指令建立常數,常數在宣告時同時需要指定其值,如下所示: Const MAX_SIZE = 100 Const PI =

16 3-2-6 列舉資料型別Enumeration 「列舉常數」(Enumerations)是使用符號名稱代表一組整數資料型別的值。如同常數使用名稱取代固定數值,列舉常數是使用一組不同名稱來取代一組數值,其宣告是使用Enum/End Enum程式敘述,如下所示: Enum Color As Integer White = 1 Red Blue = 5 Green Black = Green End Enum

17 3-3 VB.NET的資料型別 3-3-1 VB.NET的基本資料型別 3-3-2 整數資料型別 3-3-3 浮點數資料型別
3-3-4 布林資料型別 3-3-5 字串資料型別 3-3-6 字元資料型別 3-3-7 日期/時間資料型別

18 3-3 VB.NET的資料型別 VB.NET的資料型別是指在變數的記憶體位址儲存的是什麼樣的資料,VB.NET的資料型別可以分為「數值型別」(Value Types)和「參考型別」(Reference Types)兩種資料型別,如下所示: 數值型別:變數值儲存的是真正的數值,也就是記憶體儲存的內容。VB.NET提供Byte、Short、Integer、Long、Single、Double、Char和Boolean等基本資料型別。 參考型別:變數值並不是記憶體的內容,而是記憶體的位址,例如:Module、Class、String和Array陣列等 (第 16章)。

19 3-3-1 VB.NET的基本資料型別-1

20 3-3-1 VB.NET的基本資料型別-2

21 3-3-1 VB.NET的基本資料型別-3

22 3-3-2 整數資料型別-說明 「整數資料型別」(Integral Types)是指變數的資料為整數沒有小數點,依照整數資料長度的不同(即佔用的記憶體位元數),分為Byte、Short、Integer和Long四種整數資料型別,其中Byte是正整數,其它可以是正整數或負整數,程式設計者可以依照整數的範圍決定宣告的變數型別。

23 3-3-2 整數資料型別-範例

24 3-3-3 浮點數資料型別-說明 「浮點數資料型別」(Floating Point Types)是指整數加上小數,例如:3.14、 等,依照長度的不同(即佔用的 記憶體位元數),分為Single、Double和 Decimal三種浮點數的資料型別。

25 3-3-3 浮點數資料型別-範例

26 3-3-4 布林資料型別 「布林資料型別」(Boolean Type)只能 有兩個值True和False,對應「真」或「偽」 的狀態。

27 3-3-5 字串資料型別 「字串資料型別」(String Type)的資料是字串,字串是0或多個依序的Unicode字元使用ASCII字碼的雙引號所括起的文字內容,這就是「字串值」(String Literals),如下所示: Dim str1 As String = "VB.NET程式設計" Dim str2 As String = "Hello World!" Dim str3 As String = "\\localhost\download\joe"

28 3-3-6 字元資料型別 「字元資料型別」(Char Type)是單一的Unicode字元,如果是數值,可以儲存「無符號」(Unsigned)16位元整數。 如果在VB.NET程式直接使用「字元值」(Character Literals),就是使用雙引號括起的單一字元字串,如下所示: Dim a As Char = "A"C

29 3-3-7 日期/時間資料型別 「日期/時間資料型別」(Date Type)是用來儲存日期/時間資料,「日期/時間值」(Date Literals)的日期時間資料需要使用“#”括起,如下所示: Dim tday As Date = #9/25/ :00:00 AM#

30 3-4 VB.NET的運算式與運算子 VB.NET指定敘述的等號右邊除了是文字值、 變數外,也可以是運算式,「運算式」 (Expressions)是由運算子和運算元組成。 VB.NET擁有完整的算術(Arithmetic)、 連結(Concatenation)、關係 (Relational )、和邏輯(Logical)運算 子。

31 3-4-1 運算式的基礎 運算式是由運算元和運算子所組成,在指定敘述中的運算式一定在等號的右邊,如下所示:
C = A + B - 1 C = (A >= B) C = A & B C = (A < B And A > 1) 上述運算式的變數A、B和數值1是運算元,+、-、<、>=和>為運算子,變數C是左值,也就是運算式將計算結果存入變數C。

32 3-4-2 運算子的優先順序 優先順序的規則,如下所示:
"( )"括號內比括號外先執行,括號的目的是為了推翻現有的優先順序,在括號內依照正常的優先順序。 當運算式擁有多種運算子時,算術運算子最先,接著是關係運算子,最後才是邏輯運算子,如下所示: 算術運算子 > 關係運算子 > 邏輯運算子 關係運算子擁有相同的優先順序。 算術運算子的加和減法優先順序相同,乘和除法擁有相同的優先順序,不過乘除高於加減,如下所示: (^)指數 > (-)負號 > (*/)乘除 > (\)整數除法 > (Mod) > (+-)加減 > (&) 邏輯運算子的優先順序,如下所示: Not > [And, AndAlso] > [Or, OrElse] > Xor

33 3-4-3 算術運算子

34 3-4-4 字串連結與Like運算子

35 3-4-4 字串連結與Like運算子 Like 特殊字元 特殊字元 說明 ? 符合任何單一字元 * 符合0 或多個字元 #
符合一個 0-9 的數字 [ab] 符合任一中括弧裡字元清單的任一字元 [!ab] 不屬於中括弧裡字元清單的任一字元 [a-z] 範圍, 此例為 a, b, …, z

36 3-4-5 指定運算子

37 3-5 資料型別的轉換 資料型別轉換在程式中會經常的出現,例如:將整數轉換成浮點數,字串轉換成整數進行運算,或將浮點數值轉換成字串以方便顯示。 資料型別轉換是指轉換變數儲存的資料,而不是變數本身,因為不同型別佔用的位元組數不同,在進行資料型別轉換時,例如:Double轉換成Single,變數資料會損失一些精確度。

38 3-5-1 隱含型別轉換 「隱含型別轉換」(Implicit Conversions)並 不需要特別語法,在運算式或指定敘述的兩端, 如果擁有不同型別的變數,將會將儲存的資料自 動轉換成相同的資料型別,一些運算式的範例, 如下表所示:

39 3-5-2 明顯型別轉換 「明顯型別轉換」(Explicit Conversions)是在進行運算前,自行使 用函數將它轉換成相同的資料型別,如下 表所示:


Download ppt "第3章 變數與運算子 3-1 電腦記憶體的基礎 3-2 變數的命名與宣告 3-3 VB.NET的資料型別"

Similar presentations


Ads by Google