《Visual Basic .NET软件开发技术》课件第2章 Visual Basic.NET入门_第1页
《Visual Basic .NET软件开发技术》课件第2章 Visual Basic.NET入门_第2页
《Visual Basic .NET软件开发技术》课件第2章 Visual Basic.NET入门_第3页
《Visual Basic .NET软件开发技术》课件第2章 Visual Basic.NET入门_第4页
《Visual Basic .NET软件开发技术》课件第2章 Visual Basic.NET入门_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一单元VisualStudio.NET集成开发环境的组成VisualStudio.NET的集成开发环境(IDE)集成了许多功能,如设计、编辑、编译、调试等等。目前,VisualStudio.NETIDE支持VisualBasic、VisualC++和C#等语言,是开发符合.NET框架的各种项目的理想工具。第二单元编写案例程序在VisualStudio.NET中,应用程序可以用一个或多个条款组成,如各种文件和文件夹等。一个项目包含了许多相关的条款,例如,你可以创建一个包括用户界面、数据处理、数据库连接等条款的项目。一个包含了若干相关条款的项目就构成了一个应用程序。解决方案通常是作为一个或多个项目的容器,各个项目协同合作共同创建应用程序。(一)在VisualStudio.NET中创建一个解决方案【文件】->【新建】->【空白解决方案】,来建立一个新的解决方案。(二)在VisualStudio.NET中创建一个项目【文件】->【新建】->【项目】,来创建一个项目。VisualBasic中可以使用的各种模板的描述l

Windows应用程序:该模板用于创建传统的单机Windows应用程序;l类库:该模板用于创建类或可重用的组件;l

Windows控件库:该模板用于创建一些可添加到用户界面中的客户端控制程序,例如,你可以创建一个用于转换各国货币值的控制程序,当你开发销售程序的时候添加上去。ASP.NETWeb应用程序:该模板可用以创建Web应用程序。为了能够创建ASP.NETWeb应用程序,你必须在你的机器上安装因特网信息服务(IIS)5.0。l

控制台应用程序:该模板可用以创建能够通过命令行运行的控制台应用程序,控制台应用程序具有用户接口这一特征。

控制台应用程序举例如下:

SubMain()System.Console.WriteLine("欢迎你的到来!")System.Console.Write("请输入你的名字:")DimstrNameAsStringstrName=System.Console.ReadLine()System.Console.WriteLine(strName&",你已经成功登录了!")System.Console.ReadLine()EndSubWindows窗体Windows窗体是从System.Windows.Forms.Form中继承下来的对象,每个Windows窗体都具有各种预先已定义的属性、方法和事件。我们可以使用这些预先定义的属性、方法和事件控制窗体的外观和行为。注意:其实,Windows窗体就是一个类,该类从System.Windows.Forms.Form中继承下来,在新建窗体时,VisualBasic.NET会自动在Form1.vb文件中保存了新建的窗体类的描述。Windows窗体的属性

Windows窗体的常用方法

例子:DimfrmLgAsNewfrmLogin‘为登录窗体类定义一个对象

frmLg.Show()‘弹出显示登录窗体

frmLg.Close()‘关闭登录窗体当窗体对象调用了Close方法后,窗体(包括窗体中的所有资源,如控件等)都会被标记为垃圾回收。当然,通过Me

关键字,可以引用当前正在其中执行代码的类或结构的特定实例,如下所示:

Me.Close()‘关闭当前窗体Windows窗体的常用事件

为MicrosoftWindows编写的应用程序是由消息驱动的,Windows将消息发送到适当的窗口以响应某些事件,例如鼠标单击、击键、窗口移动等。事件是一个信号,它告知应用程序有重要情况发生。例如,用户单击窗体上的某个按钮时,按钮引发一个Click事件并调用一个处理该事件的过程。

第三单元VB.NET的语言特征

数据类型

数据类型转换函数

常量常量可分为两种直接常量例如:3.14“helloworld”

DimaAsChara="A"ca=Chr(65)符号常量例如:ConstPIAsInteger=3.14变量

变量的命名规则:l

VB.NET的变量名最长不能超过255个字符;l

变量名称必须以字母或下划线开头,后面可以跟随任意个数字、字母以及下划线;l

VB.NET对变量中字母的大小写不加以区分;l

不能把VB.NET保留的关键字作为变量名,一般应把变量名的第一个字母大写;在程序设计过程中,强烈建议变量命名由变量的类型前缀加上变量用途来表示,例如:

DimintTotalAsInteger变量的声明

使用Dim语句来声明变量,其形式如下:Dim变量名As数据类型例如:DimintXAsInteger=99DimstrYAsString="Youarewelcome!"

变量的作用范围

变量一般分为局部变量和全局变量,其中局部变量是过程级变量,局部变量在过程内使用Dim声明。

