版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基本數(shù)據(jù)類型與表達(dá)式第一頁(yè),共134頁(yè)。
一個(gè)語(yǔ)句是由單詞和表達(dá)式構(gòu)成,而單詞和表達(dá)式是由一個(gè)一個(gè)字符組成。
字符、詞匯、表達(dá)式、語(yǔ)句、過程、函數(shù)等統(tǒng)稱為“語(yǔ)法單位”。語(yǔ)法單位的形成是按一定規(guī)則的,語(yǔ)法單位的形成規(guī)則稱為“語(yǔ)法規(guī)則”。2.1基本字符集與詞匯表第二頁(yè),共134頁(yè)。
字符是構(gòu)成程序設(shè)計(jì)語(yǔ)言的最小語(yǔ)法單位。每一種程序設(shè)計(jì)語(yǔ)言都有自己的字符集。程序設(shè)計(jì)語(yǔ)言中的合法句子都是由字符集中的字符構(gòu)成。
數(shù)字:0123456789
英文字母:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
特殊符號(hào):Space!"#$%&'()*+,–./:;<=>?@[\]^_{|}~
2.1.1字符集第三頁(yè),共134頁(yè)。對(duì)于VB.NET漢化版,漢字也作為一種字符,它們既可以有語(yǔ)法意義,也可以作為字符顯示或打印出來。在程序代碼窗口中輸入程序時(shí),漢字在中文方式下輸入,其它字符必須在英文方式下輸入。例如,輸入語(yǔ)句
WriteLine(″圓面積={0:f}″,PI*r*r)′計(jì)算輸出圓面積第四頁(yè),共134頁(yè)。
“單詞”是程序設(shè)計(jì)語(yǔ)言中具有獨(dú)立意義的最基本結(jié)構(gòu)。
一條語(yǔ)句由多個(gè)單詞組成。
例如,有以下語(yǔ)句:DimrAsDoubleDimareaAsDoubler=12.6area=3.14*r*r其中,Dim、As、Double、r、area、=、*、3.14等都是構(gòu)成代碼的單詞。
程序設(shè)計(jì)語(yǔ)言中,單詞一般包括:運(yùn)算符、界符、關(guān)鍵字、標(biāo)識(shí)符、各類型常數(shù)等。2.1.2詞匯第五頁(yè),共134頁(yè)。關(guān)鍵字又稱為保留字,它們?cè)谡Z(yǔ)法上有著固定的含義,往往在語(yǔ)句中表示系統(tǒng)提供的語(yǔ)義符、標(biāo)準(zhǔn)類型、標(biāo)準(zhǔn)函數(shù)名、運(yùn)算符等。1.關(guān)鍵字在VB.NET中,約定關(guān)鍵字的首寫字母為大寫字母;
當(dāng)用戶在代碼編輯窗口輸入關(guān)鍵字時(shí),不論大小寫字母,系統(tǒng)同樣能夠識(shí)別,并且自動(dòng)轉(zhuǎn)換成系統(tǒng)標(biāo)準(zhǔn)形式。
常用的關(guān)鍵字:AndAsBooleanByRefByteByValCallCaseCharClassConstContinue…第六頁(yè),共134頁(yè)。
2.特殊字符
VB.NET的關(guān)鍵字中有一些特殊字符,它們不是字母或數(shù)字,不指定要執(zhí)行的操作,但各有用途。(1)括號(hào)
括號(hào)可以用于改變復(fù)雜表示式中運(yùn)算符的默認(rèn)優(yōu)先順序。
例如:Dima,b,c,d,eAsDoublea=3.2b=7.6c=2d=b+c/ae=(b+c)/a '改變運(yùn)算優(yōu)先順序在定義過程(如Sub或Function)時(shí),必須將所有過程參數(shù)列表放入括號(hào)內(nèi)。第七頁(yè),共134頁(yè)。
(2)分隔符空格符是常用的單詞分隔符。
例如,語(yǔ)句:DimrAsDouble包含4個(gè)單詞,其中空格符是這些單詞的分隔符。
表達(dá)式:0.125*23
包含3個(gè)單詞:0.125,*和23,它們中間沒有空格,因?yàn)檫\(yùn)算符和數(shù)據(jù)是性質(zhì)不同的單詞,所以運(yùn)算符“*”分隔了兩個(gè)常數(shù)。冒號(hào)”:”是語(yǔ)句分隔符。
當(dāng)程序?qū)⒍鄺l語(yǔ)句放在同一行時(shí),可以使用冒號(hào)分隔,這樣可以節(jié)省空間,并增強(qiáng)代碼的可讀性。下面的代碼中用冒號(hào)隔開了3個(gè)語(yǔ)句。
a=3.2:b=7.6:c=2第八頁(yè),共134頁(yè)。(3)其他符號(hào)“&”是字符串連接符,“.”是成員訪問符第九頁(yè),共134頁(yè)。3.標(biāo)識(shí)符標(biāo)識(shí)符用于標(biāo)記用戶自定義的常量、類型、變量、控件、過程、函數(shù)等名稱。
在VB.NET中,標(biāo)識(shí)符的命名必須遵循如下規(guī)則:必須以字母開頭,由字母、數(shù)字和下劃線組成。
不能與關(guān)鍵字同名。另外,漢化的VB.NET版本允許使用漢字作為用戶自定義標(biāo)識(shí)符。
例如:合法變量名:ax1n0_1a2cnamemyform姓名
班級(jí)不合法變量名:
2ax+ya,bWrite標(biāo)識(shí)符命名除了符合上述原則外,應(yīng)該盡可能做到“見名知義”,提高程序的可讀性。
例如:年齡用“age”、名字用“name”、總和用“sum”命名等。第十頁(yè),共134頁(yè)。2.2基本數(shù)據(jù)類型“數(shù)據(jù)”是程序的處理對(duì)象。數(shù)據(jù)有不同的類型,不同類型的數(shù)據(jù)有不同的取值范圍和不同的操作方式。從數(shù)據(jù)構(gòu)造上來分類,數(shù)據(jù)類型分為系統(tǒng)定義的基本數(shù)據(jù)類型和構(gòu)造類型。
構(gòu)造類型是用戶根據(jù)需要定義,由相同或不同的基本數(shù)據(jù)元素組合而成的數(shù)據(jù)類型。從數(shù)據(jù)的存儲(chǔ)方式上來分類,數(shù)據(jù)類型又分為值類型和引用類型。值類型包括數(shù)值(如Integer、Double)、Boolean、Char、Date、結(jié)構(gòu)、枚舉等類型,引用類型包括字符串、數(shù)組、類、接口等。值類型數(shù)據(jù)變量存放數(shù)據(jù)值,程序?qū)Υ鎯?chǔ)單元操作就是直接操作數(shù)據(jù);而引用類型數(shù)據(jù)變量存放對(duì)象的地址,程序通過地址訪問數(shù)據(jù)。在VB.NET中,引用類型通常稱為類。第十一頁(yè),共134頁(yè)。類型關(guān)鍵字存儲(chǔ)字節(jié)取值范圍有符號(hào)整型Integer4-2147483648~2147483647有符號(hào)長(zhǎng)整型Long8-9223372036854775808~9223372036854775807單精度浮點(diǎn)型Single4負(fù)數(shù):-3.4028235E+38~-1.401298E-45正數(shù):1.401298E-45~3.4028235E+38雙精度浮點(diǎn)型Double8負(fù)數(shù):-1.79769313486231570E+308~-4.94065645841246544E-324正數(shù):4.94065645841246544E-324~1.79769313486231570E+308小數(shù)型Decimal16有效數(shù)字28位無小數(shù)點(diǎn):+/-79228162514264337593543950335有小數(shù)點(diǎn):+/-7.9228162514264337593543950335最小非零數(shù):+/-0.0000000000000000000000000001單字符Char20~65535變長(zhǎng)字符串String取決于平臺(tái)0~約20億個(gè)Unicode字符邏輯型Booleam2True或False日期型Date80001年1月1日0:00:00~9999年12月31日23:59:59對(duì)象型Object4保存引用對(duì)象的地址第十二頁(yè),共134頁(yè)。
整型數(shù)是不帶小數(shù)點(diǎn)和指數(shù)符號(hào)的數(shù)據(jù)。十進(jìn)制整型數(shù)由0~9的數(shù)字序列組成,可以帶正號(hào)或負(fù)號(hào)。
例如:147588565200-314532700整型數(shù)按示數(shù)范圍的不同分為有符號(hào)整型、長(zhǎng)整型、短整型和無符號(hào)整型。
2.2.1數(shù)值型1.整型第十三頁(yè),共134頁(yè)。
(1)“有符號(hào)”整型有符號(hào)整型包括:SByte(8位)、Short(16位)、Integer(32位)及Long(64位)。
這些類型的數(shù)據(jù)可以表示正整數(shù)或負(fù)整數(shù)。不同類型的數(shù)據(jù)其存儲(chǔ)長(zhǎng)度不同,故其示數(shù)范圍也不同。
第十四頁(yè),共134頁(yè)。
(2)長(zhǎng)整型如果需要存儲(chǔ)的整數(shù)比Integer的示數(shù)范圍更大,可以用長(zhǎng)整型(Long)來表示數(shù)據(jù)。
其示數(shù)范圍從–9223372036854775808~9223372036854775807。
如果需要表示更大范圍內(nèi)的數(shù)值,可以使用Decimal數(shù)據(jù)類型。
如果不使用小數(shù)位數(shù),可以表示的數(shù)據(jù)范圍是-79228162514264337593543950335~79228162514264337593543950335第十五頁(yè),共134頁(yè)。(3)短整型如果使用的整型數(shù)據(jù)示數(shù)范圍比較小,則可以使用Short數(shù)據(jù)類型,它包含-32768~32767內(nèi)的整數(shù)。
而SByte數(shù)據(jù)類型包含-128~127的最小整數(shù)范圍。
第十六頁(yè),共134頁(yè)。(4)無符號(hào)整型無符號(hào)整型表示正整數(shù),包括Byte、UShort、UInteger和ULong。
這些數(shù)據(jù)類型所能存儲(chǔ)的正整數(shù)是相應(yīng)的有符號(hào)類型(SByte、Short、Integer和Long)的兩倍。
第十七頁(yè),共134頁(yè)。
整數(shù)一般用十進(jìn)制形式表示,還可以用八進(jìn)制和十六進(jìn)制方式表示。八進(jìn)制整數(shù)由八進(jìn)制數(shù)字0~7的序列組成,前面冠以&O。
例如:
&O347 3×82+4×81×7×80=231&O1277 1×83+2×82+2×81×7×80=703-&O264 -(2×82+6×81×4×80)
=-180十六進(jìn)制整數(shù)冠以&H,由十六進(jìn)制數(shù)字0~9、A~F(或a~f)序列組成。
例如:&H76 7×161+6×160=118&H32f 3×162+2×161+15×160=815-&ha4e-(10×162+4×161+14×160)
=-2638十六進(jìn)制數(shù)一般用來表示或設(shè)置屏幕和控件的顏色。第十八頁(yè),共134頁(yè)。實(shí)型數(shù)是帶有小數(shù)部分的數(shù),分為浮點(diǎn)數(shù)和定點(diǎn)數(shù)兩類。
定點(diǎn)數(shù)是實(shí)數(shù)的常用表示方式,由整數(shù)、小數(shù)點(diǎn)和小數(shù)3部分組成。
浮點(diǎn)數(shù)由符號(hào)、指數(shù)及尾數(shù)三部分組成。指數(shù)符號(hào)用字母“E”(或“e”)表示。
例如:123.45E3123.45是尾數(shù)部分,E3是指數(shù)部分,等于123.45×103-0.674523E5 等于-0.674523×105345.123456789E-6等于345.123456789×10-6VB.NET的實(shí)數(shù)類型有Single(32位浮點(diǎn))、Double(64位浮點(diǎn))和Decimal(128位定點(diǎn))。它們都是有符號(hào)數(shù)據(jù)類型。2.實(shí)型第十九頁(yè),共134頁(yè)。
(1)單精度浮點(diǎn)型Single類型,可以表示-3.4028235E+38~3.4028235E+38的浮點(diǎn)數(shù)。
最小負(fù)值為-1.401
298E-45
最小正值為1.401298E-45
單精度浮點(diǎn)數(shù)適用于表示小浮點(diǎn)數(shù)。第二十頁(yè),共134頁(yè)。(2)雙精度浮點(diǎn)數(shù)Double是實(shí)數(shù)類型中效率最高的,因?yàn)槟壳案髌脚_(tái)的處理器都是以雙精度來進(jìn)行浮點(diǎn)運(yùn)算。Double類型負(fù)數(shù)取值范圍是-1.797693134862316E+308~-4.94065645841247E-324
正數(shù)的取值范圍為4.94065645841247E-324~1.797693134862316E+308第二十一頁(yè),共134頁(yè)。(3)定點(diǎn)實(shí)型Decimal類型可以表示有效數(shù)字為28位的整數(shù)或?qū)崝?shù),它的優(yōu)點(diǎn)是能夠表示高精度的數(shù)據(jù)。
若表示實(shí)數(shù),可以精確到小數(shù)點(diǎn)后28位。
Decimal的示數(shù)范圍:
最大正值為7.9228162514264337593543950335E+28
最小非零數(shù)為+/-.0000000000000000000000000001第二十二頁(yè),共134頁(yè)。2.2.2字符類型
字符數(shù)據(jù)類型用于處理可打印和可顯示的用Unicode碼編碼字符。VB.NET的字符數(shù)據(jù)類型包括Char類型和String類型。1.Char型
Char類型數(shù)據(jù)存儲(chǔ)單個(gè)雙字節(jié)(16位)Unicode字符。
例如:DimchrOneCharAsChar=″A″
′單個(gè)字符2.String類型
String類型可以存儲(chǔ)含有任意數(shù)量的字符的字符串,它是零個(gè)或多個(gè)Unicode字符的序列。
一個(gè)字符串可包含從0到將近20億(231)個(gè)字符。長(zhǎng)度為0(即不含任何字符的字符串)稱為空字符串。
第二十三頁(yè),共134頁(yè)。例如:
"Hello""Wearestudents.""中華人民共和國(guó)""2+3=?""2000""#####""¥25,000.00"""(空字符串)又如:DimstrMyNameAsString=“陳志華″'字符串第二十四頁(yè),共134頁(yè)。2.2.3其他數(shù)據(jù)類型數(shù)據(jù)類型還包括邏輯型(Boolean)、日期型(Date)和對(duì)象型(Object)3種數(shù)據(jù)類型。1.邏輯型邏輯型數(shù)據(jù)用于判斷計(jì)算結(jié)果是否成立。邏輯型數(shù)據(jù)只有兩個(gè)可能值:True(邏輯真)或者False(邏輯假),以2
B(16
b)存儲(chǔ)。
當(dāng)邏輯值參與算術(shù)運(yùn)算時(shí),F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換為-1。
2.日期型日期型數(shù)據(jù)存儲(chǔ)為8
B(64
b)浮點(diǎn)數(shù)值形式,可以表示的日期范圍從100年1月1日到9999年12月31日,時(shí)間可從0:00:00到23:59:59。第二十五頁(yè),共134頁(yè)。日期型數(shù)據(jù)的表示形式主要有如下3種。(1)日期數(shù)據(jù)形式#月/日/年#例如:#10/1/2021# '表示2021年10月1日(2)時(shí)間數(shù)據(jù)形式#時(shí):分:秒AM∣PM#其中AM表示上午,PM表示下午。例如:#10:08:20AM# '表示上午10點(diǎn)8分20秒(3)日期/時(shí)間數(shù)據(jù)形式#月/日/年時(shí):分:秒AM∣PM#例如:#10/1/202110:08:20AM#‘表示2021年10月1日上午10點(diǎn)8分20秒第二十六頁(yè),共134頁(yè)。
例2-1輸出日期數(shù)據(jù)。輸出:2021-10-112:14:00ImportsSystem.ConsoleModuleModule1SubMain()DimdateAndTimeAsDate=#10/1/202112:14:00PM#WriteLine(dateAndTime)EndSubEndModule第二十七頁(yè),共134頁(yè)。
不同類型的數(shù)據(jù)既可以表示為常量形式,也可以表示為變量形式。常量的值在程序執(zhí)行期間是不會(huì)發(fā)生變化的。變量代表內(nèi)存中指定的存儲(chǔ)單元。變量的存儲(chǔ)單元在程序中可以根據(jù)需要賦予不同的值,即變量的值是可以變化的。
2.3常量與變量第二十八頁(yè),共134頁(yè)。2.3.1常量VB.NET的常量分兩種,一種是直接常量(簡(jiǎn)稱常量或常數(shù)),另一種是符號(hào)常量。常量的類型和值由它本身的書寫形式?jīng)Q定。例如:
″Thisisastring″
'表示一個(gè)字符串常量,長(zhǎng)度為1612598 '表示一個(gè)十進(jìn)制整數(shù)VB.NET常量的數(shù)據(jù)類型,有時(shí)存在多義性。
例如,數(shù)值3.01可能是單精度類型,也可能是雙精度類型或貨幣類型。
在默認(rèn)的情況下,VB.NET將選擇需要內(nèi)存容量最小的表示方法進(jìn)行處理。
因此,數(shù)值3.01被處理為單精度數(shù)。1.直接常量第二十九頁(yè),共134頁(yè)。為了顯式地指明常數(shù)的類型,可在常數(shù)后面加上類型說明符。這些說明符是:% 表示整型& 表示長(zhǎng)整型! 表示單精度浮點(diǎn)型# 表示雙精度浮點(diǎn)型$ 表示字符串型
例如:10005% '是一個(gè)整型常數(shù)3.01# '是一個(gè)雙精度浮點(diǎn)型常數(shù)類型說明符也可以用在標(biāo)識(shí)常量和變量說明語(yǔ)句中。第三十頁(yè),共134頁(yè)。
在程序中的一些多次出現(xiàn)或難于記憶的常數(shù)值,可以用標(biāo)識(shí)符來定義,即用標(biāo)識(shí)符給常量取名。這樣定義的常量名稱為符號(hào)常量。用標(biāo)識(shí)符定義常量后,凡是在程序中出現(xiàn)該常量的地方都可以使用相應(yīng)的標(biāo)識(shí)符代替。2.符號(hào)常量第三十一頁(yè),共134頁(yè)。常量說明的一般格式:Const<標(biāo)識(shí)符>[As<類型>]=<表達(dá)式>其中,<標(biāo)識(shí)符>是標(biāo)識(shí)常量的名稱,用戶定義標(biāo)識(shí)符。As<類型>用以說明常量的數(shù)據(jù)類型。
當(dāng)缺省As子句時(shí),被說明標(biāo)識(shí)符類型根據(jù)<表達(dá)式>的值確定最合適的數(shù)據(jù)類型。<表達(dá)式>是必需的,可以為常量,或包含除Is之外由任意算術(shù)操作符和邏輯操作符所構(gòu)成的表達(dá)式。注意:
語(yǔ)句格式中用到的符號(hào)約定<>必選項(xiàng),表示必須提供特定內(nèi)容,以滿足尖括號(hào)內(nèi)的項(xiàng)的要求;[]表示方括號(hào)內(nèi)的項(xiàng)是可選項(xiàng),可以設(shè)定,也可以省略;
∣
表示前后內(nèi)容為或選項(xiàng)。第三十二頁(yè),共134頁(yè)。經(jīng)過說明的符號(hào)常量看作是常數(shù)值的名字,不能在程序代碼中修改它的值。在一行代碼中說明多個(gè)常量時(shí)使用逗號(hào)分隔。例如,可以有以下常量說明:ConstMax=1000ConstInquire="Hello,"+"Myfriend!"ConstMyStr="HELP",PiAsDouble=3.14159說明符號(hào)常量時(shí),可在常量名后加上類型說明符。
例如:
Constone&=1Consttwo#=2前者說明one&為長(zhǎng)整型常數(shù),需占用8
B;后者說明two#為雙精度浮點(diǎn)型常數(shù),需占用8
B。第三十三頁(yè),共134頁(yè)。在程序中引用符號(hào)常量時(shí),通常省略類型說明符。
例如:在上述說明后,可以使用one、two代替符號(hào)常量one&和two#。類型說明符并不是符號(hào)常量的組成部分。
例如:若有如下常量定義:Constnum=56則num!、num#、num%、num&、num@就不能再做符號(hào)常量或變量名了。第三十四頁(yè),共134頁(yè)。
變量是用來存儲(chǔ)數(shù)據(jù)的,系統(tǒng)對(duì)程序中的每一個(gè)變量都分配有相應(yīng)存儲(chǔ)單元。
存儲(chǔ)單元中存放的數(shù)據(jù)就是變量的值,它的類型就是變量的類型。在程序中,若要引用變量的值必須使用變量名。變量的名字用標(biāo)識(shí)符表示。
2.3.2變量第三十五頁(yè),共134頁(yè)。
一個(gè)變量必定屬于某種數(shù)據(jù)類型,包括基本數(shù)據(jù)類型和用戶自定義類型。
在程序中使用變量之前,必須使用變量說明語(yǔ)句對(duì)該變量進(jìn)行說明。變量說明語(yǔ)句的一般形式:Dim<變量名>[As<類型>]其中,Dim是VB.NET用于說明變量的關(guān)鍵字。
<變量名>是用戶定義的標(biāo)識(shí)符,應(yīng)當(dāng)遵循標(biāo)識(shí)符命名規(guī)則。<類型>表示VB.NET提供的各種標(biāo)準(zhǔn)類型名稱或用戶自定義類型標(biāo)識(shí)符。作用:通知VB.NET編譯器分配存儲(chǔ)單元給該變量存儲(chǔ)。1.變量的說明第三十六頁(yè),共134頁(yè)。
例如:Dimvar1AsIntege '把var1定義為整型變量
DimtotalAsDouble '把total定義為雙精度變量變量說明也可以用類型說明符。
例如:上述的說明語(yǔ)句可以寫成:Dimvar1%Dimtotal# 一個(gè)Dim語(yǔ)句可以定義多個(gè)變量。
例如:Dimvar1AsString,var2AsDouble說明變量的同時(shí)可以賦初值。
例如:Dimvar1=215Dimtotal=123.456
第三十七頁(yè),共134頁(yè)。2.變量的訪問變量的訪問分為“讀”和“寫”操作?!皩憽辈僮骺梢允褂觅x值語(yǔ)句,賦值語(yǔ)句的一般形式:
<變量名>=<表達(dá)式>其中,關(guān)鍵字“=”稱為賦值號(hào)。
賦值號(hào)左邊的<變量名>表示一個(gè)存儲(chǔ)單元,它是數(shù)據(jù)存放的目的地。
功能:首先計(jì)算<表達(dá)式>的值,然后把這個(gè)值寫入<變量名>代表的存儲(chǔ)單元中。第三十八頁(yè),共134頁(yè)。例如,有語(yǔ)句:DimaAsInteger,bAsIntegera=10b=20a=a+b 第三十九頁(yè),共134頁(yè)。
例2-2以下程序的作用是交換變量a、b的值。ImportsSystem.ConsoleModuleModule1SubMain()DimaAsInteger,bAsInteger,tempAsIntegerWriteLine("輸入:")Write("a=")a=Val(ReadLine())Write("b=")b=Val(ReadLine())temp=a '讀出a的值,寫入temp中a=b '讀出b的值,寫入a中b=temp '讀出temp的值,寫入a中WriteLine("輸出:")WriteLine("a={0:d}",a) WriteLine("b={0:d}",b) EndSubEndModule第四十頁(yè),共134頁(yè)。3.Object變量數(shù)據(jù)存放在內(nèi)存中,必然有一個(gè)存放地址。數(shù)據(jù)對(duì)象不管存儲(chǔ)空間大小,都以它所占有的內(nèi)存第一個(gè)字節(jié)的地址作為對(duì)象的地址。
對(duì)象的地址稱為指針。VB.NET中的Object類型變量不是保存數(shù)據(jù)值本身,而只保存數(shù)據(jù)對(duì)象的地址。數(shù)據(jù)對(duì)象通過Object變量訪問。當(dāng)一個(gè)Object變量存放了某個(gè)數(shù)據(jù)對(duì)象的地址后,稱為引用了某個(gè)數(shù)據(jù)對(duì)象。Object類型變量可以引用任何值類型(數(shù)值、Boolean、Char、Date、結(jié)構(gòu)或枚舉)的數(shù)據(jù),也可以引用引用類型(字符串、數(shù)組、類或接口)的數(shù)據(jù)。
當(dāng)程序中需要訪問未確定數(shù)據(jù)類型的對(duì)象時(shí),可以使用Object變量。第四十一頁(yè),共134頁(yè)。Object變量的默認(rèn)值為Nothing(空引用)。
雖然Object變量存放的不是數(shù)據(jù)值,但是,當(dāng)程序中Object變量引用值類型的數(shù)據(jù)時(shí),VB.NET將此變量視為一個(gè)值類型變量。第四十二頁(yè),共134頁(yè)。
例2-3Object類型變量的應(yīng)用。ImportsSystem.ConsoleModuleModule1SubMain()DimobjAsObjectobj=256WriteLine(obj)obj=3.14159WriteLine(obj)obj=#10/1/202112:14:00PM#WriteLine(obj)EndSubEndModule第四十三頁(yè),共134頁(yè)。
在程序中通常要對(duì)數(shù)據(jù)進(jìn)行加工(運(yùn)算)。對(duì)數(shù)據(jù)進(jìn)行什么運(yùn)算要由運(yùn)算符來確定。參與運(yùn)算的數(shù)據(jù)稱為運(yùn)算量或操作數(shù)。運(yùn)算量包括常量、變量、函數(shù)等。由運(yùn)算量、運(yùn)算符和圓括號(hào)構(gòu)成的式子稱為表達(dá)式。表達(dá)式有多種類型:算術(shù)表達(dá)式、字符串表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式等。2.4表達(dá)式第四十四頁(yè),共134頁(yè)。
由數(shù)值型數(shù)據(jù)、算術(shù)運(yùn)算符和圓括號(hào)構(gòu)成的表達(dá)式稱為算術(shù)表達(dá)式。
其運(yùn)算結(jié)果為數(shù)值型數(shù)據(jù)。例如:a*b^2+b/(58+r/sin(x-y))
特殊情況:?jiǎn)蝹€(gè)數(shù)值型常量或變量或函數(shù)也是算術(shù)表達(dá)式。例如:0.5,Pi,a,sin(x)算術(shù)運(yùn)算符是用來對(duì)數(shù)值型數(shù)據(jù)進(jìn)行運(yùn)算的一種符號(hào)。2.4.1算術(shù)表達(dá)式第四十五頁(yè),共134頁(yè)。運(yùn)
算
符運(yùn)
算例子^指數(shù)x^y*乘法x*y/浮點(diǎn)除法x/y\整數(shù)除法x\yMod取模xMody+加法x+y-取負(fù),減法-x,x-y第四十六頁(yè),共134頁(yè)。若左操作數(shù)a為負(fù)實(shí)數(shù),則右操作數(shù)b必須是整數(shù)。求冪運(yùn)算用來計(jì)算乘方和方根,其運(yùn)算符為“^”。指數(shù)運(yùn)算的一般形式為:
a^b
若左操作數(shù)a為正實(shí)數(shù),則右操作數(shù)b可為任意數(shù)值。當(dāng)b不是整數(shù)時(shí),設(shè)b=n/m,其中m,n均為整數(shù),則VB按下式計(jì)算:1.求冪運(yùn)算第四十七頁(yè),共134頁(yè)。
例如:
10^2
計(jì)算10的平方,結(jié)果為100
10^–2
計(jì)算10的平方的倒數(shù),即1/100,結(jié)果為0.01
25^0.5
計(jì)算25的平方根,結(jié)果為5
8^(1/3)
計(jì)算8的立方根,結(jié)果為2
8^(–1/3)
計(jì)算8的立方根的倒數(shù),結(jié)果為0.5
(–8)^(1/3)
錯(cuò)誤!注意:
當(dāng)指數(shù)是一個(gè)表達(dá)式時(shí),必須加括號(hào)。
例如,要表示a的x+y次方:a^(x+y) '正確a^x+y '錯(cuò)誤第四十八頁(yè),共134頁(yè)。
浮點(diǎn)數(shù)除法的運(yùn)算符是“/”。左右操作數(shù)可以為整數(shù)或者浮點(diǎn)數(shù),運(yùn)算結(jié)果的類型由其值決定。例如:3/2
結(jié)果為1.5,浮點(diǎn)型
3.6/1.8
結(jié)果為2,整型整數(shù)除法的運(yùn)算符是“\”。左右操作數(shù)一般為整型數(shù)。當(dāng)操作數(shù)帶有小數(shù)點(diǎn)時(shí),VB首先對(duì)其四舍五入為整數(shù),然后進(jìn)行整除運(yùn)算。
運(yùn)算結(jié)果截取其整數(shù)部分,小數(shù)部分不作舍入處理。例如:10\4
結(jié)果為2
20\2.6
結(jié)果為6
25.63\6.78
結(jié)果為32.浮點(diǎn)數(shù)除法與整數(shù)除法第四十九頁(yè),共134頁(yè)。
取模運(yùn)算的運(yùn)算符為Mod,專門用于求兩個(gè)數(shù)相除的余數(shù)。如果左右操作數(shù)為實(shí)數(shù),則先對(duì)其進(jìn)行四舍五入取整,然后求兩個(gè)整數(shù)相除的余數(shù)。運(yùn)算結(jié)果的符號(hào)取決于左操作數(shù)的符號(hào)。即左操作數(shù)為正數(shù),運(yùn)算結(jié)果為正數(shù);左操作數(shù)為負(fù)數(shù)時(shí),運(yùn)算結(jié)果為負(fù)數(shù)。例如:10Mod4
結(jié)果等于2
20Mod2.6
結(jié)果等于2
25.63Mod6.78
結(jié)果等于5
–5Mod2
結(jié)果等于–1
–5Mod–2
結(jié)果等于–1
5Mod–2
結(jié)果等于1
7Mod0
除數(shù)為0,運(yùn)行錯(cuò)誤3.取模運(yùn)算第五十頁(yè),共134頁(yè)。算術(shù)運(yùn)算符的優(yōu)先級(jí)如下:
^→
–(求負(fù))→*、/→
\→
Mod→+、–
當(dāng)一個(gè)算術(shù)表達(dá)式中含有多種算術(shù)運(yùn)算符時(shí),必須按照以上順序求值。同級(jí)運(yùn)算符從左到右運(yùn)算。如果表達(dá)式中含有括號(hào),則先進(jìn)行括號(hào)內(nèi)運(yùn)算。括號(hào)內(nèi)有括號(hào)時(shí),從內(nèi)到外逐層運(yùn)算。
4.算術(shù)運(yùn)算符的優(yōu)先級(jí)第五十一頁(yè),共134頁(yè)。表
達(dá)
式計(jì)算結(jié)果說
明3+2*717乘法優(yōu)先級(jí)高(3+2)*735先計(jì)算括號(hào)內(nèi)的表達(dá)式10*-5-50單目負(fù)優(yōu)先11Mod4/21除法優(yōu)先級(jí)高(11Mod4)/21.5先計(jì)算括號(hào)內(nèi)的表達(dá)式1+((2+3)*2)*221先計(jì)算內(nèi)層括號(hào)的表達(dá)式14/5*25.6優(yōu)先級(jí)相同,從左到右計(jì)算15\5*21乘法優(yōu)先級(jí)高,整除截取整數(shù)部分27^1/39指數(shù)優(yōu)先級(jí)高27^(1/3)3先計(jì)算括號(hào)內(nèi)的表達(dá)式第五十二頁(yè),共134頁(yè)。注意:
(1)表達(dá)式中的字符要在同一行書寫。例如:a*b^2+b/(58+r/sin(x-y))
(2)乘號(hào)“×”用“*”,不能省略,也不能用“.”代替。
例如:x×y應(yīng)寫為x*y不應(yīng)寫為xyx·y
(3)分子分毋有運(yùn)算時(shí)要加圓括號(hào)。例如:
應(yīng)寫為(a-b)/(c+d)
(4)表達(dá)式中的方括號(hào)和花括號(hào)用圓括號(hào)代替。
不應(yīng)寫為a-b/c+d第五十三頁(yè),共134頁(yè)。
字符串連接運(yùn)算符:+或&。左右操作數(shù)都為字符串。運(yùn)算結(jié)果是把兩個(gè)字符串連接起來。例如:“Visual”+“Basic”=“VisualBasic”
由字符串常量、字符串變量、連接運(yùn)算符和圓括號(hào)構(gòu)成的式子稱為字符串表達(dá)式。例如:A$+“Basic”&“VisualBasic”
字符串表達(dá)式的運(yùn)算結(jié)果為字符串。
特殊情況:?jiǎn)蝹€(gè)字符串型常量或變量或函數(shù)也是字符串表達(dá)式。例如:“Basic”、A$、Right(“VisualBasic”,5)
2.4.2字符串表達(dá)式第五十四頁(yè),共134頁(yè)。
也稱為關(guān)系運(yùn)算符,用來比較兩個(gè)操作數(shù)的大小。關(guān)系運(yùn)算符:=、<>或><、>、<、>=、<=
用關(guān)系運(yùn)算符把兩個(gè)操作數(shù)連接起來的式子稱為關(guān)系表達(dá)式。例如:
5>3
a=b
x>=y+1
2.4.3邏輯表達(dá)式1.比較運(yùn)算符第五十五頁(yè),共134頁(yè)。
關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯值。
若關(guān)系運(yùn)算符兩邊滿足關(guān)系運(yùn)算符的含義,則運(yùn)算結(jié)果為Ture(參與算術(shù)運(yùn)算時(shí)為-1);
否則,運(yùn)算結(jié)果為False(參與算術(shù)運(yùn)算時(shí)為0)。例如:5>3
值為Ture
WriteLine((5>3)+1)
輸出0第五十六頁(yè),共134頁(yè)。
說明:
①在VB.NET中,“=”是一個(gè)多義符號(hào),在賦值語(yǔ)句中,它是賦值運(yùn)算符,表示把賦值號(hào)右邊表達(dá)式的值寫入賦值號(hào)左邊的變量中。例如:a=b+c表示把b+c的結(jié)果寫入變量a中。
如果用在條件判斷中,
”=”號(hào)的意義是關(guān)系運(yùn)算。例如:ifa=b+cThenWriteLine("a={0:g}",a)條件語(yǔ)句中的a=b+c是一個(gè)邏輯表達(dá)式,該語(yǔ)句判斷變量a的值是否等于b+c的值,如果相等,則以g格式(常規(guī)格式)輸出a的值。因此,應(yīng)該根據(jù)程序的上下文判斷“=”號(hào)的意義。第五十七頁(yè),共134頁(yè)。②字符串?dāng)?shù)據(jù)比較是按ASCII碼和以字典順序?qū)Ω髯址鹨贿M(jìn)行比較。
例如:
“china”>“canada”“china”=“china”“you”<“your”“廣東”<“廣西”③比較運(yùn)算符的左右操作數(shù)一般要求類型相同。當(dāng)類型不同時(shí),VB.NET會(huì)按形式值進(jìn)行轉(zhuǎn)換后再比較。
例如:156="156"'結(jié)果為True327="abc"'出現(xiàn)運(yùn)行錯(cuò)誤,類型不匹配第五十八頁(yè),共134頁(yè)。④對(duì)單精度數(shù)或雙精度數(shù)進(jìn)行比較時(shí),因?yàn)闄C(jī)器的運(yùn)算誤差,可能無法得到預(yù)期的結(jié)果。因此,應(yīng)當(dāng)避免直接判斷兩個(gè)浮點(diǎn)數(shù)是否相等而改成對(duì)誤差的判斷。
例如:判別num1是否等于num2用Abs(num1-num2)<1E-6只要num1與num2的差小于一個(gè)很小的數(shù)(這里是10-6),就認(rèn)為是相等了。⑤數(shù)學(xué)上判斷x是否在區(qū)間[a,b]時(shí),習(xí)慣上寫成a≤x≤b,但在VB.NET中不能寫成:A<=x<=b
應(yīng)寫成:a<=xAndx<=b其中And是邏輯與運(yùn)算符。第五十九頁(yè),共134頁(yè)。
邏輯運(yùn)算符:Not(邏輯非)And(邏輯與)Or(邏輯或)Xor(異或)
2.邏輯運(yùn)算符邏輯運(yùn)算符的左、右兩個(gè)操作數(shù)要求為邏輯值。
第六十頁(yè),共134頁(yè)。(2)And(邏輯與)邏輯與運(yùn)算需要兩個(gè)操作數(shù),當(dāng)左右操作數(shù)的值同時(shí)為True時(shí),運(yùn)算結(jié)果才為True;否則,為False。例如:5>3And8>5
結(jié)果為True
5>3And8<5
結(jié)果為False
a<>bAndFalse結(jié)果為False(1)Not(邏輯非)
邏輯非只有一個(gè)右操作數(shù)。它是一種取反運(yùn)算。當(dāng)右操作數(shù)為True時(shí),運(yùn)算結(jié)果為False。當(dāng)右操作數(shù)為False時(shí),運(yùn)算結(jié)果為True。例如:Not5<3
結(jié)果為True
Not5>3
結(jié)果為False第六十一頁(yè),共134頁(yè)。(4)Xor(異或)異或運(yùn)算也需要兩個(gè)操作數(shù),當(dāng)左右操作數(shù)一樣時(shí),運(yùn)算結(jié)果為False;否則,為True。例如:5>3Xor8>5
結(jié)果為False
5>3Xor8<5
結(jié)果為True(3)Or(邏輯或)
邏輯或也需要兩個(gè)操作數(shù),當(dāng)左右兩個(gè)操作數(shù)中有一個(gè)或同時(shí)為True時(shí),運(yùn)算結(jié)果為True,只有左右兩個(gè)操作數(shù)同時(shí)為False時(shí)才為False。例如:5>3Or8<5
結(jié)果為True
5<3Or8<5
結(jié)果為False
TrueOra=b結(jié)果為True第六十二頁(yè),共134頁(yè)。XYNotXXAndYXOrYXXorYTrueTrueFalseTrueTrueFalseTrueFalseFalseFalseTrueTrueFalseTrueTrueFalseTrueTrueFalseFalseTrueFalseFalseFalse第六十三頁(yè),共134頁(yè)。Not→And→Or→
Xor
由邏輯運(yùn)算量、關(guān)系表達(dá)式、邏輯運(yùn)算符和圓括號(hào)構(gòu)成的式子稱為邏輯表達(dá)式。例如:(x<0)Or(Not(i<>0)Andb)第六十四頁(yè),共134頁(yè)。()→算術(shù)運(yùn)算→關(guān)系運(yùn)算→邏輯運(yùn)算2.4.4表達(dá)式的運(yùn)算順序a/Sin(5*x)^3*b-4
例2-4第六十五頁(yè),共134頁(yè)。a/Sin(5*x)^3*b-4第六十六頁(yè),共134頁(yè)。a/Sin(5*x)^3*b-4①第六十七頁(yè),共134頁(yè)。a/Sin(
5*x
)^3*b-4①②第六十八頁(yè),共134頁(yè)。a/Sin(
5*x
)^3*b-4①②③第六十九頁(yè),共134頁(yè)。a/
Sin(
5*x
)^3*b-4①②③④第七十頁(yè),共134頁(yè)。a/
Sin(
5*x
)^3*b
-4①②③④⑤⑥第七十一頁(yè),共134頁(yè)。
設(shè)i=1,j=0,x=2,y=2,寫出下列布爾(邏輯)表達(dá)式的運(yùn)算順序和運(yùn)算結(jié)果。
x=2OrNoty>0And(x–y)/i<>0
例2-5第七十二頁(yè),共134頁(yè)。x=2OrNoty>0And(x–y)/i<>0第七十三頁(yè),共134頁(yè)。x=2OrNoty>0And(x–y)/I<>0①0第七十四頁(yè),共134頁(yè)。x=2OrNoty>0And(x–y)
/I<>0①0②0第七十五頁(yè),共134頁(yè)。x=2OrNoty>0And(x–y)
/I<>0①0②0③True第七十六頁(yè),共134頁(yè)。x=2OrNoty>0And(x–y)
/I<>0①0②0③True④True第七十七頁(yè),共134頁(yè)。x=2OrNoty>0And(x–y)
/I
<>0①0②0③True④True⑤False第七十八頁(yè),共134頁(yè)。x=2OrNot
y>0And(x–y)
/I
<>0①0②0③True④True⑤False⑥False第七十九頁(yè),共134頁(yè)。x=2OrNot
y>0
And
(x–y)
/I
<>0①0②0③True④True⑤False⑥False⑦False第八十頁(yè),共134頁(yè)。x=2OrNot
y>0
And
(x–y)
/I
<>0①0②0③True④True⑤False⑥False⑦False⑧True第八十一頁(yè),共134頁(yè)。
VB.NET的內(nèi)部函數(shù)是.NETFramework的System.Math類中定義的函數(shù)(方法)。這些函數(shù)通常帶有一個(gè)或幾個(gè)自變量,在程序設(shè)計(jì)語(yǔ)言中稱為“參數(shù)”。
使用函數(shù)就要調(diào)用函數(shù)。調(diào)用函數(shù)的一般格式:
<函數(shù)名>([<參數(shù)表>])其中參數(shù)表中的參數(shù)可以是一個(gè)參數(shù),也可以是多個(gè)參數(shù),多個(gè)參數(shù)時(shí)要用逗號(hào)分隔。這些參數(shù)可以為常量、變量、函數(shù)、更一般為表達(dá)式。調(diào)用函數(shù)時(shí),首先向參數(shù)傳遞具體數(shù)值,然后執(zhí)行函數(shù)內(nèi)部的代碼,返回一個(gè)函數(shù)值。2.5常用內(nèi)部函數(shù)第八十二頁(yè),共134頁(yè)。2.5.1數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)包括三角函數(shù)、求平方根、絕對(duì)值、對(duì)數(shù)及指數(shù)函數(shù)等常用函數(shù)。數(shù)學(xué)函數(shù)在System.Math類中定義,調(diào)用這些函數(shù)需要在程序模塊開頭加上聲明語(yǔ)句使用System.Math類:
ImportsSystem.Math或者
調(diào)用時(shí)加上類名前綴,例如:
Math.Sqrt(x) 第八十三頁(yè),共134頁(yè)。Sin(x)
返回自變量x的正弦值
Cos(x)
返回自變量x的余弦值
Tan(x)
返回自變量x的正切值
Atn(x)
返回自變量x的反正切值其中參數(shù)x是數(shù)值表達(dá)式,Sin,Cos和Tan函數(shù)的自變量是為弧度,而Atn函數(shù)的自變量是正切值,返回值為弧度。若自變量以角度給出,則可以使用下面公式轉(zhuǎn)換為弧度:d角度=d*/180弧度=d*3.14159/180弧度
由于的值在Math類中定義為Math.PI,因此上述轉(zhuǎn)換公式可以寫為:
d角度=d*Math.PI/180弧度1.三角函數(shù)第八十四頁(yè),共134頁(yè)。
例2-6三角函數(shù)運(yùn)算。方法一:引入System.Math類。ImportsSystem.Console '聲明語(yǔ)句ImportsSystem.Math ModuleModule1SubMain()DimxAsDoubleDimyAsDoubleWrite("請(qǐng)輸入一個(gè)弧度值:")x=Val(ReadLine())y=Sin(x)'調(diào)用內(nèi)部函數(shù)WriteLine("Sin({0})={1}",x,y)Write("請(qǐng)輸入一個(gè)角度值:")x=Val(ReadLine())y=Cos(x*PI/180) '角度換算,調(diào)用內(nèi)部函數(shù)WriteLine("Cos({0}°)={1}“,x,y)'格式化輸出EndSubEndModule第八十五頁(yè),共134頁(yè)。
例2-6三角函數(shù)運(yùn)算。方法二:加類名前綴調(diào)用函數(shù)。ImportsSystem.ConsoleModuleModule1SubMain()DimxAsDoubleDimyAsDoubleWrite("請(qǐng)輸入一個(gè)弧度值:")x=Val(ReadLine())y=Math.Sin(x) ‘調(diào)用指定類的函數(shù)
WriteLine("Sin({0})={1}",x,y)Write("請(qǐng)輸入一個(gè)角度值:")x=Val(ReadLine())y=Math.Cos(x*Math.PI/180)‘調(diào)用指定類的函數(shù)
WriteLine("Cos({0}°)={1}",x,y) '格式化輸出
EndSubEndModule第八十六頁(yè),共134頁(yè)。2.常規(guī)計(jì)算函數(shù)
Exp(x):返回
e
的x次冪。
Log(x):返回x以
e為底的對(duì)數(shù)。
Log10(x):返回x以10為底的對(duì)數(shù)。
Pow(x,y):返回x的y次冪。
Sqrt(x):返回x的平方根。3.求符號(hào)函數(shù)
Sign(x):返回表示x的符號(hào)。
x<0返回-1;x=0返回0;x>0返回1。4.求絕對(duì)值函數(shù)
Abs(x):返回x的絕對(duì)值。第八十七頁(yè),共134頁(yè)。
5.取整函數(shù)Floor(x):返回小于或等于x的最大整數(shù)。Ceiling(x):返回大于或等于x的最小整數(shù)。Truncate(x):截取x的整數(shù)部分。Round(x[,y]):
將x值舍入到最接近的整數(shù),或指定保留y位小數(shù),對(duì)第y+1位小數(shù)四舍五入。第八十八頁(yè),共134頁(yè)。
例2-7取整函數(shù)演示。ImportsSystem.ConsoleImportsSystem.MathModuleModule1SubMain()DimxAsDoubleDimyAsIntegerx=5.87256y=3WriteLine("Floor({0})={1}",x,Floor(x))WriteLine("Ceiling({0})={1}",x,Ceiling(x))WriteLine("Truncate({0})={1}",x,Truncate(x))WriteLine("Round({0},{1})={2}",x,y,Round(x,y))EndSubEndModule第八十九頁(yè),共134頁(yè)。VB.NET還有兩個(gè)取整函數(shù),它們是.NET運(yùn)行時(shí)定義的成員函數(shù),不需要使用Math類。
Int(x):返回不大于n的最大整數(shù)。
Fix(x):去掉n的小數(shù)部分,返回其整數(shù)部分。第九十頁(yè),共134頁(yè)。
6.取較大較小值
Max(x,y):返回x、y中的較大的一個(gè)值。
Min(x,y):返回x、y中的較小的一個(gè)值。第九十一頁(yè),共134頁(yè)。2.5.2隨機(jī)函數(shù)
在編寫一些測(cè)試、模擬及游戲程序時(shí),經(jīng)常要使用一系列隨機(jī)產(chǎn)生的數(shù)據(jù),這些數(shù)據(jù)通常稱為隨機(jī)數(shù)。
VB.NET中要產(chǎn)生隨機(jī)數(shù)需使用隨機(jī)函數(shù)和隨機(jī)數(shù)生成器初始化語(yǔ)句。第九十二頁(yè),共134頁(yè)。
Rnd[(x)]產(chǎn)生一個(gè)大于或等于0小于1的單精度隨機(jī)數(shù),其中可選項(xiàng)x為數(shù)值表達(dá)式。例如:WriteLine("r={0:g}",Rnd)可能輸出:
r=0.5795186
x<0
同一個(gè)負(fù)數(shù)每次產(chǎn)生的隨機(jī)數(shù)相同。例如:WriteLine(“{0}{1}{2}",Rnd(-2),Rnd(-2),Rnd(-2))
.7133257.7133257.7133257x>0每次產(chǎn)生與上一次不同的隨機(jī)數(shù)。例如:WriteLine(“{0}{1}{2}",Rnd(2),Rnd(2),Rnd(2)).6624333.7354596.1928332
x缺省時(shí)默認(rèn)為>0。1.隨機(jī)函數(shù)第九十三頁(yè),共134頁(yè)。
x=0本次產(chǎn)生的隨機(jī)數(shù)與上一次相同。例:WriteLine(“{0}{1}“,Rnd(-5),Rnd(0))
.8383257.8383257
WriteLine(“{0}{1}“,Rnd(5),Rnd(0))
.2874333.2874333
用法:
(1)產(chǎn)生0~n-1之間的隨機(jī)整數(shù)
一般形式:
Int(Rnd*n)
例如:Int(Rnd*101)產(chǎn)生0—100的隨機(jī)整數(shù)第九十四頁(yè),共134頁(yè)。(2)產(chǎn)生隨機(jī)英文大小寫字母
一般形式:
Chr(Int(Rnd*26)+65)產(chǎn)生隨機(jī)英文大寫字母
Chr(Int(Rnd*26)+97)產(chǎn)生隨機(jī)英文小寫字母(3)產(chǎn)生某個(gè)范圍內(nèi)的隨機(jī)整數(shù)
一般形式:
Int((upper–lower+1)*Rnd+lower)其中upper是隨機(jī)數(shù)范圍的上限,而lower則是隨機(jī)數(shù)范圍的下限。
例如:產(chǎn)生十位數(shù)(10--99)
Int(((99-10+1)*Rnd)+10)第九十五頁(yè),共134頁(yè)。
一般格式:
Randomize[<n>]其中參數(shù)n為可選項(xiàng),它一般為數(shù)值表達(dá)式,通常稱為種子數(shù)。
功能:若選擇n,產(chǎn)生由種子數(shù)n對(duì)應(yīng)的一個(gè)特定隨機(jī)數(shù)序列;
若省略n,則以系統(tǒng)計(jì)時(shí)器當(dāng)前時(shí)間值作為種子數(shù)產(chǎn)生不同的隨機(jī)數(shù)序列。(2)隨機(jī)數(shù)生成器初始化語(yǔ)句第九十六頁(yè),共134頁(yè)。LTrim(s):刪除掉字符串s的前導(dǎo)空格。RTrim(s):刪除字符串s的尾隨空格。Trim(s):刪除字符串s前導(dǎo)空格和尾隨空格。2.5.3字符串函數(shù)1.刪除空格字符函數(shù)第九十七頁(yè),共134頁(yè)。
例2-8刪除字符串空格測(cè)試。ImportsSystem.ConsoleModuleModule1SubMain()DimMyString="<-Trim->
"'設(shè)置字符串初值DimLTString=LTrim(MyString)DimRTString=RTrim(MyString)DimTString1=LTrim(RTrim(MyString))'刪除兩頭空格DimTString2=Trim(MyString) '只用Trim函數(shù)同樣刪除兩頭空格WriteLine("MyString={0:g}",MyString)WriteLine("LTString={0:g}",LTString)WriteLine("RTString={0:g}",RTString)WriteLine("TString1={0:g}",TString1)WriteLine("TString2={0:g}",TString2)EndSubEndModule第九十八頁(yè),共134頁(yè)。2.字符串截取函數(shù)Left(s,n):截取字符串s最左邊的n個(gè)字符。Mid(s,p,n):
在字符串s中,從第p個(gè)字符開始,向后截取n個(gè)字符。Right(s,n):截取字符串s最右邊的n個(gè)字符。第九十九頁(yè),共134頁(yè)。
例2-9截取字符串測(cè)試。ImportsSystem.ConsoleModuleModule1SubMain()DimAnyString="HelloComputerWorld"DimFirstStr=Left(AnyString,5)DimMidStr=Mid(AnyString,7,8)DimLastStr=Right(AnyString,5)WriteLine("AnyString={0:g}",AnyString)WriteLine("FirstStr={0:g}",FirstStr)WriteLine("MidStr={0:g}",MidStr)WriteLine("LastStr={0:g}",LastStr)EndSubEndModule第一百頁(yè),共134頁(yè)。3.字符串長(zhǎng)度測(cè)試函數(shù)Len(s):返回字符串s的長(zhǎng)度,即所含的字符個(gè)數(shù)。
例2-10
字符串長(zhǎng)度測(cè)試。ImportsSystem.ConsoleModuleModule1SubMain()DimMyString1="HelloWorld"WriteLine("MyString1={0:g}",MyString1)WriteLine("Len(MyString1)={0:g}",Len(MyString1))DimMyString2="華南理工大學(xué)"WriteLine("MyString2={0:g}",MyString2)WriteLine("Len(MyString2)={0:g}",Len(MyString2))EndSubEndModule第一百零一頁(yè),共134頁(yè)。
4.StrDup和Space函數(shù)
StrDup(n,ch):生成n個(gè)同一字符組成的字符串,這個(gè)字符由ch指定。
Space(n):生成由n個(gè)空格組成的字符串。第一百零二頁(yè),共134頁(yè)。
例2-11生成重復(fù)字符串。ImportsSystem.ConsoleModuleModule1SubMain()DimMyS1=StrDup(5,"*")WriteLine("MyS1={0:g}",MyS1)DimMyS2=StrDup(10,"A")WriteLine("MyS2={0:g}",MyS2)DimMyS3="Hello"&Space(10)&"World“'將10個(gè)空格插入兩個(gè)串中間WriteLine("MyS3={0:g}",MyS3)EndSubEndModule第一百零三頁(yè),共134頁(yè)。5.字符串匹配函數(shù)
InStr([f,]s1,s2[,n]):查找字符串s2在字符串s1中的位置。如果找到,返回值為s2的第一個(gè)字符在s1中的位置;若找不到,返回值為0。
說明:①字符串s2的長(zhǎng)度必須小于65535個(gè)字符。②參數(shù)f可選,是對(duì)s1開始搜索的位置,默認(rèn)值為1。③參數(shù)n可選,若為0,表示區(qū)分大小寫;為1,則不區(qū)分大小寫。默認(rèn)值為0。第一百零四頁(yè),共134頁(yè)。例如:Dims1="MicrosoftVisualBasic” '被搜索的字符串Dims2="visual“ '要查找字符串
DimPos=Instr(s1,s2) '區(qū)分大小寫,Pos為0Pos=Instr(5,s1,s2,1) '從s1第5個(gè)字符開始查找,不區(qū)分大小寫,Pos為11Pos=Instr(1,s1,s2,0) '從s1第1個(gè)字符開始查找,區(qū)分大小寫,Pos為0Pos=Instr(4,s1,"Basic") '從s1第4個(gè)字符開始查找字符串"Basic",Pos為18第一百零五頁(yè),共134頁(yè)。6.字母大小寫轉(zhuǎn)換函數(shù)
Ucase(s):把字符串s中的小寫字母轉(zhuǎn)換成大寫字母。
Lcase(s):把字符串s中的大寫字母轉(zhuǎn)換成小寫字母。例如:DimLowerS="HelloWorld1234"DimUpperS=UCase(LowerS) 'HELLOWORLD1234UpperS="HelloWorld1234"LowerS=Lcase(UpperS)'helloworld1234第一百零六頁(yè),共134頁(yè)。7.替代字符串語(yǔ)句
Mid(s,Pos[,L])=s1:該語(yǔ)句用子字符串s1的值代替主串s從位置Pos開始與s1等長(zhǎng)的子串。若帶參數(shù)L,則從Pos開始長(zhǎng)度為L(zhǎng)的字符串被s1左起等長(zhǎng)子串替換。
例如:DimMyString="Thedogjumps."Mid(MyString,5,3)="fox“'Thefoxjumps.Mid(MyString,5,3)="cow"'Thecowjumps.Mid(MyString,5)="cowjumpedover" 'ThecowjumpedMid(MyString,5,3)="duck"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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è)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 定制眼鏡鏡片行業(yè)營(yíng)銷策略方案
- 云環(huán)境監(jiān)測(cè)服務(wù)行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 心理咨詢行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 緩解昆蟲叮咬癥狀的藥物制劑市場(chǎng)分析及投資價(jià)值研究報(bào)告
- 失禁用護(hù)墊產(chǎn)品供應(yīng)鏈分析
- 關(guān)于退休的金融咨詢行業(yè)經(jīng)營(yíng)分析報(bào)告
- 可折疊自行車產(chǎn)品供應(yīng)鏈分析
- 廣告位租賃合同范本
- 建造波浪能發(fā)電廠行業(yè)經(jīng)營(yíng)分析報(bào)告
- 膜性腎病診治分享演示文稿
- 超聲波安全操作規(guī)程
- 什么時(shí)候才能啟動(dòng)應(yīng)急預(yù)案
- 高考詞匯復(fù)習(xí)熟詞生義公開課(化州一中李詩(shī)華)
- 全髖關(guān)節(jié)置換術(shù)后假體周圍骨折
- 探究煙草浸出液對(duì)種子萌發(fā)和幼苗生長(zhǎng)發(fā)育的影響
- 2023年度小學(xué)生漢語(yǔ)言文化大賽培訓(xùn)試題,菁選3篇
- 漫畫說病人手術(shù)流程
- 4M變更申請(qǐng)書模板
- 西方現(xiàn)代藝術(shù)賞析(吉林聯(lián)盟)智慧樹知到答案章節(jié)測(cè)試2023年吉林大學(xué)
- 塑膠模具管理流程
評(píng)論
0/150
提交評(píng)論