從零開始學習 VB.NET 變數宣告、資料型別、運算子與運算式教學

從零開始學習 VB.NET 變數宣告、資料型別、運算子與運算式教學

更新於 發佈於 閱讀時間約 9 分鐘

目標

  • 理解 VB.NET 的變數宣告方式。
  • 掌握常用資料型別及其使用場景。
  • 熟悉基本運算子與運算式。

變數宣告

語法

Dim 變數名稱 As 資料型別 = 初始值
  • Dim:宣告變數的關鍵字。
  • As:指定變數的資料型別。

範例

Dim age As Integer = 25
Dim name As String = "Alice"
Dim isActive As Boolean = True

注意事項

  • 變數名稱需符合命名規則(不能以數字開頭,不包含空格等)。

常用資料型別

VB.NET 是強型別語言,需明確指定資料型別。以下是常用型別

型別 說明 範例

Integer 32 位元整數 Dim x As Integer = 10

Double 雙精度浮點數 Dim y As Double = 3.14

String 字串 Dim s As String = "Hello"

Boolean 布林值(True/False) Dim flag As Boolean = True

DateTime 日期與時間 Dim dt As DateTime = DateTime.Now

Decimal 高精度小數 Dim price As Decimal = 99.99D



型別轉換

  • 顯式轉換

使用轉換函式(如 CInt()CDbl()CStr()CDec())。

Dim input As String = "123"
Dim number As Integer = CInt(input) ' 轉換為整數
  • 隱式轉換

VB.NET 在某些情況下會自動轉換(但建議避免,容易出錯)。

Dim a As Double = 10 ' 自動將 Integer 轉為 Double

運算子

算術運算子

運算子 說明 範例

+ 加法 3 + 5 = 8

- 減法 10 - 4 = 6

* 乘法 2 * 3 = 6

/ 除法 10 / 3 = 3.333

\ 整除 10 \ 3 = 3

Mod 取餘數 10 Mod 3 = 1

^ 指數 2 ^ 3 = 8

比較運算子

運算子 說明 範例

= 等於 5 = 5 → True

<> 不等於 5 <> 3 → True

> 大於 10 > 5 → True

< 小於 10 < 5 → False

>= 大於等於 5 >= 5 → True

<= 小於等於 5 <= 3 → False

邏輯運算子

運算子 說明 範例

And 邏輯 AND True And False → False

Or 邏輯 OR True Or False → True

Not 邏輯 NOT Not True → False

AndAlso 短路 AND 若左側為 False,右側不執行

OrElse 短路 OR 若左側為 True,右側不執行

常見錯誤與解決

錯誤 1:型別不符

Dim x As Integer = "123" ' 錯誤:字串無法直接賦值給 Integer

修正:使用顯式轉換

Dim x As Integer = CInt("123")

錯誤 2:未處理 Null 值

Dim input As String = Nothing
Dim length As Integer = input.Length ' 拋出 NullReferenceException

修正:檢查是否為 Nothing

If input IsNot Nothing Then
length = input.Length
End If



實作題

  1. 寫一個程式,輸入兩個數字,計算並顯示它們的乘積。
    • 要求:使用 Double 型別,處理非數字輸入(使用 Try...Catch)。
  2. 進階題:輸入攝氏溫度,轉換為華氏溫度(公式:華氏 = 攝氏 * 9/5 + 32)。

ASP.NET Web Forms 範例

Default.aspx

<div>
<asp:Label ID="Label1" runat="server" Text="請輸入您的名字:" />
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="送出" OnClick="Button1_Click" CssClass="btn btn-primary"/>
<br /><br />
<asp:Label ID="ResultLabel" runat="server" ForeColor="Blue" />
</div>
<div>
<asp:Label ID="Label2" runat="server" Text="請輸入攝氏溫度:" />
<asp:TextBox ID="TextBox2" runat="server" AutoPostBack="True"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="送出" OnClick="Button2_Click" CssClass="btn btn-primary"/>
<br /><br />
<asp:Label ID="ResultLabel2" runat="server" ForeColor="Blue" />
</div>

Default.aspx.vb

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim userName As String = TextBox1.Text.Trim()

If userName <> "" Then
'ResultLabel.Text = "Hello, " & userName & "!歡迎來到 ASP.NET Web Forms!"
ResultLabel.Text = "Hello, " & Server.HtmlEncode(userName) & "!歡迎來到 ASP.NET Web Forms!"
Else
ResultLabel.Text = "請輸入您的名字!"
End If
End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
Dim Celsius As String = Server.HtmlEncode(TextBox2.Text.Trim())

If Celsius <> "" Then
Try
Dim celsiusValue As Decimal = CDec(Celsius) ' 確保統一使用變數
ResultLabel2.Text = "華氏溫度為: " & (celsiusValue * 9 / 5 + 32)
Catch ex As Exception
ResultLabel2.Text = "請輸入有效的攝氏溫度!(數值)"
End Try

Else
ResultLabel2.Text = "請輸入您的輸入攝氏溫度!"
End If
End Sub
raw-image


如果你有興趣進一步學習,請留言告訴我或留言與我分享~~~~


