VB語法教學 - CMLab
Download
Report
Transcript VB語法教學 - CMLab
VB語法教學
讓電腦聽我們的話
可是電腦太笨了,所以一定要講他的語言
但是跟笨的人講話太慢了
所以我們需要一個翻譯的人
我們在容忍範圍內講得更清楚,讓翻譯聽懂以後再幫
我們翻得更細一點給電腦聽
compiler
人
程式語言
電腦語言
START FROM MATH
運算子
1+1=?
運算元
變數
X =3
Y=2
X+Y=?
X Y 就是變數
變數命名原則
不能與關鍵字相同
If, Else, Then, For, etc.
不能用英文、數字、跟底線(_)以外的東西
在VB,大小寫都視為相同變數
P.S. 大部份語言大小寫會視為不同的變數
變數需要先宣告
宣告
Dim 變數名稱 As 變數型態
常見型態
整數 String
浮點數 Decimal
字元 Char
字串 String
布林 Boolean
練習
宣告一個整數變數a
可以指定初始值
Dim a As Integer
Dim a As Integer = 3
可以一次指定多個變數,用逗號(,)分隔
Dim a As Integer =3, b As String
常數
有些數字我希望在程式一開始的時候就決定,之後不
要變動他
例如:圓周率 = 3.14
只打3.14 有時候會造成日後不易維護
常數宣告
Const 常數名稱 = 數值
例如:Const Pi = 3.14
下次想要更精確的時候,可以直接在程式碼改成Const Pi =
3.1415,而不用每個用到的地方都需要改動
練習
在”方案總管”中 展開”Default.aspx”
打開”Default.aspx.vb”
選擇”(Page 事件)”
選擇”Load”
在程式碼按右鍵加入”中斷點”
使用Debug模式檢查
陣列(ARRAY)
方便做大量的運算
Ex. 登記成績
宣告陣列
Dim 陣列名稱(陣列元素個數) As 元數型態
Dim Score(5) As Integer
宣告了一個叫Score的陣列
這個陣列有5個元素
這陣列5個元素都是Integer的型態
陣列( CONT.)
使用陣列元素
陣列名稱(第幾個元素)
範例:Score(4) = 3
注意
陣列元素從0開始算,以之前的例子,可以拿來使用的陣
列元素有:Score(0), Score(1), Score(2), Score(3) ,
Score(4)
不能使用超過宣告陣列長度的元素
練習
我想要紀錄班上同學的名字?
班上同學有三個人,分別是:
1號 Jack
2號Joe
3跟Jane
變數運算
算術運算子
“+”(加法), “-”(減法),”*”(乘法),”/”(除法), “\” (整數除法),
“Mod”(取餘數), “^”(指數)
範例:Dim a As Integer = 7^2
a = 49
字串連接
“&”
範例:Dim str As Integer = “Hello,” & “world”
Str = “Hello,world”
流程控制
範例
打分數網站
0~50分: 你完蛋了!
50~60分:差一點點而已
60~80分:不錯嘛!
80~100分:你太強了啦!
IF THEN ELSE
基本:
If 條件式成立 Then
do something
End If
進階
If 條件1成立 Then
do something
Else
do something
End If
IF THEN ELSE (CONT.)
多個條件:
If 條件1成立 Then
do something
ElseIf 條件2成立 Then
do something
ElseIf 條件3成立 Then
do something
Else
do something
End If
判斷式
等於 A = B
不等於 A <> B
小於 A < B
大於 A > B
大於等於 A >= B
小於等於 A <= B
SELECT CASE
格式
Select Case 數值
Case 值1
do something
Case 值2, 值3, 值4 To 值5
do something
Case Else
do something
End Select
自我練習
乖寶寶答話機
如果是早上8點到下午5點之間:
顯示”我會乖乖上課的!”
如果是下午5點到晚上7點之間:
顯示”去寫作業”
如果是晚上7點到晚上10點之間:
顯示”嗯,我們來玩吧!”
如果是晚上10點:
顯示”不能玩了,要睡覺了!”
迴圈
重複做某件事
範例1
魔鬼補習班
輸入成績
高於80分才可以不用繼續考試
範例2
從1加到100
FOR LOOP
格式
For 變數 = 起始值 To 結束值 Step 步進值
do something
Next
範例
Dim i As Integer, sum As Integer = 0
For i = 1 To 100 Step 1
sum = sum + i
Next
先做再說 的DO LOOP
格式
Do
do something
Loop While 條件式
Do
do something
Loop Until 條件式
第一個在條件式不成立時跳出迴圈
第二個在條式成立時跳出迴圈
先檢查再做的DO LOOP
格式
Do While 條件式
do something
Loop
Do Until 條件式
do something
Loop
While 表式條件式不成立時離開
Until 表式條件式不成立時繼續做
自我練習
連加法
用上述的迴圈來計算1 加到 10 的結果
範例
矩陣 + loop
大樂透 要簽哪幾個數字?
其他常用FUNCTION
使用亂數
Randomize()
Dim Value As Integer
Value = Int(Rnd()) * 100
Int() 將小數無條件捨去
副程式及函數
副程式無傳回值
Sub 副程式名稱(參數1名稱 As 參數2型態, 參數2名稱 As 參數2型態 )
do something
End Sub
函數有傳回值
Function 函數名稱(參數1名稱 As 參數2型態, 參數2名稱 As 參數2型態 )
do something
Return 傳回值
End Function
使用副程式
副程式名稱(傳入的參數們)
Call副程式名稱(傳入的參數們)
使用函數
value = 函數名稱(傳入的參數們)