版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1本章開(kāi)始,我們將學(xué)習(xí)如何編寫程序代碼以實(shí)現(xiàn)應(yīng)用程序的功能。應(yīng)用程序中需要處理各種各樣的數(shù)據(jù),在開(kāi)始學(xué)習(xí)編寫程序代碼之前,首先需要理解這些數(shù)據(jù)如何表示、屬于何種數(shù)據(jù)類型、如何用變量存儲(chǔ)數(shù)據(jù)以及使用運(yùn)算符構(gòu)成表達(dá)式對(duì)數(shù)據(jù)進(jìn)行運(yùn)算。23.1 數(shù)據(jù)類型3.2 變量3.3 常量3.4 類型轉(zhuǎn)換3.5 運(yùn)算符與表達(dá)式3數(shù)據(jù)是程序必須的組成部分,也是程序處理的對(duì)象。程序中使用的數(shù)據(jù)一定擁有某種類型,如數(shù)字、字符或日期等,我們稱為數(shù)據(jù)類型,分為以下兩類。 基本數(shù)據(jù)類型。 復(fù)合數(shù)據(jù)類型。4VB.NET中有16中不同的基本數(shù)據(jù)類型,可以分為以下3類。 數(shù)值類。 文本類。 其他數(shù)據(jù)類型。567Common Lan
2、guage Specification這是.NET公用語(yǔ)言規(guī)范,可以保證各種語(yǔ)言組件間的互操作性。Visual Basic.NET使用的每種數(shù)據(jù)類型都與CLS中的一種類型直接對(duì)應(yīng),這為構(gòu)建跨語(yǔ)言集成,保證代碼類型安全,確保用不同語(yǔ)言編寫的對(duì)象能夠起到交互作用打下了基礎(chǔ)。8注意,SByte、UInteger、UShort和ULong四種類型不符合公共語(yǔ)言規(guī)范(CLS),符合CLS的代碼不能使用已使用了該數(shù)據(jù)類型的組件。因此如果編寫的程序需要供其他語(yǔ)言編寫的程序使用,最好不要使用這4種類型,而以其他類型如Byte、Integer、Short、Long等代替。9數(shù)據(jù)類型表示方式 對(duì)應(yīng)CLS類型字節(jié)數(shù)
3、說(shuō)明字符串型StringSystem.String取決于實(shí)現(xiàn)平臺(tái)用于存放任何形式的字符串,可以存放0到大約20億個(gè)Unicode字符字符型CharSystem.Char2用于存放一個(gè)字符,它以065535之間數(shù)字的形式存儲(chǔ)10數(shù)據(jù)類型表示方式對(duì)應(yīng)CLS類型字節(jié)數(shù)說(shuō)明日期型DateSystem.DateTime8范圍為0001 年1月1日午夜0:00:00到9999年12月31日晚上11:59:59布爾型BooleanSystem.Boolean取決于實(shí)現(xiàn)平臺(tái)取值為True和False對(duì)象型ObjectSystem.Object4個(gè)字節(jié)(32位平臺(tái)),8個(gè)字節(jié)(64位平臺(tái))任何類型都可以存儲(chǔ)在O
4、bject類型的變量中11除了上述16種數(shù)據(jù)類型以外,VB.NET還允許用戶自定義自己的數(shù)據(jù)類型,稱為復(fù)合數(shù)據(jù)類型,包括以下3種。 數(shù)組。 結(jié)構(gòu)。 類。12變量是計(jì)算機(jī)編程中的一個(gè)重要概念,是一個(gè)可以存儲(chǔ)數(shù)據(jù)的名稱。變量是值隨著程序的運(yùn)行而變化的量。下面的代碼聲明了一個(gè)整型的變量intX,并為它賦值。 1 Dim intX As Integer =1 聲明了一個(gè)整型變量intX,并將其值賦為1 2 intX=10 此時(shí),intX值變?yōu)?013Visual Basic中的元素名稱必須遵循以下規(guī)則。 必須以字母或下劃線(_ _)開(kāi)頭。 必須只包含字母、十進(jìn)制數(shù)字和下劃線。 如果名稱以下劃線開(kāi)頭,則
5、必須包含至少一個(gè)字母或十進(jìn)制數(shù)字。 長(zhǎng)度不能超過(guò)1023個(gè)字符。 不能是Visual Basic中的關(guān)鍵字。14例如,下面這些變量名都是合法的。strtotalx15下面這些變量名都是非法的。12a 以數(shù)字開(kāi)頭ab%c 含有非法字符%dim 使用VB.NET關(guān)鍵字16VB.NET中的變量名不區(qū)分大小寫,即下面這幾個(gè)名字在VB.NET中將表示同一個(gè)變量。intXintxINTX17我們采用小寫前綴加上有特定描述意義的名字的方式來(lái)為變量命名,這種命名方法被稱為匈牙利命名法(Hungarian)。變量名的前3個(gè)字母用于說(shuō)明數(shù)據(jù)類型,第4個(gè)字母大寫以表示變量的實(shí)際含義,如下面的變量名。 str int
6、Total18VB.NET有兩種聲明變量的方法。一種是使用Dim關(guān)鍵字顯式聲明變量,其語(yǔ)法格式如下。 Dim 變量名 As 數(shù)據(jù)類型例如,Dim intX as Integer。 此行代碼聲明了一個(gè)整型的變量intX。再例如,Dim intX as Integer,c as Char。 此行代碼分別聲明了一個(gè)整型變量intX和一個(gè)字符型變量c。19另外一種方法是隱式變量聲明,即不需要使用Dim語(yǔ)句顯式聲明變量,而是在需要的時(shí)候直接使用該變量。這種方法雖然使用起來(lái)方便,但是也容易帶來(lái)許多問(wèn)題,如果將變量名拼錯(cuò)了,將會(huì)導(dǎo)致一個(gè)難以查找的錯(cuò)誤。201 intAppleSold=100 賣掉蘋果的數(shù)量
7、2 dblApplePrice=1.5 蘋果的價(jià)格3 dblTotal=intAppleSeld*dblApplePrice 賣掉蘋果的總價(jià)上面3個(gè)變量都是隱式聲明的,但計(jì)算賣掉蘋果總價(jià)的語(yǔ)句中,intAppleSold由于輸入錯(cuò)誤,寫作intAppleSeld。此時(shí),編譯器無(wú)法區(qū)分這是一個(gè)新的變量,還是輸入錯(cuò)誤,因此將intAppleSeld作為一個(gè)新的變量對(duì)待,導(dǎo)致計(jì)算錯(cuò)誤。21變量=表達(dá)式表示將賦值運(yùn)算符右邊表達(dá)式的值賦給左邊的變量。例如, intX=10 intX=intX+1 右邊表達(dá)式可以包含左邊的變量 Dim intX As Integer=10 變量聲明時(shí)賦值22常量是程序運(yùn)行
8、期間值不發(fā)生變化的量。VB.NET中的常量分為以下兩種。 文字常量。 符號(hào)常量。23文字常量是直接出現(xiàn)在程序中的數(shù)值、字符或者字符串。字符和字符串常量是用雙引號(hào)括起來(lái)的任意字符或者字符的集合。24a 單個(gè)字符Hello! 字符串常量123 十進(jìn)制&HA2 十六進(jìn)制&O123 八進(jìn)制123E8 E表示單精度123D-3 D表示雙精度25符號(hào)常量可以為文字常量取一個(gè)友好的名字,以提高程序的可讀性。另外,如果有某個(gè)數(shù)值需要在程序中多處使用,也可以將其聲明為符號(hào)常量,便于修改。符號(hào)常量聲明的語(yǔ)法格式如下。 Const 常量名 As 數(shù)據(jù)類型=表達(dá)式26下面是一些定義符號(hào)常量的例子。 C
9、onst MAXLENGTH As Integer=100 Const MINLENGTH As Integer=1 Const ERROR As String=Input message is too long!通常我們建議將符號(hào)常量名全部采用大寫來(lái)表示,以示與變量區(qū)別。27將值從一種數(shù)據(jù)類型更改為另一種類型的過(guò)程稱為類型轉(zhuǎn)換。根據(jù)轉(zhuǎn)換的結(jié)果是否在目標(biāo)數(shù)據(jù)類型的范圍內(nèi),類型轉(zhuǎn)換可以分為擴(kuò)大轉(zhuǎn)換和收縮轉(zhuǎn)換兩種。 擴(kuò)大轉(zhuǎn)換能夠維持原來(lái)的數(shù)據(jù)值,沒(méi)有數(shù)據(jù)損失。 收縮轉(zhuǎn)換從一種較大的類型轉(zhuǎn)到一種較小的類型,可能會(huì)有數(shù)據(jù)損失,不能維持原來(lái)的數(shù)值。281 Dim X As Single = 123.45
10、2 Dim Y As Integer3 Y=X Y值為123,整型第3行在賦值過(guò)程中,發(fā)生了由單精度浮點(diǎn)型向整型轉(zhuǎn)換的過(guò)程。由于整型不夠精確,不能保持小數(shù)點(diǎn)后面的數(shù)字,導(dǎo)致在類型轉(zhuǎn)換小數(shù)部分丟失。29上述類型轉(zhuǎn)換是由編譯器自動(dòng)進(jìn)行的,不需要在代碼中加入任何特殊語(yǔ)法,這種類型轉(zhuǎn)換稱為隱式轉(zhuǎn)換。30擴(kuò)大轉(zhuǎn)換許可的范圍,按照ByteShortIntegerLongDecimalSingleDouble從左至右均可進(jìn)行轉(zhuǎn)換,而從右至左的轉(zhuǎn)換則是收縮轉(zhuǎn)換。由于擴(kuò)大轉(zhuǎn)換不會(huì)造成數(shù)據(jù)丟失,總是可以轉(zhuǎn)換成功,因此始終允許隱式執(zhí)行。31VB.NET提供了類型轉(zhuǎn)換關(guān)鍵字,可以強(qiáng)制轉(zhuǎn)換為所需要的數(shù)據(jù)類型。例如, 1
11、 Dim X As Single=123.45 2 Dim Y As Integer 3 Y=Cint(X) Y值為123,整型 上面第3行中,使用了CInt關(guān)鍵字強(qiáng)制將括號(hào)中的Single類型變量X轉(zhuǎn)換為Integer類型。32算術(shù)運(yùn)算符關(guān)系運(yùn)算符連接運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符33運(yùn)算符作用+、-加、減Mod取模整除*、/乘、除-取負(fù)指數(shù)34運(yùn)算符功能小于大于=大于或等于=等于不等于Is對(duì)象比較IsNot對(duì)象比較Like字符串模式比較35“&”和“+”兩個(gè)連接運(yùn)算符?!?amp;”專門用于字符串連接;而“+”除了數(shù)值加法運(yùn)算外,也可以用于字符串連接?;菊Z(yǔ)法格式如下。 result
12、= exp1&或result = +exp236對(duì)于“&”運(yùn)算符來(lái)說(shuō),exp1和exp2都應(yīng)該是string類型或者可以擴(kuò)大轉(zhuǎn)換為string類型的表達(dá)式,連接結(jié)果result為string類型。例如 1 Dim str As String 2 str=Hello& World str值為“Hello World” 3 str=123&abc str值為“123abc”37對(duì)于“+”運(yùn)算符來(lái)說(shuō),exp1和exp2可以是string類型表達(dá)式,也可以是數(shù)值表達(dá)式。 如果exp1和exp2均為數(shù)值,結(jié)果將為它們的算術(shù)和。 如果exp1和exp2均為字符串,將把它們的
13、值連接起來(lái)作為結(jié)果;38 如果exp1是數(shù)值型,而exp2是字符串或者相反,則根據(jù)當(dāng)前Option Struct設(shè)置。 On,則產(chǎn)生編譯器錯(cuò)誤。 Off,則將Strin隱式轉(zhuǎn)換為Double,并執(zhí)行加法運(yùn)算;如果String中含有非數(shù)值的字符,則隱式轉(zhuǎn)換失敗,引發(fā)異常。我們建議對(duì)于字符串連接,只使用專用的字符串連接運(yùn)算符“&”,而不用“+”,以消除“+”運(yùn)算符的多義性,防止可能出現(xiàn)的錯(cuò)誤。39運(yùn)算符說(shuō)明And邏輯與運(yùn)算。如果兩個(gè)表達(dá)式都為true,則結(jié)果為trueOr邏輯或運(yùn)算。如果兩個(gè)表達(dá)式中有一個(gè)為true,則結(jié)果為true。僅兩個(gè)表達(dá)式全為false時(shí),結(jié)果才為falseNot邏
14、輯非運(yùn)算。如果表達(dá)式為true,則結(jié)果為false;反之如果表達(dá)式為false,則結(jié)果為trueXor邏輯異或運(yùn)算。當(dāng)兩個(gè)表達(dá)式值不同時(shí),結(jié)果為true;相同時(shí)(都是true或者都是false)結(jié)果為falseAndAlso短路與運(yùn)算。如果兩個(gè)表達(dá)式都是true,則結(jié)果為true。如果第一個(gè)表達(dá)式就是false,則不計(jì)算第二個(gè)表達(dá)式,直接返回falseOrElse短路或運(yùn)算。如果兩個(gè)表達(dá)式都是false,則結(jié)果為false。如果第一個(gè)表達(dá)式是true,則不計(jì)算第二個(gè)表達(dá)式,直接返回true40賦值運(yùn)算符(=)在3.2.2節(jié)為變量賦值時(shí)已經(jīng)介紹過(guò)。該運(yùn)算符是計(jì)算右邊表達(dá)式的值并賦值為左邊的變量。例:dim x as integerx=1041復(fù)合運(yùn)算符 算術(shù)運(yùn)算符和連接運(yùn)算符還可以和賦值運(yùn)算符一起構(gòu)成復(fù)合的賦值運(yùn)算符,如+=、-=、*=、/=、=、=、&=等。 這些運(yùn)算符同樣進(jìn)行賦值操作,取左邊變量的值與右邊表達(dá)式進(jìn)行運(yùn)算之后,再將運(yùn)算結(jié)果賦值給左邊的變量。421 Dim num1 As Integer = 102 Dim num2 As Integer = 33 n
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省邵陽(yáng)市邵東市2024-2025學(xué)年七年級(jí)上學(xué)期期中地理試題(含答案)
- 2024建筑行業(yè)分包協(xié)議樣本
- 2024年專業(yè)包工包料建房協(xié)議范本
- 2024年無(wú)息借款協(xié)議格式樣本
- 2024專業(yè)內(nèi)墻抹灰施工服務(wù)協(xié)議模板
- 2024房地產(chǎn)居間服務(wù)協(xié)議范本2
- 2024年度煙草購(gòu)銷交易協(xié)議
- 2024年化河沙購(gòu)買協(xié)議
- 2024年規(guī)范寵物領(lǐng)養(yǎng)協(xié)議樣本
- 2024年適用代理協(xié)議終止協(xié)議樣式
- 干部人事檔案專項(xiàng)審核認(rèn)定表填寫模板
- STEMI溶栓流程圖(第一版)
- 復(fù)變函數(shù)與積分變換全套精美課件
- 小學(xué)四年級(jí)英語(yǔ)教師發(fā)言稿6篇
- 人性化設(shè)計(jì)產(chǎn)品案例課件
- 中等職業(yè)學(xué)校人才培養(yǎng)工作狀態(tài)數(shù)據(jù)采集與管理平臺(tái)數(shù)據(jù)結(jié)構(gòu)
- 特種設(shè)備安全管理人員、作業(yè)人員管理和培訓(xùn)制度
- 新蘇教版2022-2023五年級(jí)科學(xué)上冊(cè)第19課《我們的大腦》課件
- 湖北省黃石市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 裝飾、裝修安全教育培訓(xùn)試卷+答案
- 《對(duì)校園欺凌說(shuō)“不”》教學(xué)設(shè)計(jì)-《心理健康教育》七年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論