跳到主要內容

利用變數表示文字、數字和值

變數」在電腦程式設計中是很重要的概念。變數是可儲存值的字母或名稱。當您建立電腦程式時,可以使用變數儲存數字,例如建築的高度;或單字,例如一個人的姓名。簡單地說,您可以使用變數來表示任何一種程式所需的資訊。

您 可能會問,「為什麼要使用變數?直接使用資訊不就好了嗎?」就像名稱隱含的意思一樣,變數可以在程式執行時改變所代表的值。例如,您可能撰寫一個程式,追 蹤桌上糖罐裡的糖果數目。由於糖果本來就是要給人吃的,因此糖罐裡的糖果數目可能會隨著時間改變。與其每次想吃糖果的時候都要重新撰寫程式,您只要使用可 以隨時間改變的變數來代表糖果的數目就行了。

使用變數有三個步驟:

  1. 宣告變數。告訴程式您要使用的變數名稱和類型。

  2. 設定變數。給變數要保存的值。

  3. 使用變數。擷取該變數中保存的值,並用於程式中。

宣告變數時,您必須決定要使用的變數名稱,以及要設定的「資料型別」。您可以為變數命名任何名稱,只要名稱開頭為字母或底線即可。如果名稱描述變數的內容,您的程式碼就能更容易懂。例如,追蹤糖罐裡糖果數目的變數可以命名為 totalCandy

您要使用 DimAs關鍵字」宣告變數,如下所示。

Dim aNumber As Integer   

這行程式碼會告訴程式,您要使用稱為 aNumber 的變數,而且您要它成為儲存整數 (Integer 資料型別) 的變數。

由於 aNumberInteger,所以它只能儲存整數。舉例來說,如果要儲存 42.5,您就會使用 Double 資料型別。如果您是要儲存單字,那就要使用稱為 String 的資料型別。另外還有一種資料型別值得一提,就是 Boolean,它可以儲存 TrueFalse 值。

下面有更多範例,顯示如何宣告變數。

Dim aDouble As Double Dim aName As String Dim YesOrNo As Boolean   
注意事項:

您可以使用區域型別推斷,在沒有宣告變數型別的情況下建立區域變數。使用區域型別推斷時,變數的型別是由指派給它的值所決定。如需詳細資訊,請參閱區域型別推斷

如需其他變數型別的詳細資訊,請參閱詳述:資料型別

您是用 = 符號設定值給變數,它有時稱為「指派運算子」,如下面範例所示。

aNumber = 42   

這行程式碼帶值 42,並將它儲存於先前宣告稱為 aNumber 的變數之中。

如先前所示,您可以在一行程式碼中宣告變數,然後再於另一行程式碼上指派值。如果您在設定變數值前嘗試使用變數,則可能會造成錯誤。

因此,最好是在單一的程式碼行上宣告並設定變數。即使您還不知道變數會保存什麼值,您也可以設定預設值。如先前所示宣告及設定相同變數的程式碼,大概如下所示。

Dim aDouble As Double = 0 Dim aName As String = "default string" Dim YesOrNo As Boolean = True   

您可以在同一行宣告變數並指派預設值,藉以防止可能的錯誤發生。稍後您還是可以使用指派,將不同的值指派給變數。

在本練習中,您將撰寫簡短的程式,建立四個變數、設定其值,然後在「訊息方塊」視窗中顯示各變數的值。我們要從建立專案開始,專案中將儲存程式碼。

若要建立專案

  1. 如果尚未開啟 Visual Basic,請從 Windows [開始] 功能表中開啟。

  2. 在 [檔案] 功能表上,按一下 [新增專案]。

  3. 在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows 應用程式]。

  4. 在 [名稱] 方塊中,輸入 Variables,再按 [確定]。

    Visual Basic 會為您的程式建立檔案,並開啟 [表單設計工具]。

接下來,您會建立變數。