全局变量的作用范围是整个程序,包括各个过程。全局变量在过程块之外、Class或Module块之内声明。

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数组数组的声明有两种方式:方式一:Dim数组名(数组元素个数-1)as数据类型例如:DimintAge(3)asInteger表示定义了一个intAge数组,它包含4个元素方式二,也可以使用下面的语句来声明数组:Dim数组名()as数据类型=NewInteger(数组元素个数-1){初始化数列}例如定义一个包含4个元素的整型数组:DimintAge()AsInteger=NewInteger(3){}数组元素的赋值和引用

在声明数组的同时给数组元素赋值:方式一:DimintAge()AsInteger={18,19,20,21}MessageBox.Show(intAge(0))这一种方式,不能指定数组的大小,编译器根据初始化数列的个数来决定数组的大小。方式二:DimintAge()AsInteger=NewInteger(3){18,19,20,21}MessageBox.Show(intAge(0))这一种方式,要指定数组的大小,而且要么不能有初始化数列(但大括号要保留),要么全部数组元素都要进行赋值。

复制数组方式一:使用Clone方法举例:

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

arr2=arr1.CloneDimintIAsInteger

ForEachintIInarr2MessageBox.Show(intI)Next方式二:逐个元素复制

DimiAsInteger=0Fori=0To2arr2(i)=arr1(i)Next重设数组大小

通过使用ReDim关键字重新设置数组的大小。例如,将intAge数组的大小重新设置为20:ReDimintAge(19)当然,在使用ReDim语句时,数组现有的内容会被删除。如果需要保留数组现有的内容,字使用ReDim语句时要加上Preserve关键字,例如:ReDimPreserveintAge(19)用UBound函数得到数组的最大可用下标:例子:DimintAge()AsInteger={20,18,21,19}‘定义了intAge数组用于保存学生的年龄DimstrTmpAsString="每个学生的年龄是:"DimintSumAsInteger=0DimintIAsInteger=0ForintI=0ToUBound(intAge)

‘通过UBound函数取得数组的最大可用下标,数组拥有的元素个数为UBound(intAge)+1intSum+=intAge(intI)strTmp=strTmp&intAge(intI)&""NextstrTmp=strTmp&Chr(10)&"平均年龄是:"&intSum/(UBound(intAge)+1)MessageBox.Show(strTmp)用Sort函数对数组元素进行排序

例子:

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

intAge.Sort(intAge)DimstrTmpAsString="每个学生的年龄(从小到大)分别是:"DimintIAsInteger=0ForintI=0ToUBound(intAge)strTmp=strTmp&intAge(intI)&""NextMessageBox.Show(strTmp)使用函数Reverse函数翻转数组元素的顺序;例如:intAge.Reverse(intAge)二维数组

例子:DimintAge(4,19)AsInteger‘声明一个包含5×20个元素的二维数组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函数返回指定维的元素个数,例如:

DimintAge(4,19)AsInteger'声明一个包含5×20个元素的二维数组

MessageBox.Show(intAge.GetLength(0))MessageBox.Show(intAge.GetLength(1))运算符(一)赋值运算符赋值运算符“

=”的作用就是把右操作数的值复制一份给左操作数举例说明如下:intY=3‘把3赋给变量intY,变量intY以后的值就是3了;intY=intX;‘把intX的值赋给intY;(二)算术运算符在算术运算符中,*、/、Mod、^、\同级别,+、-同级别,但*、/、Mod的级别高于+、-的级别,优先级高的运算符先运算。但是,如果两个运算符有相同的优先级,那么,则使用从左到右的规则进行运算。举例说明:x=10-2*3;‘x的结果是4,因为"*"比"-"的优先级高;y=10/2*5;‘y的结果是25,因为"/"与"*"的优先级相同,所以从左到右运算;

注意

a.两个整数相除的结果是整数,如果商含有小数部分,将被截掉,例如:Dimx,yAsIntegerx=21/6y=21/7结果是x和y的值都是3。b.当把不同类型的表达式赋值给一个变量时,编译器会试着隐式地将右操作数的类型转换成被赋值变量的类型。例如:DimxAsInteger‘x为整型x=3.14‘浮点类型的表达式赋值给整型型的变量,可以吗?MessageBox.Show(x)‘输出的结果是3;3.14被转换成整型文字常量3,然后赋值给变量x,所以x的值为3。(三)自反算术赋值运算符举例说明如下:DimxAsInteger=1x+=2‘此表达式与"x=x+2;"相同;1加上2,并把结果3赋值给x;MessageBox.Show(x)‘结果是3;(四)关系运算符Like运算符Like运算符用于比较两个字符串,字符串中可带有通配符。

DimstrAsString="Helloworld"IfstrLike"He*"ThenMessageBox.Show("通配成功")ElseMessageBox.Show("通配失败")EndIfIs运算符Is

运算符确定两个对象引用是否引用同一个对象。但是,它不执行值比较。如果object1

和object2