avatar-img
小猴工程師
1會員
21內容數
留言
avatar-img
留言分享你的想法!
小猴工程師 的其他內容
Dream to Earn 是一款結合睡眠追蹤與加密貨幣獎勵的 Web3 應用程式,讓使用者透過睡眠賺取 DREAM 代幣。文章探討其運作方式、潛在風險以及持續發展的可能性,並提供加入方式與邀請碼。
本文介紹XSS (跨站腳本攻擊) 的原理、ASP.NET Web Forms 應用程式中常見的漏洞、測試範例以及如何使用Server.HtmlEncode()函式來防止XSS攻擊。透過適當的輸入驗證和編碼,可以有效降低XSS攻擊風險,提升網站安全性。
這篇文章提供一個逐步指南,教導讀者如何使用VB.Net和ASP.NET Web Forms建立一個簡單的Web應用程式。從安裝開發環境到撰寫程式碼、執行與測試,步驟清晰易懂,適合初學者學習。
產前基因檢測已成為許多準父母關注的焦點,本文詳細說明染色體異常檢測(如NIPT、CMA)和單基因遺傳病檢測的差異、優缺點、以及不同風險族群的建議檢測方案,幫助準父母們更瞭解產前基因檢測,做出更適合自己的選擇。
本篇文章介紹 Python 的 asyncio 標準庫,說明其用於非同步編程的優勢,並深入探討 await, asyncio.create_task(), asyncio.gather() 的用法與差異,以提升 I/O 密集型應用的效能。
這篇文章介紹如何使用 CCXT 這個強大的 Python 套件來存取加密貨幣交易所的數據。文章涵蓋安裝、基本使用方法、取得市場數據、取得交易對列表、取得歷史 K 線數據以及 WebSocket 即時數據等功能,並以 Binance 作為範例示範。
Dream to Earn 是一款結合睡眠追蹤與加密貨幣獎勵的 Web3 應用程式,讓使用者透過睡眠賺取 DREAM 代幣。文章探討其運作方式、潛在風險以及持續發展的可能性,並提供加入方式與邀請碼。
本文介紹XSS (跨站腳本攻擊) 的原理、ASP.NET Web Forms 應用程式中常見的漏洞、測試範例以及如何使用Server.HtmlEncode()函式來防止XSS攻擊。透過適當的輸入驗證和編碼,可以有效降低XSS攻擊風險,提升網站安全性。
這篇文章提供一個逐步指南,教導讀者如何使用VB.Net和ASP.NET Web Forms建立一個簡單的Web應用程式。從安裝開發環境到撰寫程式碼、執行與測試,步驟清晰易懂,適合初學者學習。
產前基因檢測已成為許多準父母關注的焦點,本文詳細說明染色體異常檢測(如NIPT、CMA)和單基因遺傳病檢測的差異、優缺點、以及不同風險族群的建議檢測方案,幫助準父母們更瞭解產前基因檢測,做出更適合自己的選擇。
本篇文章介紹 Python 的 asyncio 標準庫,說明其用於非同步編程的優勢,並深入探討 await, asyncio.create_task(), asyncio.gather() 的用法與差異,以提升 I/O 密集型應用的效能。
這篇文章介紹如何使用 CCXT 這個強大的 Python 套件來存取加密貨幣交易所的數據。文章涵蓋安裝、基本使用方法、取得市場數據、取得交易對列表、取得歷史 K 線數據以及 WebSocket 即時數據等功能,並以 Binance 作為範例示範。
本篇參與的主題活動
這幾天看到有落淚挑戰所以就來分享一下從小到大落淚的原因
▉不是世界太糟,是你忘了自己 「你的不開心, 很多時候不是世界太糟糕, 而是因為你總是把自己放在最後。」 這句話一語道破了許多人疲憊與失落的根源。 我們總是在意他人感受、扮演好每一個角色, 卻忘了自己也是人生故事裡
各位愛美的女孩們!隨著天氣漸暖,是不是也開始想換上輕盈飄逸的裙裝了呢?說到裙裝界的百搭常青樹,「長裙」絕對榜上有名!它不僅能完美修飾身形、隱藏在意的小缺點,更能輕鬆駕馭各種風格,無論是溫柔仙氣、休閒率性、知性優雅,還是個性潮流,一條對的長裙就能讓你輕鬆變身!
這幾天看到有落淚挑戰所以就來分享一下從小到大落淚的原因
▉不是世界太糟,是你忘了自己 「你的不開心, 很多時候不是世界太糟糕, 而是因為你總是把自己放在最後。」 這句話一語道破了許多人疲憊與失落的根源。 我們總是在意他人感受、扮演好每一個角色, 卻忘了自己也是人生故事裡
各位愛美的女孩們!隨著天氣漸暖,是不是也開始想換上輕盈飄逸的裙裝了呢?說到裙裝界的百搭常青樹,「長裙」絕對榜上有名!它不僅能完美修飾身形、隱藏在意的小缺點,更能輕鬆駕馭各種風格,無論是溫柔仙氣、休閒率性、知性優雅,還是個性潮流,一條對的長裙就能讓你輕鬆變身!