《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第2章 Visual Basic.NET入門(mén)_第1頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第2章 Visual Basic.NET入門(mén)_第2頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第2章 Visual Basic.NET入門(mén)_第3頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第2章 Visual Basic.NET入門(mén)_第4頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第2章 Visual Basic.NET入門(mén)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一單元VisualStudio.NET集成開(kāi)發(fā)環(huán)境的組成VisualStudio.NET的集成開(kāi)發(fā)環(huán)境(IDE)集成了許多功能,如設(shè)計(jì)、編輯、編譯、調(diào)試等等。目前,VisualStudio.NETIDE支持VisualBasic、VisualC++和C#等語(yǔ)言,是開(kāi)發(fā)符合.NET框架的各種項(xiàng)目的理想工具。第二單元編寫(xiě)案例程序在VisualStudio.NET中,應(yīng)用程序可以用一個(gè)或多個(gè)條款組成,如各種文件和文件夾等。一個(gè)項(xiàng)目包含了許多相關(guān)的條款,例如,你可以創(chuàng)建一個(gè)包括用戶(hù)界面、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)連接等條款的項(xiàng)目。一個(gè)包含了若干相關(guān)條款的項(xiàng)目就構(gòu)成了一個(gè)應(yīng)用程序。解決方案通常是作為一個(gè)或多個(gè)項(xiàng)目的容器,各個(gè)項(xiàng)目協(xié)同合作共同創(chuàng)建應(yīng)用程序。(一)在VisualStudio.NET中創(chuàng)建一個(gè)解決方案【文件】->【新建】->【空白解決方案】,來(lái)建立一個(gè)新的解決方案。(二)在VisualStudio.NET中創(chuàng)建一個(gè)項(xiàng)目【文件】->【新建】->【項(xiàng)目】,來(lái)創(chuàng)建一個(gè)項(xiàng)目。VisualBasic中可以使用的各種模板的描述l

Windows應(yīng)用程序:該模板用于創(chuàng)建傳統(tǒng)的單機(jī)Windows應(yīng)用程序;l類(lèi)庫(kù):該模板用于創(chuàng)建類(lèi)或可重用的組件;l

Windows控件庫(kù):該模板用于創(chuàng)建一些可添加到用戶(hù)界面中的客戶(hù)端控制程序,例如,你可以創(chuàng)建一個(gè)用于轉(zhuǎn)換各國(guó)貨幣值的控制程序,當(dāng)你開(kāi)發(fā)銷(xiāo)售程序的時(shí)候添加上去。ASP.NETWeb應(yīng)用程序:該模板可用以創(chuàng)建Web應(yīng)用程序。為了能夠創(chuàng)建ASP.NETWeb應(yīng)用程序,你必須在你的機(jī)器上安裝因特網(wǎng)信息服務(wù)(IIS)5.0。l

控制臺(tái)應(yīng)用程序:該模板可用以創(chuàng)建能夠通過(guò)命令行運(yùn)行的控制臺(tái)應(yīng)用程序,控制臺(tái)應(yīng)用程序具有用戶(hù)接口這一特征。

控制臺(tái)應(yīng)用程序舉例如下:

SubMain()System.Console.WriteLine("歡迎你的到來(lái)!")System.Console.Write("請(qǐng)輸入你的名字:")DimstrNameAsStringstrName=System.Console.ReadLine()System.Console.WriteLine(strName&",你已經(jīng)成功登錄了!")System.Console.ReadLine()EndSubWindows窗體Windows窗體是從System.Windows.Forms.Form中繼承下來(lái)的對(duì)象,每個(gè)Windows窗體都具有各種預(yù)先已定義的屬性、方法和事件。我們可以使用這些預(yù)先定義的屬性、方法和事件控制窗體的外觀(guān)和行為。注意:其實(shí),Windows窗體就是一個(gè)類(lèi),該類(lèi)從System.Windows.Forms.Form中繼承下來(lái),在新建窗體時(shí),VisualBasic.NET會(huì)自動(dòng)在Form1.vb文件中保存了新建的窗體類(lèi)的描述。Windows窗體的屬性

Windows窗體的常用方法

例子:DimfrmLgAsNewfrmLogin‘為登錄窗體類(lèi)定義一個(gè)對(duì)象