若要建立變數並顯示其值

  1. 按兩下這份表單,開啟 [程式碼編輯器]。

    [程式碼編輯器] 隨即開啟至稱為 Form1_Load 的程式碼區段。這一段程式碼是事件處理常式,也稱為「程序」(Procedure)。您在這個程序中所撰寫的程式碼就是指示,當表單初次載入記憶體時就會執行。

  2. Form1_Load 程序中,輸入下列程式碼。

    Dim anInteger As Integer = 42 Dim aSingle As Single = 39.345677653 Dim aString As String = "I like candy" Dim aBoolean As Boolean = True   

    這個程式碼會宣告四個變數並指派其預設值。分別為 IntegerSingleStringBoolean

    秘訣

    當您輸入程式碼時,可能會注意到輸入 As 後,游標下出現一份單字清單。這項功能就稱為「IntelliSense」。讓您只需要輸入單字開頭的幾個字母,就可以在清單中選取該單字。選取單字之後,您可以按 TAB 鍵完成單字輸入。

    注意事項:

    只要在程式中代表實際的文字,就必須用英文雙引號 ("") 包住。這樣就可以告訴程式,將此段文字解譯為實際的文字,而不將它當做變數名稱。當您指派 Boolean 變數的值為 TrueFalse 時,請勿將代表的字用英文引號包住,因為 TrueFalse 是 Visual Basic 關鍵字,本身自有其特殊的意義。

  3. 在上一個步驟中,您所撰寫的程式碼之下,輸入下列程式碼。

    MsgBox(anInteger) MsgBox(aSingle) MsgBox(aString) MsgBox(aBoolean)   

    這個程式碼告訴程式,使用 MsgBox函式」(Function) 在新視窗中顯示您在上一個步驟中指派的每一個值。

  4. 請按 F5 執行應用程式。

    每一個訊息方塊出現時,都按一下 [確定]。請注意,這麼做會顯示每一個變數的值。您可以按一下表單右上角的 [x] 以關閉表單。程式完成後,您可以返回變更程式碼中指派的值,下次執行程式時,就會顯示新的值。

留言

這個網誌中的熱門文章

[試用心得] 日本無線上網超Wi-Ho(走SoftBank),一日不限流量NT299,可供多人使用,林氏璧讀者九五折優惠。

[試用心得] 日本無線上網超Wi-Ho(走SoftBank),一日不限流量NT299,可供多人使用,林氏璧讀者九五折優惠。 p.s.上面這張圖的吃到飽是錯的,Docomo小白機從去年就有限流量了,但特樂通聲稱Soft Bank小紅機是沒有限流量的。 我 是一個重度網路使用者,因為我有一個部落格需要管理。即使是在旅行的時候,我也很難忍受一天不能上網。去年從美國回來後終於入手了智慧型手機,這才發現這 個世界已經進步成什麼樣了!!一個小小手機就可以上網辦到好多事啊!!我也變成了一個低頭族,喜歡到處打卡,到了一個新地方就想上傳照片和粉絲專頁的朋友 們分享,或是用line或Skype和家人報平安。2012年8月我去東北的那一次是申請中華電信的漫遊,速度感覺不是很快或很穩定(當然也和東北多半比 較郊區有關)。這次回東京,終於試用到了網路上大名鼎鼎的上網神器:Wi-Ho。其實我想用用看WI-HO很久了,因為似乎比常用的B-MOBILE快很 多又不用裝SIM卡,這次終於有機會^^ 感謝日商特樂通資訊台灣分公司提供我們試用!!這次旅行途中一路暢通的網路,讓我體驗到活用各式App,google地圖等來定位,Tabelog找店家 等等的方便功能,真的深深感覺,傳統的玩東京的方式可以被行動上網徹底改變呢! 2013.7.19更新: 特樂通公司將推出兩台新機器,舊的小白機有可能慢慢淘汰,這篇介紹的小紅機還是不錯的選擇,但都有更好的機種了,請看: [新機上市] Wi-Ho黑旋風機(走Docomo適合郊區)及小黑機(走E-mobile適合城市),可使用超過十小時的日本無線上網新選擇,林氏璧讀者九五折優惠。 2013.7.3更新: 1.超WiHo! Softbank 3.5G (JP-S )(小紅機) 日本 $199/天 !! 說明:只有限前往日本及小紅機訊號優良地區,其他地區小紅機訊號不好處,需使用Docomo (JP-DM),仍維持原價$299 比方說我從6月15日借八天Soft bank小紅,不但一天199,整個金額會再打95折歐!快從這個林氏璧的專屬網址 線上申請 吧。(如果沒有打折,請在經銷商的欄位輸入linshibi,應該就會有打折了) 2.7~9月份使用的所有國家(包含日本),請即日起上網預訂,7~9月日本機器尚有充足貨源,...