都引用同一个对象,则result

为True;否则result

为False。举例:

Dimbtn1AsNewButtonDimbtn2AsNewButton'Dimbtn2AsButton'btn2=btn1Ifbtn1Isbtn2ThenMessageBox.Show("引用了同一对象")ElseMessageBox.Show("引用了不同对象")EndIf举例2:

DimstrAsStringStr="helloworld"IfstrIsNothingThenMessageBox.Show("空对象")ElseMessageBox.Show("实例对象")EndIf'DimbtnAsNewButton'DimbtnAsButton(五)逻辑运算符(六)字符串运算符注意注意:字符串类型要连接整型(或浮点型等其他数字类型),不能使用连接加运算符,否则会产生错误。

流程控制结构If语句的语法如下:If条件表达式Then

语句1Else

语句2EndIf举例:说明如下,求两数的大者

Dimx,yAsIntegerx=1y=2Ifx>yThenMessageBox.Show("最大者是"&x)ElseMessageBox.Show("最大者是"&y)EndIf注意:①If语句可以嵌套使用,例如,求三个数的大者:

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

Ify>zThenMessageBox.Show("最大者是"&y)ElseMessageBox.Show("最大者是"&z)EndIfEndIf②条件表达式通常是逻辑表达式,其结果通常是True或是False;但也可以是算术表单式,则结果为零或非零,零代表False,非零代表True。举例如下:

Dimx,y,zAsIntegerx=0IfxThenMessageBox.Show("输入正确,X的值为非零值!")ElseMessageBox.Show("输入错误,X的值不可以为零!")EndIf③可以用If...Then...Else...ElseIf...EndIf语句进行多条件判断。举例如下,将输入的成绩等级转换为相应的分数:

DimchrCAsChar‘声明了一个字符常量chrCchrC="b"c‘把字符常量“b”赋值给字符变量chrC,‘"b"c中后跟的c是用于标识常量“b”是字符常量

IfchrC="a"cThenMessageBox.Show("成绩为90分!")ElseIfchrC="b"cThenMessageBox.Show("成绩为80分!")ElseIfchrC="c"cThenMessageBox.Show("成绩为70分!")ElseIfchrC="d"ThenMessageBox.Show("成绩为60分!")ElseMessageBox.Show("不及格!")EndIf(二)SelectCase...EndSelect语句SelectCase语句的语法如下,见书本P52:SelectCase条件表达式

Case常量表达式1

语句1Case常量表达式2

…Case常量表达式n

语句nCaseElse

语句n+1EndSelect举例如下:

DimchrCAsCharchrC="b"cSelectCasechrCCase"a"cMessageBox.Show("成绩为90分!")Case"b"cMessageBox.Show("成绩为80分!")Case"c"cMessageBox.Show("成绩为70分!")Case"d"cMessageBox.Show("成绩为60分!")CaseElseMessageBox.Show("不及格!")EndSelect(五)For...Next语句当知道循环的次数时,最好是使用For...Next语句,只有循环控制变量没有超出终值,循环就会执行下去。For循环最普遍的用法是遍历一个定长的数据结构,如,数组等。For...Next语句的语法如下,见书本P54:For循环控制变量=初值To终值[Step步长]

语句1Next如果不指定步长,则默认步长是增加1。举例如下:

DimintX,intSumAsIntegerintSum=0ForintX=1To9Step1intSum+=intXNextMessageBox.Show("总和是"&intSum)(三)While...EndWhile语句While...EndWhile语句的语法如下,见书本P56:While条件表达式语句1EndWhile举例说明如下,求1+2+3+…

…+9的总和:

DimintX,intSumAsIntegerintX=1intSum=0WhileintX<10intSum+=intXintX+=1EndWhileMessageBox.Show("总和是"&intSum)ExitWhile语句举例DimintX,intSumAsIntegerintX=1intSum=0WhileTrueintSum+=intXintX+=1IfintX=10ThenExitWhileEndIfEndWhileMessageBox.Show("总和是"&intSum)(四)Do...Loop语句Do...Loop语句也是用于重复执行一组特定的语句,可以用While关键字或Until关键字与Do...Loop语句结合使用。依然还是求1+2+3+…

…+9的总和,举例如下,

DimintX,intSumAsIntegerintX=1intSum=0DoWhileintX<10intSum+=intXintX+=1LoopMessageBox.Show("总和是"&intSum)也可以使用Do...LoopWhile形式,它与DoWhile...Loop形式有所不同,采用Do...LoopWhile形式,就算条件表达式一开始就不成立,但循环体至少也要执行一次。也可以使用DoUntil...Loop语句,与DoWhile...Loop刚好相反,DoUntil...Loop只有条件表达式不成立,循环都会一直被执行,直到条件表达式成立为止。

补充:常用系统函数数学函数举例如下:

DimdblIAsDoubledblI=Math.Sqrt(9)Me

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论