frmLg.Show()‘彈出顯示登錄窗體

frmLg.Close()‘關(guān)閉登錄窗體當(dāng)窗體對(duì)象調(diào)用了Close方法后,窗體(包括窗體中的所有資源,如控件等)都會(huì)被標(biāo)記為垃圾回收。當(dāng)然,通過(guò)Me

關(guān)鍵字,可以引用當(dāng)前正在其中執(zhí)行代碼的類(lèi)或結(jié)構(gòu)的特定實(shí)例,如下所示:

Me.Close()‘關(guān)閉當(dāng)前窗體Windows窗體的常用事件

為MicrosoftWindows編寫(xiě)的應(yīng)用程序是由消息驅(qū)動(dòng)的,Windows將消息發(fā)送到適當(dāng)?shù)拇翱谝皂憫?yīng)某些事件,例如鼠標(biāo)單擊、擊鍵、窗口移動(dòng)等。事件是一個(gè)信號(hào),它告知應(yīng)用程序有重要情況發(fā)生。例如,用戶(hù)單擊窗體上的某個(gè)按鈕時(shí),按鈕引發(fā)一個(gè)Click事件并調(diào)用一個(gè)處理該事件的過(guò)程。

第三單元VB.NET的語(yǔ)言特征

數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)

常量常量可分為兩種直接常量例如:3.14“helloworld”

DimaAsChara="A"ca=Chr(65)符號(hào)常量例如:ConstPIAsInteger=3.14變量

變量的命名規(guī)則:l

VB.NET的變量名最長(zhǎng)不能超過(guò)255個(gè)字符;l

變量名稱(chēng)必須以字母或下劃線(xiàn)開(kāi)頭,后面可以跟隨任意個(gè)數(shù)字、字母以及下劃線(xiàn);l

VB.NET對(duì)變量中字母的大小寫(xiě)不加以區(qū)分;l

不能把VB.NET保留的關(guān)鍵字作為變量名,一般應(yīng)把變量名的第一個(gè)字母大寫(xiě);在程序設(shè)計(jì)過(guò)程中,強(qiáng)烈建議變量命名由變量的類(lèi)型前綴加上變量用途來(lái)表示,例如:

DimintTotalAsInteger變量的聲明

使用Dim語(yǔ)句來(lái)聲明變量,其形式如下:Dim變量名As數(shù)據(jù)類(lèi)型例如:DimintXAsInteger=99DimstrYAsString="Youarewelcome!"

變量的作用范圍

變量一般分為局部變量和全局變量,其中局部變量是過(guò)程級(jí)變量,局部變量在過(guò)程內(nèi)使用Dim聲明。

全局變量的作用范圍是整個(gè)程序,包括各個(gè)過(guò)程。全局變量在過(guò)程塊之外、Class或Module塊之內(nèi)聲明。

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimintXAsIntegerintX=1

ForintX=1To10DimintYAsIntegerMessageBox.Show("intX="&intX)MessageBox.Show("intY="&intY)

NextMessageBox.Show("intX="&intX)'MessageBox.Show("intY="&intY)

EndSub數(shù)組數(shù)組的聲明有兩種方式:方式一:Dim數(shù)組名(數(shù)組元素個(gè)數(shù)-1)as數(shù)據(jù)類(lèi)型例如:DimintAge(3)asInteger表示定義了一個(gè)intAge數(shù)組,它包含4個(gè)元素方式二,也可以使用下面的語(yǔ)句來(lái)聲明數(shù)組:Dim數(shù)組名()as數(shù)據(jù)類(lèi)型=NewInteger(數(shù)組元素個(gè)數(shù)-1){初始化數(shù)列}例如定義一個(gè)包含4個(gè)元素的整型數(shù)組:DimintAge()AsInteger=NewInteger(3){}數(shù)組元素的賦值和引用

在聲明數(shù)組的同時(shí)給數(shù)組元素賦值:方式一:DimintAge()AsInteger={18,19,20,21}MessageBox.Show(intAge(0))這一種方式,不能指定數(shù)組的大小,編譯器根據(jù)初始化數(shù)列的個(gè)數(shù)來(lái)決定數(shù)組的大小。方式二:DimintAge()AsInteger=NewInteger(3){18,19,20,21}MessageBox.Show(intAge(0))這一種方式,要指定數(shù)組的大小,而且要么不能有初始化數(shù)列(但大括號(hào)要保留),要么全部數(shù)組元素都要進(jìn)行賦值。

