VB 2005資料型別與運算子.

Slides:



Advertisements
Similar presentations
JAVA 编 程 技 术 主编 贾振华 2010年1月.
Advertisements

第二章 VB程序设计基础 第1节 Visual Basic 概述 1.1 Visual Basic简介 1.2 面向对象的程序设计概念
第2章 Visual Basic 6.0编程基础 (第一部分)
5.1 掌握Power Scrip语言 5.2 使用控件 实训五 控件应用
第 4 章 PHP 基本語法.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
佛教大雄中學 2007年度香港中學會考 放榜輔導 升學及就業輔導組.
本章大綱 2-1、程式、程式語言、程式架構 2-2、變數與資料型態 2-3、常數 2-4、 運算式、運算子和運算元
課程名稱:程式設計 授課老師:________
C#程序设计 10软件1、2班 王槐彬 计算机工程学院.
第 二 课 程序组成、基本数据类型、表达式 我们以上一章练习题为例说明Pascal程序的结构形式:
Ch07 PHP程式基礎 網頁程式設計.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
ASP VBScript 基础知识.
BLANK overview.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第二章 Visual Basic语言基础.
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第二章 C# 基础知识.
第3章 變數、資料型別與運算子.
程式語言 -Visual Basic 變數、常數與資料型態.
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
本單元介紹何謂變數,及說明變數的宣告方式。
JAVA程序设计 第5章 深入理解JAVA语言----补充.
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
初识Visual Basic.
算法与程序设计.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
程序的基本要素 2018/12/6.
Visual Basic 程序设计 教师:王 杨 电话:
第3章 Visual Basic语言基础 郭清溥.
Chapter 2 Basic Elements of Fortran
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
變數命名 保留字(Reserved Word)
新觀念的 VB6 教本 第 6 章 資料型別.
算法与程序设计 周少品.
明解C++教學手冊 柴田望洋 博士 著 書號:PG20269
第三章 VB语言基础 本章重点和难点 3.1 Visual Basic 程序代码的组织方式 3.2 代码行的书写规则
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
第三章 C# 基础知识.
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第2章 VB语言基础 本章要点: 数据类型 常量和变量 运算符表达式 函数.
第三课 标识符、关键字、数据类型.
Java變數 2014/6/24.
Chapter 2 基本語法.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
第二章、第三章错题分析.
保留字與識別字.
第二章 Java基本语法 讲师:复凡.
第6章 運算式與運算子 [算術與多功能計算機]
第二章 Java语法基础.
本节内容 Lua基本语法.
Review 1~3.
第2章 JavaScript语言基础 2.1 数据类型、常量及变量.
第二章 Java基本语法 讲师:复凡.
Introduction to the C Programming Language
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
變數、資料型態、運算子.
第6章 PHP基本語法介紹.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
變數與資料型態  綠園.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
App Inventor 2.
Presentation transcript:

VB 2005資料型別與運算子

變數與資料型別 我們都知道執行程式時,必須先將程式和資料載入電腦的記憶體(RAM)中才能執行,若該資料會隨著程式的執行而變更其值,我們稱之為變數(Variable)。 程式中的資料是如何放入記憶體呢?

變數與資料型別 在VB 2005的程式中宣告(Declare)一個變數並賦予變數名稱後,VB 2005會向系統要求一個空的記憶體空間給該變數使用,用來暫時存放程式執行過程中或最後結果,至於所保留記憶體位址空間的大小視所使用的資料型別而定。 所以,熟悉一個語言的資料型別和變數的活用是學習程式設計的第一步驟。

變數的命名規則 程式中若使用變數來存放資料時,必須先為該變數命名,以方便在程式中參用,VB 2005提供了下列有關變數的命名規則,在編寫程式時必須遵守,以免程式編譯時發生錯誤:

變數的命名規則 1, 變數名稱第一個字元允許以大小字母、 _、 或 中文名稱開頭,後面的字元可接A-Z﹑a-z﹑0-9或 _ 等字元。若第一個字元是 _ 開頭,後面必須接字母或數字。為避免混淆建議不要以中文字當變數名稱。 2, 撰寫程式時不允許保留字(Reserve Word)拿來 當變數使用。 保留字又稱關鍵字(Keyword),是VB 2005 事先賦予某個字做特別的用途,以供程式設計呼叫或使用。

變數的命名規則 變數名稱在VB 2005是大小寫不分 為提高變數名稱的可讀性與易記,建議變數的命名最好有意義﹑名稱最好和資料有關係 並且以小寫開頭若有兩個以上單字合併成一個變數名稱可在第二單字以後每個單字的第一個字元以大寫表示,或在每個單字間加底線,或每個單字第一個字元以大寫來區隔。 如:電話號碼以telNo、tel_no當做變 數名稱。

