




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章從學(xué)習(xí)VB.NET基本要素開始學(xué)習(xí)編程本章開始,我們將學(xué)習(xí)如何編寫程序代碼以實現(xiàn)應(yīng)用程序的功能。應(yīng)用程序中需要處理各種各樣的數(shù)據(jù),在開始學(xué)習(xí)編寫程序代碼之前,首先需要理解這些數(shù)據(jù)如何表示、屬于何種數(shù)據(jù)類型、如何用變量存儲數(shù)據(jù)以及使用運(yùn)算符構(gòu)成表達(dá)式對數(shù)據(jù)進(jìn)行運(yùn)算。章節(jié)內(nèi)容3.1數(shù)據(jù)類型3.2變量3.3常量3.4類型轉(zhuǎn)換3.5運(yùn)算符與表達(dá)式3.1數(shù)據(jù)類型數(shù)據(jù)是程序必須的組成部分,也是程序處理的對象。程序中使用的數(shù)據(jù)一定擁有某種類型,如數(shù)字、字符或日期等,我們稱為數(shù)據(jù)類型,分為以下兩類?;緮?shù)據(jù)類型。復(fù)合數(shù)據(jù)類型。3.1.1基本數(shù)據(jù)類型VB.NET中有16中不同的基本數(shù)據(jù)類型,可以分為以下3類。數(shù)值類。文本類。其他數(shù)據(jù)類型。數(shù)值類數(shù)據(jù)類型表示方式對應(yīng)CLS類型字節(jié)數(shù)取值范圍說明整型IntegerSystem.Int324-2,147,483,648~2,147,483,647(有符號)用于表示簡單整數(shù)字節(jié)型ByteSystem.Byte1
0~255用于簡單算術(shù)運(yùn)算。由于這個類型的變量可以在一個字節(jié)中存儲,所以運(yùn)算速度最快有符號字節(jié)型SByte無4-128~127(有符號)短整型ShortSystem.Int162–32768~32767(有符號)是整型的一種形式,相對表示范圍較小長整型LongSystem.Int648(有符號)-9,223,372,036,854,775,808~9,223,372,036,854,775,807(9.2E+18)是整型的一種形式,相對表示范圍較大單精度型SingleSystem.Single4對于負(fù)值,為-3.4028235E+38~-1.401298E-45;對于正值,為1.401298E-45~3.4028235E+38用于存放單精度浮點數(shù)接上表雙精度型DoubleSystem.Double4對于負(fù)值,為-1.79769313486231570E+308~-4.94065645841246544E-324;對于正值,為4.94065645841246544E-324~1.79769313486231570E+308用于存放雙精度浮點數(shù)小數(shù)DecimalSystem.Decimal160~±79,228,162,514,264,337,593,543,950,335(±7.9E+28),不包含小數(shù)點;0~±7.9228162514264337593543950335,包含小數(shù)點右邊28位;最小非零數(shù)為±0.0000000000000000000000000001(±1E-28)常用于存儲貨幣值無符號整型UInteger無40~4,294,967,295(無符號)無符號短整型UShort無20~65,535(無符號)無符號長整型ULong無80~18,446,744,073,709,551,615(1.8E+19)(無符號)什么是CLS?CommonLanguageSpecification這是.NET公用語言規(guī)范,可以保證各種語言組件間的互操作性。VisualBasic.NET使用的每種數(shù)據(jù)類型都與CLS中的一種類型直接對應(yīng),這為構(gòu)建跨語言集成,保證代碼類型安全,確保用不同語言編寫的對象能夠起到交互作用打下了基礎(chǔ)。注意,SByte、UInteger、UShort和ULong四種類型不符合公共語言規(guī)范(CLS),符合CLS的代碼不能使用已使用了該數(shù)據(jù)類型的組件。因此如果編寫的程序需要供其他語言編寫的程序使用,最好不要使用這4種類型,而以其他類型如Byte、Integer、Short、Long等代替。文本類數(shù)據(jù)類型表示方式對應(yīng)CLS類型字節(jié)數(shù)說明字符串型StringSystem.String取決于實現(xiàn)平臺用于存放任何形式的字符串,可以存放0到大約20億個Unicode字符字符型CharSystem.Char2用于存放一個字符,它以0~65535之間數(shù)字的形式存儲其他數(shù)據(jù)類型表示方式對應(yīng)CLS類型字節(jié)數(shù)說明日期型DateSystem.DateTime8范圍為0001
年1月1日午夜0:00:00到9999年12月31日晚上11:59:59布爾型BooleanSystem.Boolean取決于實現(xiàn)平臺取值為True和False對象型ObjectSystem.Object4個字節(jié)(32位平臺),8個字節(jié)(64位平臺)任何類型都可以存儲在Object類型的變量中3.1.2復(fù)合數(shù)據(jù)類型除了上述16種數(shù)據(jù)類型以外,VB.NET還允許用戶自定義自己的數(shù)據(jù)類型,稱為復(fù)合數(shù)據(jù)類型,包括以下3種。數(shù)組。結(jié)構(gòu)。類。3.2變量變量是計算機(jī)編程中的一個重要概念,是一個可以存儲數(shù)據(jù)的名稱。變量是值隨著程序的運(yùn)行而變化的量。下面的代碼聲明了一個整型的變量intX,并為它賦值。1DimintXAsInteger=1'聲明了一個整型變量intX,并將其值賦為12intX=10'此時,intX值變?yōu)?0變量命名規(guī)則VisualBasic中的元素名稱必須遵循以下規(guī)則。必須以字母或下劃線(_)開頭。必須只包含字母、十進(jìn)制數(shù)字和下劃線。如果名稱以下劃線開頭,則必須包含至少一個字母或十進(jìn)制數(shù)字。長度不能超過1023個字符。不能是VisualBasic中的關(guān)鍵字。例如,下面這些變量名都是合法的。 str total x下面這些變量名都是非法的。
12a'以數(shù)字開頭 ab%c'含有非法字符% dim'使用VB.NET關(guān)鍵字VB.NET中的變量名不區(qū)分大小寫,即下面這幾個名字在VB.NET中將表示同一個變量。 intX intx INTX匈牙利命名法(Hungarian)我們采用小寫前綴加上有特定描述意義的名字的方式來為變量命名,這種命名方法被稱為匈牙利命名法(Hungarian)。變量名的前3個字母用于說明數(shù)據(jù)類型,第4個字母大寫以表示變量的實際含義,如下面的變量名。strFileNameintTotal變量聲明VB.NET有兩種聲明變量的方法。一種是使用Dim關(guān)鍵字顯式聲明變量,其語法格式如下。Dim變量名As數(shù)據(jù)類型例如,DimintXasInteger。此行代碼聲明了一個整型的變量intX。再例如,DimintXasInteger,casChar。此行代碼分別聲明了一個整型變量intX和一個字符型變量c。另外一種方法是隱式變量聲明,即不需要使用Dim語句顯式聲明變量,而是在需要的時候直接使用該變量。這種方法雖然使用起來方便,但是也容易帶來許多問題,如果將變量名拼錯了,將會導(dǎo)致一個難以查找的錯誤。1intAppleSold=100'
賣掉蘋果的數(shù)量2dblApplePrice=1.5'蘋果的價格3dblTotal=intAppleSeld*dblApplePrice
'賣掉蘋果的總價上面3個變量都是隱式聲明的,但計算賣掉蘋果總價的語句中,intAppleSold由于輸入錯誤,寫作intAppleSeld。此時,編譯器無法區(qū)分這是一個新的變量,還是輸入錯誤,因此將intAppleSeld作為一個新的變量對待,導(dǎo)致計算錯誤。變量賦值變量=表達(dá)式表示將賦值運(yùn)算符右邊表達(dá)式的值賦給左邊的變量。例如,intX=10intX=intX+1'右邊表達(dá)式可以包含左邊的變量DimintXAsInteger=10'變量聲明時賦值3.3常量常量是程序運(yùn)行期間值不發(fā)生變化的量。VB.NET中的常量分為以下兩種。文字常量。符號常量。文字常量文字常量是直接出現(xiàn)在程序中的數(shù)值、字符或者字符串。字符和字符串常量是用雙引號括起來的任意字符或者字符的集合。例子"a"'單個字符"Hello!"'
字符串常量123'
十進(jìn)制&HA2 '
十六進(jìn)制&O123 '
八進(jìn)制123E8 'E表示單精度123D-3 'D表示雙精度符號常量符號常量可以為文字常量取一個友好的名字,以提高程序的可讀性。另外,如果有某個數(shù)值需要在程序中多處使用,也可以將其聲明為符號常量,便于修改。符號常量聲明的語法格式如下。Const常量名As數(shù)據(jù)類型=表達(dá)式例子下面是一些定義符號常量的例子。ConstMAXLENGTHAsInteger=100ConstMINLENGTHAsInteger=1ConstERRORAsString="Inputmessageistoolong!"通常我們建議將符號常量名全部采用大寫來表示,以示與變量區(qū)別。3.4類型轉(zhuǎn)換將值從一種數(shù)據(jù)類型更改為另一種類型的過程稱為類型轉(zhuǎn)換。根據(jù)轉(zhuǎn)換的結(jié)果是否在目標(biāo)數(shù)據(jù)類型的范圍內(nèi),類型轉(zhuǎn)換可以分為擴(kuò)大轉(zhuǎn)換和收縮轉(zhuǎn)換兩種。擴(kuò)大轉(zhuǎn)換能夠維持原來的數(shù)據(jù)值,沒有數(shù)據(jù)損失。收縮轉(zhuǎn)換從一種較大的類型轉(zhuǎn)到一種較小的類型,可能會有數(shù)據(jù)損失,不能維持原來的數(shù)值。收縮轉(zhuǎn)換的例子1DimXAsSingle=123.452DimYAsInteger3Y=X'Y值為123,整型第3行在賦值過程中,發(fā)生了由單精度浮點型向整型轉(zhuǎn)換的過程。由于整型不夠精確,不能保持小數(shù)點后面的數(shù)字,導(dǎo)致在類型轉(zhuǎn)換小數(shù)部分丟失。隱式轉(zhuǎn)換上述類型轉(zhuǎn)換是由編譯器自動進(jìn)行的,不需要在代碼中加入任何特殊語法,這種類型轉(zhuǎn)換稱為隱式轉(zhuǎn)換。轉(zhuǎn)換方向擴(kuò)大轉(zhuǎn)換許可的范圍,按照Byte→Short→Integer→Long→Decimal→Single→Double從左至右均可進(jìn)行轉(zhuǎn)換,而從右至左的轉(zhuǎn)換則是收縮轉(zhuǎn)換。由于擴(kuò)大轉(zhuǎn)換不會造成數(shù)據(jù)丟失,總是可以轉(zhuǎn)換成功,因此始終允許隱式執(zhí)行。顯式類型轉(zhuǎn)換VB.NET提供了類型轉(zhuǎn)換關(guān)鍵字,可以強(qiáng)制轉(zhuǎn)換為所需要的數(shù)據(jù)類型。例如,1DimXAsSingle=123.452DimYAsInteger3Y=Cint(X)'Y值為123,整型上面第3行中,使用了CInt關(guān)鍵字強(qiáng)制將括號中的Single類型變量X轉(zhuǎn)換為Integer類型。3.5運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符關(guān)系運(yùn)算符連接運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符算術(shù)運(yùn)算符運(yùn)算符作用+、-加、減Mod取模\整除*、/乘、除-取負(fù)^指數(shù)關(guān)系運(yùn)算符運(yùn)算符功能<小于<=小于或等于>大于>=大于或等于=等于<>不等于Is對象比較IsNot對象比較Like字符串模式比較連接運(yùn)算符“&”和“+”兩個連接運(yùn)算符?!?”專門用于字符串連接;而“+”除了數(shù)值加法運(yùn)算外,也可以用于字符串連接?;菊Z法格式如下。result=exp1&或result=+exp2&連接符對于“&”運(yùn)算符來說,exp1和exp2都應(yīng)該是string類型或者可以擴(kuò)大轉(zhuǎn)換為string類型的表達(dá)式,連接結(jié)果result為string類型。例如1DimstrAsString2str="Hello"&"World"
'str值為“HelloWorld”3str=123&"abc"
'str值為“123abc”+連接符對于“+”運(yùn)算符來說,exp1和exp2可以是string類型表達(dá)式,也可以是數(shù)值表達(dá)式。如果exp1和exp2均為數(shù)值,結(jié)果將為它們的算術(shù)和。如果exp1和exp2均為字符串,將把它們的值連接起來作為結(jié)果;如果exp1是數(shù)值型,而exp2是字符串或者相反,則根據(jù)當(dāng)前OptionStruct設(shè)置。On,則產(chǎn)生編譯器錯誤。Off,則將Strin隱式轉(zhuǎn)換為Double,并執(zhí)行加法運(yùn)算;如果String中含有非數(shù)值的字符,則隱式轉(zhuǎn)換失敗,引發(fā)異常。我們建議對于字符串連接,只使用專用的字符串連接運(yùn)算符“&”,而不用“+”,以消除“+”運(yùn)算符的多義性,防止可能出現(xiàn)的錯誤。邏輯運(yùn)算符運(yùn)算符說明And邏輯與運(yùn)算。如果兩個表達(dá)式都為true,則結(jié)果為trueOr邏輯或運(yùn)算。如果兩個表達(dá)式中有一個為true,則結(jié)果為true。僅兩個表達(dá)式全為false時,結(jié)果才為falseNot邏輯非運(yùn)算。如果表達(dá)式為true,則結(jié)果為false;反之如果表達(dá)式為false,則結(jié)果為trueXor邏輯異或運(yùn)算。當(dāng)兩個表達(dá)式值不同時,結(jié)果為true;相同時(都是true或者都是false)結(jié)果為falseAndAlso短路與運(yùn)算。如果兩個表達(dá)式都是true,則結(jié)果為true。如果第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024活動廣播稿(33篇)
- 電子商務(wù)在線代理銷售協(xié)議(3篇)
- 中國進(jìn)排氣歧管行業(yè)發(fā)展前景及投資戰(zhàn)略咨詢報告
- PVC糊樹脂項目可行性研究報告
- 2021-2026年中國烏雞白鳳丸市場競爭策略及行業(yè)投資潛力預(yù)測報告
- 2025年中國智能云臺控制器行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- ct復(fù)合原料及可降解環(huán)保餐具項目可行性論證報告
- 2025年中國智慧餐廳行業(yè)市場全景評估及投資戰(zhàn)略研究報告
- 2023-2029年中國中型車(B級車)行業(yè)市場發(fā)展現(xiàn)狀及投資策略咨詢報告
- 2024-2025學(xué)年高中地理課時分層作業(yè)11濕地干涸及其恢復(fù)生物多樣性保護(hù)含解析新人教版選修6
- 樂理知識考試題庫130題(含答案)
- 前言 馬克思主義中國化時代化的歷史進(jìn)程與理論成果
- 融資租賃租金計算表
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:Chapter 5 Recursion
- 《中國—東盟自由貿(mào)易區(qū)概論》新版
- 棕色偵探推理劇本殺活動方案項目介紹ppt模板
- 降低鉆孔灌注樁混凝土充盈系數(shù)QC
- 華中數(shù)控車床編程及操作PPT課件
- 趣味歷史(課堂PPT)
- 供應(yīng)鏈供應(yīng)鏈管理
- 《消防安全評估檢查記錄》
評論
0/150
提交評論