復(fù)制數(shù)組方式一:使用Clone方法舉例:

Dimarr1(2),arr2(2)AsIntegerarr1(0)=0arr1(1)=1arr1(2)=2

arr2=arr1.CloneDimintIAsInteger

ForEachintIInarr2MessageBox.Show(intI)Next方式二:逐個(gè)元素復(fù)制

DimiAsInteger=0Fori=0To2arr2(i)=arr1(i)Next重設(shè)數(shù)組大小

通過(guò)使用ReDim關(guān)鍵字重新設(shè)置數(shù)組的大小。例如,將intAge數(shù)組的大小重新設(shè)置為20:ReDimintAge(19)當(dāng)然,在使用ReDim語(yǔ)句時(shí),數(shù)組現(xiàn)有的內(nèi)容會(huì)被刪除。如果需要保留數(shù)組現(xiàn)有的內(nèi)容,字使用ReDim語(yǔ)句時(shí)要加上Preserve關(guān)鍵字,例如:ReDimPreserveintAge(19)用UBound函數(shù)得到數(shù)組的最大可用下標(biāo):例子:DimintAge()AsInteger={20,18,21,19}‘定義了intAge數(shù)組用于保存學(xué)生的年齡DimstrTmpAsString="每個(gè)學(xué)生的年齡是:"DimintSumAsInteger=0DimintIAsInteger=0ForintI=0ToUBound(intAge)

‘通過(guò)UBound函數(shù)取得數(shù)組的最大可用下標(biāo),數(shù)組擁有的元素個(gè)數(shù)為UBound(intAge)+1intSum+=intAge(intI)strTmp=strTmp&intAge(intI)&""NextstrTmp=strTmp&Chr(10)&"平均年齡是:"&intSum/(UBound(intAge)+1)MessageBox.Show(strTmp)用Sort函數(shù)對(duì)數(shù)組元素進(jìn)行排序

例子:

DimintAge()AsInteger={20,18,21,19}

intAge.Sort(intAge)DimstrTmpAsString="每個(gè)學(xué)生的年齡(從小到大)分別是:"DimintIAsInteger=0ForintI=0ToUBound(intAge)strTmp=strTmp&intAge(intI)&""NextMessageBox.Show(strTmp)使用函數(shù)Reverse函數(shù)翻轉(zhuǎn)數(shù)組元素的順序;例如:intAge.Reverse(intAge)二維數(shù)組

例子:DimintAge(4,19)AsInteger‘聲明一個(gè)包含5×20個(gè)元素的二維數(shù)組intAge(0,0)=18intAge(4,19)=19MessageBox.Show(intAge(4,19))或DimintAge(,)AsInteger=NewInteger(4,19){}intAge(0,0)=18intAge(4,19)=19MessageBox.Show(intAge(4,19))使用GetLength函數(shù)返回指定維的元素個(gè)數(shù),例如:

DimintAge(4,19)AsInteger'聲明一個(gè)包含5×20個(gè)元素的二維數(shù)組

MessageBox.Show(intAge.GetLength(0))MessageBox.Show(intAge.GetLength(1))運(yùn)算符(一)賦值運(yùn)算符賦值運(yùn)算符“

=”的作用就是把右操作數(shù)的值復(fù)制一份給左操作數(shù)舉例說(shuō)明如下:intY=3‘把3賦給變量intY,變量intY以后的值就是3了;intY=intX;‘把intX的值賦給intY;(二)算術(shù)運(yùn)算符在算術(shù)運(yùn)算符中,*、/、Mod、^、\同級(jí)別,+、-同級(jí)別,但*、/、Mod的級(jí)別高于+、-的級(jí)別,優(yōu)先級(jí)高的運(yùn)算符先運(yùn)算。但是,如果兩個(gè)運(yùn)算符有相同的優(yōu)先級(jí),那么,則使用從左到右的規(guī)則進(jìn)行運(yùn)算。舉例說(shuō)明:x=10-2*3;‘x的結(jié)果是4,因?yàn)?*"比"-"的優(yōu)先級(jí)高;y=10/2*5;‘y的結(jié)果是25,因?yàn)?/"與"*"的優(yōu)先級(jí)相同,所以從左到右運(yùn)算;