變數的命名規則 下面示範變數名稱的命名,下列變數命名方式是正確的: goodLuck (兩個單字組成的變數, 第一個單字以小寫開頭) seven_eleven (兩個單字中間可使用_區隔) _score (第一個字也可以使用_)

變數的命名規則 下列識別字命名方式是錯誤的: goodLuck 7_eleven B&Q As _ (中間不能使用空格) (第一個字元不可以是數字) B&Q (&是運算子,不可以當做變數名稱的字元) As (As是保留字) _ (不能單用一個 _ 字元)

變數的種類與資料型別

變數的種類與資料型別

變數的種類與資料型別

變數的宣告和初值設定 VB 2005的程式中,若有使用到變數,必須先使用 Dim宣告變數的資料型別 若在宣告時未設定其初值 數值變數預設為0 字串變數預設為 ”” 空字串 布林變數預設為False 下面簡例使用Dim示範宣告變數:

變數的宣告和初值設定 在以前VB的版本若變數未經宣告就直接使用,系統內定為自由型別變數(Variant)。 但是在VB .NET或VB 2005中,變數必須先經過宣告確定其資料型別後,方可使用該變數,主要是為了避免因資料間做資料型別轉變時發生錯誤。 當然在宣告的同時也可如上面敘述直接使用「=」指定運算子(Assignment Operator)來設定初值。 多個變數一起宣告,變數之間使用逗號加以區隔。

數值變數

數值變數 下面我們提出三點要注意的地方: 1.Single單精確度變數資料型別的數值資料若超過7位數(如312000000),會以科學記號方式處理(即3120000003.12108。Double倍精確度變數資料型別的數值資料若超過15位數會以科學記號表示。兩者的科學記號表示處理,如下: aE±c 其中: a:表示數值,其範圍為 1≦a<10 E:代表底數10 c:代表10的指數值。若為正,前面『+』號會省略;若負值,則前面加『-』。

數值變數 2. 貨幣型別變數是整數型別的延伸,它以128 Bits(16 Bytes)整數格式的數字形式儲存,使得整數亦可處理的實數可達含小數點共29位。常數若超過15位,在常數後面加@符號,以表示此常數資料型別為Decimal。例如: Dim num As Decimal num = 12345678901234.56789@ ‘將數值指定給num貨幣變數 Console.WriteLine(num) ‘主控台印出12345678901234.56789

數值變數 3.單精確度變數與貨幣型別變數使用的差異 Dim x As Single=1.25 , y As Single =1.2 Console.WriteLine(x-y) 結果印出0.04999995 而不是0.05 欲得到0.05正確的結果必須將上面第一行宣告改為: Dim x As Decimal =1.25, y As Decimal =1.2

字元變數(Char)與字串變數(String) 在VB .NET或VB 2005的字串變數所佔用的記憶體位址大小會視字串長度而定。 字串資料頭尾必須使用雙引號框住,但要注意在編輯字串資料時,若在字串的右邊缺少雙引號,編輯器會自動幫你補上。 若是在字串的左邊缺少雙引號,編輯器則不會自動補上。

字元變數(Char)與字串變數(String) [例1]宣告lastName為字元變數預設值為“張”;middleName為字串變數預設值為 “David”,使用 + 號做字串合併,並在主控台顯示 “David張您好!”。其寫法如下: Dim lastName As Char = "張", middleName As String = "David" Console.WriteLine( middleName + lastName + "您好!") [例2]宣告name為字串變數預設值為 ”張Sir”;也可以使用 & 號做字串合併,並在主控台顯示 “張Sir您好!”。其寫法如下: Dim name As String = "張Sir" Console.WriteLine(name & "您好!")

日期變數(Date) 此變數用來存放日期資料,在日期資料前後要加「#」。 譬如下列三種寫法均代表日期2006/6/1:  #June 1, 2006#  #1 Jun 06#  #6/1/2006#

日期變數(Date) [例] 宣告birthday為日期變數,並設其初值為 『2006 /3/31下午11:34: 56』其寫法如下: Dim birthday As Date '宣告birthday為日期變數 birthday=#3/31/2006 11:34:56 PM#‘將西元2006年3月31日下午11時34分56秒指定給birthday Console.WriteLine(birthday) '顯示「2006/3/31

布林變數(Boolean) 此變數只有True(真) 或False(假)兩種結果,主要用來當作旗標(Flag),作為流程判斷用。 [例] 宣告openFlag為布林變數,其初值設為True,將布林變數作加減,並將結果顯示在主控台上,其寫法如下: Dim openFlag As Boolean openFlag=True ‘上述兩行可合併為Dim openFlag As Boolean=True Console.WriteLine(10+openFlag) 'openFlag自動轉成數值-1,結果顯示9

物件型別變數(Object) 為程式需要,該變數允許為任意型別的資料,以方便程式中隨時更改其型別而不發生錯誤將此類的變數宣告成「物件型別變數」。 此種變數裡面可存放數值、字串,甚至物件,很有彈性但要付出多佔用記憶體以及運算速度變慢的代價,宣告時宜三思。 例如:將car宣告成物件型別變數,其寫法如下: Dim car As Object Dim car ' 若變數沒有宣告型別,則預設為物件型別變數 使用Dim car宣告變數時,省略As和資料型別,則該變數視為物件型別變數。

物件型別變數(Object) [例] 物件型別變數的資料型別轉換 Dim var1 As Object ‘ 宣告var1是物件型別變數 var1 = 123 ‘ var1變成整數型別變數 Console.WriteLine(var1) ‘ 顯示123 var1 = “Hello” ‘ var1變成字串型別變數 Console.WriteLine(var1) ‘ 顯示Hello var1 = 12.5 ‘ var1變成單精確度型別變數 Console.WriteLine(var1) ‘顯示12.5

常數 程式執行過程中有些值在程式中會重複出現,但其值不會被改變,VB 2005允許您使用一個有意義的名稱來取代這些不會改變的數字或字串,我們稱為「常數」(Constant)名稱。 譬如:稅率、圓周率、…等、或常用的字串、日期,這時我們可以使用「常數」名稱來代替這個常值。

常數 「常數」與「變數」雖然都有名稱,但兩者性質不同。在程式執行過程中,「變數」可能會隨時因敘述指定常值而更改變其值。 而「常數」一旦經過宣告使用,在整個程式流程中會一直保有當初宣告時所指定的常數值。 常數名稱是用Const來宣告的,在宣告的同時立即指定一個常值做為該「常數」的常數值,在程式中只要使用到這個常值,都可以此「常數」名稱來代替。

常數 使用常數可增加程式可讀性。 若在程式執行過程中,將其值不變的常值,使用常數名稱來代替,在閱讀程式時較能體會出該常值的意義而且維護程式碼時易修改

常數 譬如:程式中有多處敘述需要使用到圓周率3.14,就必須在這些敘述中鍵入3.14。 當須將圓周率3.14改成3.14159時,就得逐行 將它改成3.14159。 若事先在程式開頭使用Const 宣告一個常數(名稱為PI),並指定常數值為 3.14,而在程式中需要使用到圓周率的地方直接鍵入 PI。

常數 當您必須將圓周率 3.14 改成 3.14159時,只須更改 Const 宣告 PI 常數的常數值即可。 Dim r As Integer r = 10 Label1.Text = "2 * PI * r = " & (2 * PI * r)

變數 設計程式時,要特別注意變數一定要使用 Dim 事先宣告,否則,在編輯程式過程碰到要存取該變數時,在該變數正下方會出現藍色波浪底線,告知此變數尚未使用Dim宣告。 同時為了避免有些變數再程式執行時佔用時間很短,卻一直保留在記憶體,不但浪費記憶體空間而且易誤用。 因此,VB 2005 對變數按照變數在程式中的宣告位置,將變數區分為全域變數(Global Variable)與區域變數(Local Variable),來決定該變數的有效範圍(或稱生命期):

全域變數 全域變數(Global Variable) 若將變數宣告在函式外面,VB 2005 視為全域變數,這種變數的有效範圍(生命期)是由該變數宣告開始至程式結束,一直佔用記憶體,供整個 VB 2005存取。

區域變數 區域變數(Local Variable) 若將變數宣告在函式裡面或在某個程式區塊中(如迴圈中),即屬於區域變數。 這類變數的有效範圍僅限在該函式(或區塊)的範圍內存取,離開該範圍該變數便自動由記憶體中釋放掉。 因此,區域變數在該有效範圍外,便無法存取該變數。

VB 2005運算子 運算子(Operator)是用來指定資料做何種運算。 運算子按照運算時所需要的運算元(Operand) 數目分成: 單元運算子(Unary Operator)如:-5 二元運算子(Binary Operator)如:a+b。 (a + b) 為一個加法運算式(Expression) 其中 a、b為運算元,加號為運算子,由於加號 運算子在運算時需要兩個運算元,因此稱為 二元運算子。

算術運算子

關係運算子 「關係運算式」可用來比較數值或字串的大小。 「關係運算式」經過運算之後,其結果會傳回布林值真(True)或假(False),透過其結果來決定程式的執行流程。 下表是VB 2005所提供的關係運算子與關係運算式:

[註1]:Like運算子樣式包括: Like運算子  ? :該位置字元允許使用任何單一字元。  # :該位置字元只允許使用數字字元。  * :該位置字元後面接的字元數不拘或為0個。  [charlist]:允許使用charlist內任何單一字元。  [!charlist]:不允許使用charlist內任何單一字元。

Is運算子 [註2]:Is運算子是一種物件參考比較運算子。它不會比較物件或物件值;而是只進行檢查,判斷兩個物件參考是否代表同一物件。 Dim myObject, otherObject As New Object Dim yourObject, thisObject, thatObject As Object Dim myCheck As Boolean yourObject = myObject thisObject = myObject thatObject = otherObject myCheck = yourObject Is thisObject'Returns True. myCheck = thatObject Is thisObject'Returns False. myCheck = myObject Is thatObject 'Returns False, if myObject is not thatObject.

IsNot運算子 3:IsNot運算子的功能與Is相反,它可以用來判斷兩個物件參考是否代表不同物件。 4:觀察Like子句樣式用法 Dim chkFlag As Boolean  chkFlag = "A" Like "A" ' True  chkFlag = "a" Like "A" ' False  chkFlag = "A" Like "AAA" ' False  chkFlag = "Windows" Like "W*s" ' True  chkFlag = "W" Like "[A-Z]" ' True  chkFlag = "W" Like "[!A-Z]" ' False  chkFlag = "y2k" Like "y#k" ' True  chkFlag = "aM5b" Like "a[L-P]#[!c-e]"' True  chkFlag = "Wish168" Like "W?s*" ' True  chkFlag = "Wish168" Like "w?s*" ' False

邏輯運算式 「邏輯運算式」一般都是用來連結多個關係運算式,它可以用來測試較複雜的條件。 譬如:使用age變數當年齡,若條件為:10<age20 (大於10歲且小於等於20歲),其邏輯運算式的寫法如下: If (age>10) And (age<=20) then 其中(age>10)和(age<=20)兩者為關係運算式,兩者間利用And邏輯運算子來連結。同樣地,邏輯運算式的運算結果只有真(True)或假(False)。

And、Or、Not、XOR邏輯運算子 下表中A 和 B 兩個都是運算式,每個運算式的結果只有True和False兩種結果,因此有下列四種組合。下表列出經過 And、Or、Xor、No t四種邏輯運算後所有可能的結果:

AndAlso/OrElse邏輯運算子 下表中A和B兩個都是運算式,每個運算式的結果只有True和False兩種結果,因此有下列三種組合。下表列出經過 AndAlso、OrElse 兩種邏輯運算後所有可能的結果:

AndAlso/OrElse邏輯運算子 [例1] 若a 值為5,求下列邏輯運算後的結果: [例2] (a >1) And (a<=10) '檢查 1< a <10 結果為真 (a<1) Or (a>=5) ‘檢查a是否小於1或是大於等於5結果為True [例2] Dim x As Integer = 7 Dim y As Integer = 5 Dim z As Integer = 3 Dim flag As Boolean f lag = x > y AndAlso y > z ' True 第二運算式有評估 flag = y > x AndAlso y > z ' False 第二運算式不評估 flag = x > y AndAlso z > y ' False 第二運算式有評估 flag = x > y OrElse y > z ' True 第二運算式不評估 flag = y > x OrElse y > z ' True 第二運算式有評估 flag = y > x OrElse z > y ' False第二運算式有評估

複合指定運算子(Assignmemt Operator) 程式中,需要指定某個變數的值、將某個變數或某運算式的結果指定給某個變數,就必須使用指定運算子來完成。 指定運算子是以等號(=)來表示。 若一個指定運算子的兩邊有相同的變數名稱可採複合指定運算子(Combination assignment operator)來表示。 譬如:i=i+5為一個指定運算式,由於指定運算子等號兩邊都有相同的變數i,可改寫 i+=5。 要記得等號左邊的運算元必須為變數、陣列元素、結構成員、或參考型別變數,不可為運算式或常數。

複合指定運算子(Assignmemt Operator)

複合指定運算子(Assignmemt Operator) [例1] Dim num1 As Integer = 16 Dim num2 As Integer = 8 Dim num3 As Integer num3=num1 & num2 ’ num3結果為168 ‘ &前面一定要有空白,num3=num1 & num2 改成 ‘ num3=num1+num2 ,num3的結果為24 [例2] Dim var1 As String = "921 " Dim var2 As String = "大地震!" var1 &= var2 'var1 結果為 "921 大地震!" ' 若將 var1 &=var2 改成 var1+=var2, ' 則 var1 的結果都是 "921 大地震!"。

運算子的優先順序

運算子的優先順序