1.88k likes | 2.01k Views
Chapter 3. Visual Basic 2005 語法快速導覽. 本章提要. 3 - 1 基本語法 3 - 2 變數與常數 3 - 3 資料型別 3 - 4 運算式、運算子與型別轉換 3 - 5 流程控制 3 - 6 陣列與 For Each 迴圈 3 - 7 程序 3 - 8 類別與物件. 本章提要. 3 - 9 ASP.NET 網頁程式碼模式 3 - 10 命名空間與 .NET Framework 通用類別 / 元件 3 - 11 使用插入程式碼片段的功能快速撰寫程式. 3 - 1 基本語法.
E N D
Chapter 3 Visual Basic 2005 語法快速導覽
本章提要 • 3 - 1 基本語法 • 3 - 2 變數與常數 • 3 - 3 資料型別 • 3 - 4 運算式、運算子與型別轉換 • 3 - 5 流程控制 • 3 - 6 陣列與 For Each 迴圈 • 3 - 7 程序 • 3 - 8 類別與物件
本章提要 • 3 - 9 ASP.NET 網頁程式碼模式 • 3 - 10 命名空間與 .NET Framework 通用類別 / 元件 • 3 - 11 使用插入程式碼片段的功能快速撰寫程式
3 - 1 基本語法 • 雖然視覺化工具可以幫我們輕鬆建立網頁的各項元件, 讓程式的撰寫量減到最低, 但是這並不代表完全不需要程式語言了。 • 要讓網頁動起來, 還是需要使用程式語言為網頁注入靈魂。 • 本章將說明 Visual Basic 2005 的基礎語法, 讓您瞭解如何使用撰寫 ASP.NET 網頁程式。
使用 Page_Load 事件執行程式 • 為了降低學習的複雜度, 本章說明 Visual Basic 的語法時, 會將所有範例程式放置於網頁的 Page_Load 事件處理程序中。 • Page_Load 是網頁載入時一定會被觸發的程序, 所以將程式碼放置於此, 便可以在網頁載入時立刻看到程式執行的結果。 • 關於程序與事件處理程序的觀念, 會在 3-7 節詳細說明。
使用 Page_Load 事件執行程式 • 請在 VWD 內開啟任一 aspx 網頁, 若是在原始檔模式, 請如下操作即可產生 Page_Load 事件處理程序:
使用 Page_Load 事件執行程式 • 若是在設計模式下, 於網頁空白處雙按滑鼠左鈕, VWD 一樣也會產生 Page_Load 程序, 並自動切換到原始檔模式。 • 本節隨後說明範例程式時, 除非包含了 "<%@ Page Language = "VB" %>" 指示詞, 或者有另行說明, 否則都將只列出應放置於 Page_Load 程序內的程式碼, 不再列出其他 ASP.NET 或 HTML 標籤。
使用 Response.Write () 顯示程式輸出 • 同樣地, 為了降低學習的複雜度, 本章的程式執行後若需輸出文字, 都將直接使用 Response.Write () 於網頁上顯示字串。 • 其語法相當簡單, 只要使用 Response.Write ("字串"), 即可將字串顯示於網頁上:
使用 Response.Write () 顯示程式輸出 • 觀看網頁原始檔
使用 Response.Write () 顯示程式輸出 • 第 2 章曾經說明 HTML 檔案的結構, 而上面可以看到在 Page_Load 程序以 Response.Write () 輸出字串雖然容易使用, 但卻會破壞 HTML 的結構。 • 本章為了降低學習複雜度而暫時使用此法, 不過隨後第 4 章開始, 會介紹正確的字串顯示方式。
使用 Response.Write () 顯示程式輸出 • 此外, 程式輸出時如果要顯示多行, 或者想要斷行將文字顯示於新的一行, 只要使用 HTML 的 <br/> 語法即可:
Visual Basic 基本語法 • Visual Basic 的程式敘述是以行為單位, 每一行代表一個程式敘述, 所以下例中有兩個程式敘述: • 因為 Visual Basic 是以行為單位來辨識敘述, 所以撰寫程式時不能隨便折行。如果因為敘述太長需要折行, 必須在行的最後面加上底線符號 _:
Visual Basic 基本語法 • Visual Basic 並不區分英文的大小寫, 所以不論是程式敘述或是變數名稱, 都不用特別區分大小寫的差別。 • 但是使用 VWD 撰寫程式時, VWD 會依照程式前後文, 自動為我們修改大小寫, 以增加程式的可讀性。
Visual Basic 基本語法 • 如果需要加上註解, 則必須在註解文字前面加上一個單引號 (‘ ): • Visual Basic 程式中, 所有字串都必須使用雙引號 (") 括住。另外, 因單引號是 Visual Basic 的註解符號, 所以請小心不要用單引號刮住字串:
Visual Basic 基本語法 • 由於雙引號是具有特殊意義的字元, 所以若輸出字串時要顯示雙引號, 必須以兩個重複的雙引號 ("") 來表示:
3 - 2 變數與常數 • 瞭解 Visual Basic 程式的基本語法基礎後, 本節將為您介紹程式設計中最基本, 也最重要的元素-變數 (Variable)。
變數的宣告 • 宣告變數的語法如下: • 下例宣告一個名稱為 i 的變數, 指定其資料型別為整數, 然後將 3 放進變數 i 中:
變數的宣告 • 宣告變數除了定義資料型別外, 也可以如下同時設定變數內容:
變數的宣告 • 一行敘述中也可以如下定義多個變數:
常數的宣告 • 前面介紹了變數的宣告與使用方法, 另外還有一種與變數相對, 稱為常數(Constant)。 • 顧名思義, 變數存放的資料可以隨時改變, 而常數所儲存的資料則是恆常不變, 所以稱之為常數。 • 常數通常用來定義程式中常會用到, 而且不想被更動的資料, 宣告常數的語法如下:
常數的宣告 • 變數可以先宣告, 之後再設定變數值, 但是常數則必須在宣告時指定常數值:
存取變數值與常數值 • 變數與常數宣告並指定值之後, 只要直接將名稱放入程式敘述, Visual Basic 便會自動將其代換為變數值或常數值:
存取變數值與常數值 • 執行結果:
變數與常數的命名規則 • 宣告變數與常數時, 名稱可以隨意設定, 但是必須符合以下規則: • 名稱的開頭必須使用中文字、英文字母或底線 _。 • 除了開頭外, 名稱的其他部分可以使用中文字、英文字母、底線 _ 或數字。 • 名稱中不得包含標點符號或特殊字元。
變數與常數的命名規則 • 不可以 Visual Basic 的保留關鍵字為名, 例如 Dim、As...。Visual Basic 所有保留關鍵字請參考 VWD 線上說明中的 "Visual Basic 語言關鍵字" 段落。
3 - 3 資料型別 • 瞭解變數的宣告方式之後, 本節將為您介紹 Visual Basic 內建的資料型別。 • 數值型別 • 布林、日期、字串、物件型別
數值型別 • 數值型別可區分為兩大類, 分別是整數型別與浮點數型別, 如果變數存放的數字完全沒有小數, 只要使用整數型別即可, 否則就要使用浮點數型別。 • 下表列出整數型別的種類:
數值型別 • 請注意, Char 雖然屬於整數型別, 但是存放於其中的數值是 Unicode 字元的內碼, 所以設定 Char 型別的變數時, 必須使用字元, 不能直接指定數字:
數值型別 • 下表列出浮點數型別:
布林、日期、字串、物件型別 • 除了數值型別外, Visual Basic 還有以下型別可以存放不同的資料: • Boolean (布林型別):布林型別只能有兩種值:True (真) 或 False (假), 通常用來表示某種情況是否成立, 本節隨後討論流程控制時, 會說明布林值的用途。 • Date (日期型別):日期型別可以用來存放日期與時間, 範圍為西元 1 年 1 月 1 日 0:00:00 至 9999 年 12 月 31 日 11:59:59 PM。
布林、日期、字串、物件型別 • 在程式中表示日期與時間必須用 # 括起來, 格式為 # 月 / 日 / 年 時:分:秒 #, 可使用 12 或 24 小時制。範例如下:
布林、日期、字串、物件型別 • Object (物件型別):物件型別可以存放任何資料, 包括布林值、數字、字串、日期、陣列、類別...等, 所以如果變數不確定會存放什麼資料, 便可以宣告為此型別。 • String (字串型別):如果要在變數內存放文字資料, 便必須使用字串型別。 請小心字串不像數字那樣可以運算, 所以如果您將 "33" 與 "22" 分別存在兩個字串型別的變數內, 則兩個變數相加的結果為 "3322", 而不是 "55"。
3 - 4 運算式、運算子與型別轉換 • 在上一節瞭解了各種資料型別, 有了這些資料後, 就能進一步來處理資料。在一般的程式中, 大部分的處理工作就是運算, 例如四則運算、邏輯比較...等。 • 本節將會說明 Visual Basic 所提供的各項運算功能。
什麼是運算式與運算子 • 在程式語言中大部分的敘述都會包含運算式(Expression), 而運算式則是由運算子(Operator) 與運算元(Operand) 所構成。 • 其中, 運算子代表的是運算的種類 (或說是運算符號), 而運算元則是要運算的資料。舉例來說:
什麼是運算式與運算子 • 上面例子就是一個運算式, 其中+是運算子, 代表要進行加法運算, 而要相加的則是 7 與 8 這兩個資料, 所以 7 與 8 就是運算元。 • 不過, 運算子除了針對運算元進行運算以外, 有些運算子也可以處理運算式, 隨後會為您介紹各種運算子。
算術運算子 • 一般常用的加減乘除都屬於算術運算子, 可以用來計算數值, 下面是 Visual Basic 的算術運算子:
串連運算子 • 串連運算子 “&” 會將多個字串進行串連, 組合為單一字串。例如: • 上例將輸出一個 "ASP.NET 程式設計" 字串。所以當兩邊都是字串時, 串連運算子 "&" 與算數運算子 "+" 具有相同功能。
比較運算子 • 比較運算子會比較兩邊的運算元, 然後將結果以布林值傳回:
設定運算子 • 設定運算子用來設定變數或屬性的內容, 最常使用的設定運算子為 =, 舉例如下:
設定運算子 • 以下是其他 Visual Basic 的設定運算子:
邏輯運算子 • 邏輯運算子會取兩邊的布林值, 進行邏輯上的交集、聯集、互斥與否定運算, 然後將結果以布林值傳回。 • 各邏輯運算子的使用方法如下:
邏輯運算子 • 以下是各邏輯運算的真值表:
運算子優先順序 • 當一個運算式內有多個運算子時, 會依照下面的優先順序來決定運算的先後:
運算子優先順序 • 如果運算子的優先順序相同, 則依照其在運算式中的位置, 由左至右依序運算。此外, 與一般四則運算相同, 運算式中如果有小括號 (), 則小括號內的運算會優先處理。 • 所以如果您想要先執行優先順序較低的運算子, 可以使用小括號變更其順序。
資料型別轉換 • 程式中有可能會需要將不同資料型別的運算元放在一起運算, 此時各運算元會自動被調整為同一資料型別以利運算, 這種自動轉換稱為『隱含轉換』。 • 進行隱含轉換時, 會以運算式中最長 (最大) 的型別為調整基準, 以免漏失資料的精確度。 • 例如 Integer 型別變數與 Double 型別變數相加時, 會自動將 Integer 型別變數擴大調整為 Double 型別。
資料型別轉換 • 除了讓程式自動進行隱含轉換外, 我們也可以自行使用型別轉換函式, 強制將其轉為我們希望使用的型別, 此稱為『明確轉換』。 • 下面是 Visual Basic 中常用的型別轉換函式: