從學習VBNET基本要素開始學習編程_第1頁
從學習VBNET基本要素開始學習編程_第2頁
從學習VBNET基本要素開始學習編程_第3頁
從學習VBNET基本要素開始學習編程_第4頁
從學習VBNET基本要素開始學習編程_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1本章開始,我們將學習如何編寫程序代碼以實現應用程序的功能。應用程序中需要處理各種各樣的數據,在開始學習編寫程序代碼之前,首先需要理解這些數據如何表示、屬于何種數據類型、如何用變量存儲數據以及使用運算符構成表達式對數據進行運算。23.1 數據類型3.2 變量3.3 常量3.4 類型轉換3.5 運算符與表達式3數據是程序必須的組成部分,也是程序處理的對象。程序中使用的數據一定擁有某種類型,如數字、字符或日期等,我們稱為數據類型,分為以下兩類。 基本數據類型。 復合數據類型。4VB.NET中有16中不同的基本數據類型,可以分為以下3類。 數值類。 文本類。 其他數據類型。567Common Lan

2、guage Specification這是.NET公用語言規(guī)范,可以保證各種語言組件間的互操作性。Visual Basic.NET使用的每種數據類型都與CLS中的一種類型直接對應,這為構建跨語言集成,保證代碼類型安全,確保用不同語言編寫的對象能夠起到交互作用打下了基礎。8注意,SByte、UInteger、UShort和ULong四種類型不符合公共語言規(guī)范(CLS),符合CLS的代碼不能使用已使用了該數據類型的組件。因此如果編寫的程序需要供其他語言編寫的程序使用,最好不要使用這4種類型,而以其他類型如Byte、Integer、Short、Long等代替。9數據類型表示方式 對應CLS類型字節(jié)數

3、說明字符串型StringSystem.String取決于實現平臺用于存放任何形式的字符串,可以存放0到大約20億個Unicode字符字符型CharSystem.Char2用于存放一個字符,它以065535之間數字的形式存儲10數據類型表示方式對應CLS類型字節(jié)數說明日期型DateSystem.DateTime8范圍為0001 年1月1日午夜0:00:00到9999年12月31日晚上11:59:59布爾型BooleanSystem.Boolean取決于實現平臺取值為True和False對象型ObjectSystem.Object4個字節(jié)(32位平臺),8個字節(jié)(64位平臺)任何類型都可以存儲在O

4、bject類型的變量中11除了上述16種數據類型以外,VB.NET還允許用戶自定義自己的數據類型,稱為復合數據類型,包括以下3種。 數組。 結構。 類。12變量是計算機編程中的一個重要概念,是一個可以存儲數據的名稱。變量是值隨著程序的運行而變化的量。下面的代碼聲明了一個整型的變量intX,并為它賦值。 1 Dim intX As Integer =1 聲明了一個整型變量intX,并將其值賦為1 2 intX=10 此時,intX值變?yōu)?013Visual Basic中的元素名稱必須遵循以下規(guī)則。 必須以字母或下劃線(_ _)開頭。 必須只包含字母、十進制數字和下劃線。 如果名稱以下劃線開頭,則

5、必須包含至少一個字母或十進制數字。 長度不能超過1023個字符。 不能是Visual Basic中的關鍵字。14例如,下面這些變量名都是合法的。strtotalx15下面這些變量名都是非法的。12a 以數字開頭ab%c 含有非法字符%dim 使用VB.NET關鍵字16VB.NET中的變量名不區(qū)分大小寫,即下面這幾個名字在VB.NET中將表示同一個變量。intXintxINTX17我們采用小寫前綴加上有特定描述意義的名字的方式來為變量命名,這種命名方法被稱為匈牙利命名法(Hungarian)。變量名的前3個字母用于說明數據類型,第4個字母大寫以表示變量的實際含義,如下面的變量名。 str int

6、Total18VB.NET有兩種聲明變量的方法。一種是使用Dim關鍵字顯式聲明變量,其語法格式如下。 Dim 變量名 As 數據類型例如,Dim intX as Integer。 此行代碼聲明了一個整型的變量intX。再例如,Dim intX as Integer,c as Char。 此行代碼分別聲明了一個整型變量intX和一個字符型變量c。19另外一種方法是隱式變量聲明,即不需要使用Dim語句顯式聲明變量,而是在需要的時候直接使用該變量。這種方法雖然使用起來方便,但是也容易帶來許多問題,如果將變量名拼錯了,將會導致一個難以查找的錯誤。201 intAppleSold=100 賣掉蘋果的數量

7、2 dblApplePrice=1.5 蘋果的價格3 dblTotal=intAppleSeld*dblApplePrice 賣掉蘋果的總價上面3個變量都是隱式聲明的,但計算賣掉蘋果總價的語句中,intAppleSold由于輸入錯誤,寫作intAppleSeld。此時,編譯器無法區(qū)分這是一個新的變量,還是輸入錯誤,因此將intAppleSeld作為一個新的變量對待,導致計算錯誤。21變量=表達式表示將賦值運算符右邊表達式的值賦給左邊的變量。例如, intX=10 intX=intX+1 右邊表達式可以包含左邊的變量 Dim intX As Integer=10 變量聲明時賦值22常量是程序運行

8、期間值不發(fā)生變化的量。VB.NET中的常量分為以下兩種。 文字常量。 符號常量。23文字常量是直接出現在程序中的數值、字符或者字符串。字符和字符串常量是用雙引號括起來的任意字符或者字符的集合。24a 單個字符Hello! 字符串常量123 十進制&HA2 十六進制&O123 八進制123E8 E表示單精度123D-3 D表示雙精度25符號常量可以為文字常量取一個友好的名字,以提高程序的可讀性。另外,如果有某個數值需要在程序中多處使用,也可以將其聲明為符號常量,便于修改。符號常量聲明的語法格式如下。 Const 常量名 As 數據類型=表達式26下面是一些定義符號常量的例子。 C

9、onst MAXLENGTH As Integer=100 Const MINLENGTH As Integer=1 Const ERROR As String=Input message is too long!通常我們建議將符號常量名全部采用大寫來表示,以示與變量區(qū)別。27將值從一種數據類型更改為另一種類型的過程稱為類型轉換。根據轉換的結果是否在目標數據類型的范圍內,類型轉換可以分為擴大轉換和收縮轉換兩種。 擴大轉換能夠維持原來的數據值,沒有數據損失。 收縮轉換從一種較大的類型轉到一種較小的類型,可能會有數據損失,不能維持原來的數值。281 Dim X As Single = 123.45

10、2 Dim Y As Integer3 Y=X Y值為123,整型第3行在賦值過程中,發(fā)生了由單精度浮點型向整型轉換的過程。由于整型不夠精確,不能保持小數點后面的數字,導致在類型轉換小數部分丟失。29上述類型轉換是由編譯器自動進行的,不需要在代碼中加入任何特殊語法,這種類型轉換稱為隱式轉換。30擴大轉換許可的范圍,按照ByteShortIntegerLongDecimalSingleDouble從左至右均可進行轉換,而從右至左的轉換則是收縮轉換。由于擴大轉換不會造成數據丟失,總是可以轉換成功,因此始終允許隱式執(zhí)行。31VB.NET提供了類型轉換關鍵字,可以強制轉換為所需要的數據類型。例如, 1

11、 Dim X As Single=123.45 2 Dim Y As Integer 3 Y=Cint(X) Y值為123,整型 上面第3行中,使用了CInt關鍵字強制將括號中的Single類型變量X轉換為Integer類型。32算術運算符關系運算符連接運算符邏輯運算符賦值運算符33運算符作用+、-加、減Mod取模整除*、/乘、除-取負指數34運算符功能小于大于=大于或等于=等于不等于Is對象比較IsNot對象比較Like字符串模式比較35“&”和“+”兩個連接運算符?!?amp;”專門用于字符串連接;而“+”除了數值加法運算外,也可以用于字符串連接?;菊Z法格式如下。 result

12、= exp1&或result = +exp236對于“&”運算符來說,exp1和exp2都應該是string類型或者可以擴大轉換為string類型的表達式,連接結果result為string類型。例如 1 Dim str As String 2 str=Hello& World str值為“Hello World” 3 str=123&abc str值為“123abc”37對于“+”運算符來說,exp1和exp2可以是string類型表達式,也可以是數值表達式。 如果exp1和exp2均為數值,結果將為它們的算術和。 如果exp1和exp2均為字符串,將把它們的

13、值連接起來作為結果;38 如果exp1是數值型,而exp2是字符串或者相反,則根據當前Option Struct設置。 On,則產生編譯器錯誤。 Off,則將Strin隱式轉換為Double,并執(zhí)行加法運算;如果String中含有非數值的字符,則隱式轉換失敗,引發(fā)異常。我們建議對于字符串連接,只使用專用的字符串連接運算符“&”,而不用“+”,以消除“+”運算符的多義性,防止可能出現的錯誤。39運算符說明And邏輯與運算。如果兩個表達式都為true,則結果為trueOr邏輯或運算。如果兩個表達式中有一個為true,則結果為true。僅兩個表達式全為false時,結果才為falseNot邏

14、輯非運算。如果表達式為true,則結果為false;反之如果表達式為false,則結果為trueXor邏輯異或運算。當兩個表達式值不同時,結果為true;相同時(都是true或者都是false)結果為falseAndAlso短路與運算。如果兩個表達式都是true,則結果為true。如果第一個表達式就是false,則不計算第二個表達式,直接返回falseOrElse短路或運算。如果兩個表達式都是false,則結果為false。如果第一個表達式是true,則不計算第二個表達式,直接返回true40賦值運算符(=)在3.2.2節(jié)為變量賦值時已經介紹過。該運算符是計算右邊表達式的值并賦值為左邊的變量。例:dim x as integerx=1041復合運算符 算術運算符和連接運算符還可以和賦值運算符一起構成復合的賦值運算符,如+=、-=、*=、/=、=、=、&=等。 這些運算符同樣進行賦值操作,取左邊變量的值與右邊表達式進行運算之后,再將運算結果賦值給左邊的變量。421 Dim num1 As Integer = 102 Dim num2 As Integer = 33 n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論