注意

a.兩個(gè)整數(shù)相除的結(jié)果是整數(shù),如果商含有小數(shù)部分,將被截掉,例如:Dimx,yAsIntegerx=21/6y=21/7結(jié)果是x和y的值都是3。b.當(dāng)把不同類(lèi)型的表達(dá)式賦值給一個(gè)變量時(shí),編譯器會(huì)試著隱式地將右操作數(shù)的類(lèi)型轉(zhuǎn)換成被賦值變量的類(lèi)型。例如:DimxAsInteger‘x為整型x=3.14‘浮點(diǎn)類(lèi)型的表達(dá)式賦值給整型型的變量,可以嗎?MessageBox.Show(x)‘輸出的結(jié)果是3;3.14被轉(zhuǎn)換成整型文字常量3,然后賦值給變量x,所以x的值為3。(三)自反算術(shù)賦值運(yùn)算符舉例說(shuō)明如下:DimxAsInteger=1x+=2‘此表達(dá)式與"x=x+2;"相同;1加上2,并把結(jié)果3賦值給x;MessageBox.Show(x)‘結(jié)果是3;(四)關(guān)系運(yùn)算符Like運(yùn)算符Like運(yùn)算符用于比較兩個(gè)字符串,字符串中可帶有通配符。

DimstrAsString="Helloworld"IfstrLike"He*"ThenMessageBox.Show("通配成功")ElseMessageBox.Show("通配失敗")EndIfIs運(yùn)算符Is

運(yùn)算符確定兩個(gè)對(duì)象引用是否引用同一個(gè)對(duì)象。但是,它不執(zhí)行值比較。如果object1

和object2

都引用同一個(gè)對(duì)象,則result

為T(mén)rue;否則result

為False。舉例:

Dimbtn1AsNewButtonDimbtn2AsNewButton'Dimbtn2AsButton'btn2=btn1Ifbtn1Isbtn2ThenMessageBox.Show("引用了同一對(duì)象")ElseMessageBox.Show("引用了不同對(duì)象")EndIf舉例2:

DimstrAsStringStr="helloworld"IfstrIsNothingThenMessageBox.Show("空對(duì)象")ElseMessageBox.Show("實(shí)例對(duì)象")EndIf'DimbtnAsNewButton'DimbtnAsButton(五)邏輯運(yùn)算符(六)字符串運(yùn)算符注意注意:字符串類(lèi)型要連接整型(或浮點(diǎn)型等其他數(shù)字類(lèi)型),不能使用連接加運(yùn)算符,否則會(huì)產(chǎn)生錯(cuò)誤。

流程控制結(jié)構(gòu)If語(yǔ)句的語(yǔ)法如下:If條件表達(dá)式Then

語(yǔ)句1Else

語(yǔ)句2EndIf舉例:說(shuō)明如下,求兩數(shù)的大者

Dimx,yAsIntegerx=1y=2Ifx>yThenMessageBox.Show("最大者是"&x)ElseMessageBox.Show("最大者是"&y)EndIf注意:①I(mǎi)f語(yǔ)句可以嵌套使用,例如,求三個(gè)數(shù)的大者:

Dimx,y,zAsIntegerx=1y=2z=3Ifx>yAndx>zThenMessageBox.Show("最大者是"&x)Else

Ify>zThenMessageBox.Show("最大者是"&y)ElseMessageBox.Show("最大者是"&z)EndIfEndIf②條件表達(dá)式通常是邏輯表達(dá)式,其結(jié)果通常是True或是False;但也可以是算術(shù)表單式,則結(jié)果為零或非零,零代表False,非零代表True。舉例如下:

Dimx,y,zAsIntegerx=0IfxThenMessageBox.Show("輸入正確,X的值為非零值!")ElseMessageBox.Show("輸入錯(cuò)誤,X的值不可以為零!")EndIf③可以用If...Then...Else...ElseIf...EndIf語(yǔ)句進(jìn)行多條件判斷。舉例如下,將輸入的成績(jī)等級(jí)轉(zhuǎn)換為相應(yīng)的分?jǐn)?shù):

DimchrCAsChar‘聲明了一個(gè)字符常量chrCchrC="b"c‘把字符常量“b”賦值給字符變量chrC,‘"b"c中后跟的c是用于標(biāo)識(shí)常量“b”是字符常量

IfchrC="a"cThenMessageBox.Show("成績(jī)?yōu)?0分!")ElseIfchrC="b"cThenMessageBox.Show("成績(jī)?yōu)?0分!")ElseIfchrC="c"cThenMessageBox.Show("成績(jī)?yōu)?0分!")ElseIfchrC="d"ThenMessageBox.Show("成績(jī)?yōu)?0分!")ElseMessageBox.Show("不及格!")EndIf(二)SelectCase...EndSelect語(yǔ)句SelectCase語(yǔ)句的語(yǔ)法如下,見(jiàn)書(shū)本P52:SelectCase條件表達(dá)式

Case常量表達(dá)式1

語(yǔ)句1Case常量表達(dá)式2

…Case常量表達(dá)式n

語(yǔ)句nCaseElse

語(yǔ)句n+1EndSelect舉例如下:

DimchrCAsCharchrC="b"cSelectCasechrCCase"a"cMessageBox.Show("成績(jī)?yōu)?0分!")Case"b"cMessageBox.Show("成績(jī)?yōu)?0分!")Case"c"cMessageBox.Show("成績(jī)?yōu)?0分!")Case"d"cMessageBox.Show("成績(jī)?yōu)?0分!")CaseElseMessageBox.Show("不及格!")EndSelect(五)For...Next語(yǔ)句當(dāng)知道循環(huán)的次數(shù)時(shí),最好是使用For...Next語(yǔ)句,只有循環(huán)控制變量沒(méi)有超出終值,循環(huán)就會(huì)執(zhí)行下去。For循環(huán)最普遍的用法是遍歷一個(gè)定長(zhǎng)的數(shù)據(jù)結(jié)構(gòu),如,數(shù)組等。For...Next語(yǔ)句的語(yǔ)法如下,見(jiàn)書(shū)本P54:For循環(huán)控制變量=初值To終值[Step步長(zhǎng)]

語(yǔ)句1Next如果不指定步長(zhǎng),則默認(rèn)步長(zhǎng)是增加1。舉例如下:

DimintX,intSumAsIntegerintSum=0ForintX=1To9Step1intSum+=intXNextMessageBox.Show("總和是"&intSum)(三)While...EndWhile語(yǔ)句While...EndWhile語(yǔ)句的語(yǔ)法如下,見(jiàn)書(shū)本P56:While條件表達(dá)式語(yǔ)句1EndWhile舉例說(shuō)明如下,求1+2+3+…

…+9的總和:

DimintX,intSumAsIntegerintX=1intSum=0WhileintX<10intSum+=intXintX+=1EndWhileMessageBox.Show("總和是"&intSum)ExitWhile語(yǔ)句舉例DimintX,intSumAsIntegerintX=1intSum=0WhileTrueintSum+=intXintX+=1IfintX=10ThenExitWhileEndIfEndWhileMessageBox.Show("總和是"&intSum)(四)Do...Loop語(yǔ)句Do...Loop語(yǔ)句也是用于重復(fù)執(zhí)行一組特定的語(yǔ)句,可以用While關(guān)鍵字或Until關(guān)鍵字與Do...Loop語(yǔ)句結(jié)合使用。依然還是求1+2+3+…

…+9的總和,舉例如下,

DimintX,intSumAsIntegerintX=1intSum=0DoWhileintX<10intSum+=intXintX+=1LoopMessageBox.Show("總和是"&intSum)也可以使用Do...LoopWhile形式,它與DoWhile...Loop形式有所不同,采用Do...LoopWhile形式,就算條件表達(dá)式一開(kāi)始就不成立,但循環(huán)體至少也要執(zhí)行一次。也可以使用DoUntil...Loop語(yǔ)句,與DoWhile...Loop剛好相反,DoUntil...Loop只有條件表達(dá)式不成立,循環(huán)都會(huì)一直被執(zhí)行,直到條件表達(dá)式成立為止。

補(bǔ)充:常用系統(tǒng)函數(shù)數(shù)學(xué)函數(shù)舉例如下:

DimdblIAsDoubledblI=Math.Sqrt(9)Me

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論