《VBNET程序设计实用教程2.ppt》由会员分享,可在线阅读,更多相关《VBNET程序设计实用教程2.ppt(104页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、GYCVB.NETVB.NET清华大学出版社清华大学出版社Visual Basic.NET编程简介编程简介第第2 2章程序设计基础与结构化程序设计语句章程序设计基础与结构化程序设计语句GYCGYC本章主要内容本章主要内容话费计算程序话费计算程序 求一元二次方程的根求一元二次方程的根学生成绩统计程序学生成绩统计程序素数判断测验程序素数判断测验程序最大公约数与最小公倍数求解测验程序最大公约数与最小公倍数求解测验程序主主要要内内容容GYCGYC本章要点本章要点 VB.NETVB.NET支持的数据类型、常量、符号常量及变量支持的数据类型、常量、符号常量及变量支持的数据类型、常量、符号常量及变量支持的数
2、据类型、常量、符号常量及变量 VB.NETVB.NET的运算符与表达式的运算符与表达式的运算符与表达式的运算符与表达式 IfThenElseEnd IfIfThenElseEnd If语句的作用及其使用语句的作用及其使用语句的作用及其使用语句的作用及其使用 IfThenElse IfElseEnd IfIfThenElse IfElseEnd If语句的作语句的作语句的作语句的作用及其使用用及其使用用及其使用用及其使用 Select CaseEnd SelectSelect CaseEnd Select语句的作用及其使用语句的作用及其使用语句的作用及其使用语句的作用及其使用 WhileWhil
3、e循环语句的作用及其使用循环语句的作用及其使用循环语句的作用及其使用循环语句的作用及其使用 四种四种四种四种DoLoopDoLoop循环语句的作用及其使用循环语句的作用及其使用循环语句的作用及其使用循环语句的作用及其使用 ForNextForNext循环语句的作用及其使用循环语句的作用及其使用循环语句的作用及其使用循环语句的作用及其使用 Exit DoExit Do、Exit WhileExit While、Exit ForExit For等语句的作用及其使等语句的作用及其使等语句的作用及其使等语句的作用及其使用用用用GYCGYC2.1 数据类型、常量与变量 使用高级语言编写程序,必须要做两件
4、事:描述数据和描使用高级语言编写程序,必须要做两件事:描述数据和描述数据加工的方法。其中描述数据首先需要定义数据的数据类型。述数据加工的方法。其中描述数据首先需要定义数据的数据类型。数据类型是指数据的内在表现形式,也就是说数据在加工计算中数据类型是指数据的内在表现形式,也就是说数据在加工计算中的特征就是数据的类型。如人的工龄和奖金可以比较大小,可以的特征就是数据的类型。如人的工龄和奖金可以比较大小,可以进行加、减等算术运算,我们把具有这样特征的数据称为进行加、减等算术运算,我们把具有这样特征的数据称为“数值数值型型”。工龄和奖金又有区别,其中工龄没有小数,是整数称为。工龄和奖金又有区别,其中工
5、龄没有小数,是整数称为“整型整型”。而奖金可以带有小数点,称为。而奖金可以带有小数点,称为“实型实型”。另外要表示人。另外要表示人的姓名,必须使用一串字符,这串字符不能进行加减等与数值相的姓名,必须使用一串字符,这串字符不能进行加减等与数值相似的运算,只是表示特定的含义,我们把具有这样特征的数据称似的运算,只是表示特定的含义,我们把具有这样特征的数据称为为“字符串型字符串型”。而表示一个人的性别,可以用单个字符。而表示一个人的性别,可以用单个字符(“F F”或或“M M”表示),我们把具有与性别相类似的数据称为字表示),我们把具有与性别相类似的数据称为字符型。符型。表表2-12-1列出了列出了
6、VB.NETVB.NET支持的基本数据类型及其占用的存储字支持的基本数据类型及其占用的存储字节数和取值范围。节数和取值范围。基本数据类型基本数据类型基本数据类型基本数据类型GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 1 1数值数据类型数值数据类型 数值数据类型主要有数值数据类型主要有5 5种,分别如下:种,分别如下:IntegerInteger、LongLong、ShortShort、SingleSingle和和DoubleDouble。(1 1)整型数据类型)整型数据类型 整型数据类型包括整型数据类型包括IntegerInteger、LongLong和和ShortShort
7、,用来表示整数,可以是正整数、,用来表示整数,可以是正整数、负整数和负整数和0 0。可以在所写的数字后面加上一个符号来指定数据的数据类型。可以在所写的数字后面加上一个符号来指定数据的数据类型。IntegerInteger类型用类型用I I指定,指定,ShortShort类型用类型用S S指定,指定,LongLong类型用类型用L L指定。如指定。如927S927S表示的是表示的是一个短整型数据,占一个短整型数据,占2 2个字节;个字节;927I927I表示的是一个整型数据,占表示的是一个整型数据,占4 4个字节;个字节;927L927L表表示的是一个长整型数据,占示的是一个长整型数据,占8 8
8、个字节。个字节。(2 2)实数数据类型)实数数据类型 实数数据类型(又称浮点数据类型)包括实数数据类型(又称浮点数据类型)包括SingleSingle(单精度)和(单精度)和DoubleDouble(双精(双精度)两种数据类型,用来表示带有小数点的数。在度)两种数据类型,用来表示带有小数点的数。在VB.NETVB.NET中表示实数有两种形中表示实数有两种形式:小数形式和指数形式。如式:小数形式和指数形式。如654.21654.21和和0.8760.876就是用小数形式表示的实数,就是用小数形式表示的实数,8.687E-38.687E-3就是用指数形式表示的实数,代表就是用指数形式表示的实数,代
9、表 。可以在实数后面增加一个符号来指定实数的数据类型,可以在实数后面增加一个符号来指定实数的数据类型,R R表示表示DoubleDouble,F F表示表示SingleSingle。如。如657.628R657.628R代表的是双精度数代表的是双精度数657.628657.628,占,占8 8个字节;个字节;657.628F657.628F代表的是代表的是单精度数单精度数657.628657.628,占,占4 4个字节。个字节。GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 2 2字符数据类型字符数据类型字符数据类型字符数据类型 字符数据类型主要有字符数据类型主要有字符数据类型主
10、要有字符数据类型主要有CharChar和和和和StringString两个,它们用来处理两个,它们用来处理两个,它们用来处理两个,它们用来处理UnicodeUnicode字符,字符,字符,字符,CharChar包含单个字符,包含单个字符,包含单个字符,包含单个字符,StringString包含任意一串字符(零包含任意一串字符(零包含任意一串字符(零包含任意一串字符(零个或多个)。个或多个)。个或多个)。个或多个)。(1 1)CharChar数据类型数据类型数据类型数据类型 Char Char类型的数据以两个字节的数字形式存储,取值范围从类型的数据以两个字节的数字形式存储,取值范围从类型的数据以
11、两个字节的数字形式存储,取值范围从类型的数据以两个字节的数字形式存储,取值范围从0 065 53565 535。每两个字节数值存储一个。每两个字节数值存储一个。每两个字节数值存储一个。每两个字节数值存储一个UnicodeUnicode字符。一般字符。一般字符。一般字符。一般CharChar类型用类型用类型用类型用来存储单个字符,如来存储单个字符,如来存储单个字符,如来存储单个字符,如9797表示字母表示字母表示字母表示字母aa,可在其数据后添加一个字符,可在其数据后添加一个字符,可在其数据后添加一个字符,可在其数据后添加一个字符C C,表示为,表示为,表示为,表示为CharChar类型数据,如
12、类型数据,如类型数据,如类型数据,如97C97C就是就是就是就是CharChar类型数据,相当于字母类型数据,相当于字母类型数据,相当于字母类型数据,相当于字母AA。(2 2)字符串数据类型()字符串数据类型()字符串数据类型()字符串数据类型(StringString)String String类型数据是一个字符串,在类型数据是一个字符串,在类型数据是一个字符串,在类型数据是一个字符串,在VB.NETVB.NET中,中,中,中,StringString类型数据类型数据类型数据类型数据是用双引号(是用双引号(是用双引号(是用双引号()括起来的一串字符,它可存储近)括起来的一串字符,它可存储近)
13、括起来的一串字符,它可存储近)括起来的一串字符,它可存储近2020亿个亿个亿个亿个UnicodeUnicode字符。字符。字符。字符。GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 3 3 3 3布尔类型(布尔类型(布尔类型(布尔类型(BooleanBooleanBooleanBoolean)Boolean Boolean Boolean Boolean变量以变量以变量以变量以8 8 8 8位(位(位(位(1 1 1 1个字节)的数值形式存储,但个字节)的数值形式存储,但个字节)的数值形式存储,但个字节)的数值形式存储,但其值只能是其值只能是其值只能是其值只能是TrueTrueT
14、rueTrue或或或或FalseFalseFalseFalse。当其他数值类型转换为。当其他数值类型转换为。当其他数值类型转换为。当其他数值类型转换为BooleanBooleanBooleanBoolean值时,值时,值时,值时,0 0 0 0会转换为会转换为会转换为会转换为FalseFalseFalseFalse,而其他的值则转换为,而其他的值则转换为,而其他的值则转换为,而其他的值则转换为TrueTrueTrueTrue。当将。当将。当将。当将BooleanBooleanBooleanBoolean值转换为其他的数据类型时,值转换为其他的数据类型时,值转换为其他的数据类型时,值转换为其他的
15、数据类型时,FalseFalseFalseFalse转换为转换为转换为转换为0 0 0 0,而,而,而,而TrueTrueTrueTrue转换为转换为转换为转换为1 1 1 1。Boolean Boolean Boolean Boolean值显示为值显示为值显示为值显示为TrueTrueTrueTrue或或或或FalseFalseFalseFalse(使用(使用(使用(使用PrintPrintPrintPrint时),或时),或时),或时),或者是者是者是者是#TRUE#TRUE#TRUE#TRUE#或或或或#FALSE#FALSE#FALSE#FALSE#(使用(使用(使用(使用WriteW
16、riteWriteWrite时)。时)。时)。时)。4 4 4 4ByteByteByteByte数据类型数据类型数据类型数据类型 Byte Byte Byte Byte数据类型的数据以一个无符号的数值形式存储,数据类型的数据以一个无符号的数值形式存储,数据类型的数据以一个无符号的数值形式存储,数据类型的数据以一个无符号的数值形式存储,主要用于存储二进制数,范围为主要用于存储二进制数,范围为主要用于存储二进制数,范围为主要用于存储二进制数,范围为0255025502550255。GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 5 5 5 5日期数据类型(日期数据类型(日期数据类型
17、(日期数据类型(DateDateDateDate)Date Date Date Date类型的数据以类型的数据以类型的数据以类型的数据以IEEE 64IEEE 64IEEE 64IEEE 64位(位(位(位(8 8 8 8个字节)的长整型数值形式存储。其个字节)的长整型数值形式存储。其个字节)的长整型数值形式存储。其个字节)的长整型数值形式存储。其表示日期的范围从公元表示日期的范围从公元表示日期的范围从公元表示日期的范围从公元1 1 1 1年年年年1 1 1 1月月月月1 1 1 1日到日到日到日到9999999999999999年年年年12121212月月月月31313131日,时间从日,时
18、间从日,时间从日,时间从00:00:0000:00:0000:00:0000:00:00到到到到23:59:5923:59:5923:59:5923:59:59。DateDateDateDate变量每加变量每加变量每加变量每加1 1 1 1,都代表,都代表,都代表,都代表100100100100纳秒的时间间隔。纳秒的时间间隔。纳秒的时间间隔。纳秒的时间间隔。DateDateDateDate型数据依赖于区域设置,任何可识别的日期格式所表示的日期值,都型数据依赖于区域设置,任何可识别的日期格式所表示的日期值,都型数据依赖于区域设置,任何可识别的日期格式所表示的日期值,都型数据依赖于区域设置,任何可
19、识别的日期格式所表示的日期值,都可以存储为可以存储为可以存储为可以存储为DateDateDateDate类型数据。日期型数据使用时,要注意必须使用类型数据。日期型数据使用时,要注意必须使用类型数据。日期型数据使用时,要注意必须使用类型数据。日期型数据使用时,要注意必须使用“#”括起括起括起括起来,否则,来,否则,来,否则,来,否则,VB.NETVB.NETVB.NETVB.NET不能正确识别。不能正确识别。不能正确识别。不能正确识别。例如:例如:例如:例如:#11/25/2003#11/25/2003#11/25/2003#11/25/2003#、#2004.7.26#2004.7.26#20
20、04.7.26#2004.7.26#、#08/08/1998 08:30:02PM#08/08/1998 08:30:02PM#08/08/1998 08:30:02PM#08/08/1998 08:30:02PM#等均等均等均等均是有效的日期型数据。是有效的日期型数据。是有效的日期型数据。是有效的日期型数据。6 6 6 6DecimalDecimalDecimalDecimal数据数据数据数据 Decimal Decimal Decimal Decimal类型的数据以类型的数据以类型的数据以类型的数据以96969696位(位(位(位(12121212个字节)有符号的小数形式存储,它为个字节)
21、有符号的小数形式存储,它为个字节)有符号的小数形式存储,它为个字节)有符号的小数形式存储,它为非常大的值提供支持,常用来存储货币值。当没有小数时,其表示数值的非常大的值提供支持,常用来存储货币值。当没有小数时,其表示数值的非常大的值提供支持,常用来存储货币值。当没有小数时,其表示数值的非常大的值提供支持,常用来存储货币值。当没有小数时,其表示数值的范围为范围为范围为范围为79 228 162 514 264 337 593 543 950 33579 228 162 514 264 337 593 543 950 33579 228 162 514 264 337 593 543 950 33
22、579 228 162 514 264 337 593 543 950 335之间;有小数时,其之间;有小数时,其之间;有小数时,其之间;有小数时,其小数点后可达到小数点后可达到小数点后可达到小数点后可达到28282828位。小数点后的位数越多,表示的数据越精确,但表示位。小数点后的位数越多,表示的数据越精确,但表示位。小数点后的位数越多,表示的数据越精确,但表示位。小数点后的位数越多,表示的数据越精确,但表示的数值范围就越小。可在数据后面添加字符的数值范围就越小。可在数据后面添加字符的数值范围就越小。可在数据后面添加字符的数值范围就越小。可在数据后面添加字符D D D D,表示为,表示为,表
23、示为,表示为DecimalDecimalDecimalDecimal型数据,如型数据,如型数据,如型数据,如128.76455D128.76455D128.76455D128.76455D、128D128D128D128D、0.234D0.234D0.234D0.234D等都是等都是等都是等都是DecimalDecimalDecimalDecimal类型的数据。类型的数据。类型的数据。类型的数据。GYCGYC 7 7 7 7对象数据类型对象数据类型对象数据类型对象数据类型 Object Object Object Object类型的数据以类型的数据以类型的数据以类型的数据以4 4 4 4个字节
24、的地址形式存储,即个字节的地址形式存储,即个字节的地址形式存储,即个字节的地址形式存储,即ObjectObjectObjectObject数据类型只记录某一个数据的地址,并不是真正数据类型只记录某一个数据的地址,并不是真正数据类型只记录某一个数据的地址,并不是真正数据类型只记录某一个数据的地址,并不是真正记录那个数据。如果应用程序中使用了没有定义数据类记录那个数据。如果应用程序中使用了没有定义数据类记录那个数据。如果应用程序中使用了没有定义数据类记录那个数据。如果应用程序中使用了没有定义数据类型的变量,型的变量,型的变量,型的变量,VB.NETVB.NETVB.NETVB.NET会默认它是会默
25、认它是会默认它是会默认它是ObjectObjectObjectObject类型。类型。类型。类型。ObjectObjectObjectObject类型类型类型类型的变量可以指向任何类型的数据,这就意味着的变量可以指向任何类型的数据,这就意味着的变量可以指向任何类型的数据,这就意味着的变量可以指向任何类型的数据,这就意味着ObjectObjectObjectObject类类类类型的变量,可以存放各种系统定义的数据类型的数据,型的变量,可以存放各种系统定义的数据类型的数据,型的变量,可以存放各种系统定义的数据类型的数据,型的变量,可以存放各种系统定义的数据类型的数据,如可以存放数值、字符串、日期及
26、布尔值等任何类型的如可以存放数值、字符串、日期及布尔值等任何类型的如可以存放数值、字符串、日期及布尔值等任何类型的如可以存放数值、字符串、日期及布尔值等任何类型的数据。但是,数据。但是,数据。但是,数据。但是,ObjectObjectObjectObject数据的运算速度比其他类型要慢得数据的运算速度比其他类型要慢得数据的运算速度比其他类型要慢得数据的运算速度比其他类型要慢得多,因此,在应用程序中如果能确定数据类型,就应使多,因此,在应用程序中如果能确定数据类型,就应使多,因此,在应用程序中如果能确定数据类型,就应使多,因此,在应用程序中如果能确定数据类型,就应使用特定的类型,只有在需要时才使
27、用用特定的类型,只有在需要时才使用用特定的类型,只有在需要时才使用用特定的类型,只有在需要时才使用ObjectObjectObjectObject类型,以便类型,以便类型,以便类型,以便应用程序具有较佳的运行效果。应用程序具有较佳的运行效果。应用程序具有较佳的运行效果。应用程序具有较佳的运行效果。2.1 数据类型、常量与变量数据类型、常量与变量GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 1 1常量常量 所谓常量是指在程序运行过程中其值不变的量。常量可以分成所谓常量是指在程序运行过程中其值不变的量。常量可以分成两大类,一类是直接常量,由书写规律决定;一类是符号常量,必两大类,一
28、类是直接常量,由书写规律决定;一类是符号常量,必须先定义后使用。须先定义后使用。直接常量又可分为整型常量、实型常量、直接常量又可分为整型常量、实型常量、CharChar型常量、字符串型常量、字符串常量、布尔常量、日期常量等。各种常量的书写方法在常量、布尔常量、日期常量等。各种常量的书写方法在2.1.12.1.1节的节的数据类型的讲述中已经说明。数据类型的讲述中已经说明。在应用程序设计中,常常需要用到一些固定不变的数据,如圆在应用程序设计中,常常需要用到一些固定不变的数据,如圆周率,对于这些数据应将它们定义为符号常量。在周率,对于这些数据应将它们定义为符号常量。在VB.NETVB.NET中,可使
29、中,可使用用ConstConst语句定义符号常量,语句定义符号常量,ConstConst语句的格式如下。语句的格式如下。格式格式:Const Const 常量名常量名 AsAs数据类型数据类型=表达式表达式 功能功能:定义由定义由“常量名常量名”指定的符号常量。指定的符号常量。说明说明:常量名是标识符,它的命名规则与标识符的命名规则常量名是标识符,它的命名规则与标识符的命名规则一样。一样。“As As 数据类型数据类型”用于说明常量的数据类型,若省略此项,用于说明常量的数据类型,若省略此项,则常量的数据类型由表达式决定。则常量的数据类型由表达式决定。“表达式表达式”可以是直接常量、符可以是直接
30、常量、符号常量和运算符组成的表达式。号常量和运算符组成的表达式。GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 例如,有下列符号常量定义语句:例如,有下列符号常量定义语句:Const PI=3.14159 Const PI=3.14159 定义一个符号常量定义一个符号常量PIPI,是一个单,是一个单精度浮点型精度浮点型 Const M As Integer=2468 Const M As Integer=2468 定义一个符号常量定义一个符号常量M M,是整型,是整型 Const K=M MOD 10+5 Const K=M MOD 10+5 定义一个符号常量定义一个符号常量K
31、K,该常量依,该常量依赖于常量赖于常量M M 使用符号常量有两个好处:一是方便程序的编写;二是当要改变符号使用符号常量有两个好处:一是方便程序的编写;二是当要改变符号常量代表的数据时,只需改变定义常量的语句,而不需要改变每个用到该常量代表的数据时,只需改变定义常量的语句,而不需要改变每个用到该数据的语句,这样可提高编程的效率。数据的语句,这样可提高编程的效率。2 2变量变量 所谓变量是指在程序运行过程中其值可以变化的量。每个变量应有一所谓变量是指在程序运行过程中其值可以变化的量。每个变量应有一个名字,变量的命名应符合标识符的规定。在程序中,变量通常用来存放个名字,变量的命名应符合标识符的规定。
32、在程序中,变量通常用来存放中间结果,因数据类型不同,变量所占用的存储空间也不同。中间结果,因数据类型不同,变量所占用的存储空间也不同。在使用变量之间,应先声明变量。在声明变量的同时还可以给变量赋在使用变量之间,应先声明变量。在声明变量的同时还可以给变量赋初值。变量的声明方法有显式声明和隐式声明两种。初值。变量的声明方法有显式声明和隐式声明两种。GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量(1 1)变量的显式声明)变量的显式声明 变量的显式声明语句的一般格式如下。变量的显式声明语句的一般格式如下。格式格式:Declare Declare 变量名变量名 As As 数据类型数据类型
33、 =初值初值 功能功能:声明一个由声明一个由“变量名变量名”指定的变量,并可以给指定的变量,并可以给它赋初值。它赋初值。说明说明:语句中的语句中的“DeclareDeclare”可以是可以是DimDim、PublicPublic、ProtectedProtected、FriendFriend、PrivatePrivate、SharedShared和和StaticStatic。本节只介绍。本节只介绍DimDim,其它声明方,其它声明方式将在以后相应章节中介绍。式将在以后相应章节中介绍。数据类型可以是基本数据类型(如表数据类型可以是基本数据类型(如表2-12-1中的中的“关键字关键字”列列所示),
34、也可以是用户自定义的类型。所示),也可以是用户自定义的类型。初值用来定义变量的初值。如果在声明变量的时候没有给变初值用来定义变量的初值。如果在声明变量的时候没有给变量赋初值,量赋初值,VB.NETVB.NET就用数据类型的默认值来给出初始值,各种数据就用数据类型的默认值来给出初始值,各种数据类型的默认值如下:类型的默认值如下:GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 所有的数值类型所有的数值类型所有的数值类型所有的数值类型(包括包括包括包括Byte)Byte)Byte)Byte)为为为为0 0 0 0。Char Char Char Char类型为二进制类型为二进制类型为二进
35、制类型为二进制0 0 0 0。Object Object Object Object类型和类型和类型和类型和StringStringStringString类型为类型为类型为类型为NULLNULLNULLNULL。Boolean Boolean Boolean Boolean型为型为型为型为FalseFalseFalseFalse。Date Date Date Date型为型为型为型为12:00:00 12:00:00 12:00:00 12:00:00 AM,JanuaryAM,JanuaryAM,JanuaryAM,January l,1 l,1 l,1 l,1。例如有如下变量定义语句:例
36、如有如下变量定义语句:例如有如下变量定义语句:例如有如下变量定义语句:定义三个单精度变量定义三个单精度变量定义三个单精度变量定义三个单精度变量x,y,zx,y,zx,y,zx,y,z,用一个,用一个,用一个,用一个AsAsAsAs来指定数据类型来定义多个同来指定数据类型来定义多个同来指定数据类型来定义多个同来指定数据类型来定义多个同类型的变量类型的变量类型的变量类型的变量 Dim Dim Dim Dim x,y,z x,y,z x,y,z x,y,z As SingleAs SingleAs SingleAs Single 定义两个实型变量定义两个实型变量定义两个实型变量定义两个实型变量n n
37、 n n和和和和p p p p并给它们赋初值,一条语句定义多个不同类并给它们赋初值,一条语句定义多个不同类并给它们赋初值,一条语句定义多个不同类并给它们赋初值,一条语句定义多个不同类型的变量型的变量型的变量型的变量 Dim Dim Dim Dim n n n n As IntegerAs IntegerAs IntegerAs Integer=24,p =24,p =24,p =24,p As IntegerAs IntegerAs IntegerAs Integer=98=98=98=98 下面语句是错误的,不能给多个变量同时赋一个初值下面语句是错误的,不能给多个变量同时赋一个初值下面语句是
38、错误的,不能给多个变量同时赋一个初值下面语句是错误的,不能给多个变量同时赋一个初值 DimDimDimDim ff,ff,ff,ff,dddddddd,eeeeeeee As DoubleAs DoubleAs DoubleAs Double=123.9=123.9=123.9=123.9 变量声明后只能在一定范围内使用,变量的使用范围称变量的作用域,变量声明后只能在一定范围内使用,变量的使用范围称变量的作用域,变量声明后只能在一定范围内使用,变量的使用范围称变量的作用域,变量声明后只能在一定范围内使用,变量的使用范围称变量的作用域,关于变量的作用域问题,将在过程一章中进行详细讲解。关于变量的
39、作用域问题,将在过程一章中进行详细讲解。关于变量的作用域问题,将在过程一章中进行详细讲解。关于变量的作用域问题,将在过程一章中进行详细讲解。GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量(2 2)变量的隐式声明)变量的隐式声明 在在VB.NETVB.NET中,还可以采用在变量名后面加上一个用于规定变量类中,还可以采用在变量名后面加上一个用于规定变量类型的说明符,直接确定变量的类型。型的说明符,直接确定变量的类型。VB.NETVB.NET规定的类型说明符见表规定的类型说明符见表2-22-2。表表表表2-2 2-2 2-2 2-2 类型说明符表:类型说明符表:类型说明符表:类型说明符
40、表:类类类类型名型名型名型名说说说说明符明符明符明符类类类类型名型名型名型名说说说说明符明符明符明符IntegerInteger(整型)(整型)(整型)(整型)%DoubleDouble(双精度(双精度(双精度(双精度型)型)型)型)#LongLong(长长长长整型)整型)整型)整型)&DecimalDecimal(大浮点(大浮点(大浮点(大浮点数型)数型)数型)数型)Single(Single(单单单单精度型精度型精度型精度型)!StringString(字符串(字符串(字符串(字符串型)型)型)型)$例如例如,有下列语句:有下列语句:N%=1 定义定义N为整型变量并赋值为整型变量并赋值1
41、Prive!=25.05 定义定义Amount为单精度变量,并赋值为为单精度变量,并赋值为25.05 strSQL$=Select*from student 定义定义strSQL为字符串变量,并赋值为为字符串变量,并赋值为Select*from studentGYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 (3)Option Explicit语句语句 在类模块、窗体模块或标准模块的开头加入以下语句:在类模块、窗体模块或标准模块的开头加入以下语句:Option Explicit Off 那么在使用一个变量之前就不必声明该变量,那么在使用一个变量之前就不必声明该变量,VB.NET把遇
42、到把遇到的每一个没有定义的标识符均看作一个变量。图的每一个没有定义的标识符均看作一个变量。图2-1中,是在程序的开头部分输中,是在程序的开头部分输入了入了“Option Explicit Off”的情况。的情况。图图图图2-1 2-1 窗体的声明部分窗体的声明部分窗体的声明部分窗体的声明部分GYCGYC2.1 数据类型、常量与变量数据类型、常量与变量 例如,此时在没有声明例如,此时在没有声明例如,此时在没有声明例如,此时在没有声明x x x x和和和和y y y y的前提下,有下列语句:的前提下,有下列语句:的前提下,有下列语句:的前提下,有下列语句:x=345:y=765 x=345:y=7
43、65 x=345:y=765 x=345:y=765 系统将自动创建系统将自动创建系统将自动创建系统将自动创建x x x x和和和和y y y y这两个变量。这两个变量。这两个变量。这两个变量。如果希望在使用每一个变量之前,均必须声明,可如果希望在使用每一个变量之前,均必须声明,可如果希望在使用每一个变量之前,均必须声明,可如果希望在使用每一个变量之前,均必须声明,可在类模块、窗体模块或标准模块的开头加入以下语句:在类模块、窗体模块或标准模块的开头加入以下语句:在类模块、窗体模块或标准模块的开头加入以下语句:在类模块、窗体模块或标准模块的开头加入以下语句:Option Explicit On
44、Option Explicit On Option Explicit On Option Explicit On 这样系统只要遇到一个未明确声明就当成变量的标这样系统只要遇到一个未明确声明就当成变量的标这样系统只要遇到一个未明确声明就当成变量的标这样系统只要遇到一个未明确声明就当成变量的标识符,就会发出错误警告,这也是识符,就会发出错误警告,这也是识符,就会发出错误警告,这也是识符,就会发出错误警告,这也是VB.NETVB.NETVB.NETVB.NET的默认设置。的默认设置。的默认设置。的默认设置。GYCGYC2.2 任务任务2-1:求一元二次方程的根:求一元二次方程的根选择结构程序设计一选
45、择结构程序设计一 任务任务2-12-1描述:描述:编写一个求解一元二次方程根的程序,程序的设计界面如图编写一个求解一元二次方程根的程序,程序的设计界面如图2-22-2所示。程序运所示。程序运行时输入一元二次方程的三个系数,然后单击行时输入一元二次方程的三个系数,然后单击“求解求解”按钮,将求出方程的根并显按钮,将求出方程的根并显示出来,如图示出来,如图2-32-3所示。所示。图图图图2-2 2-2 程序设计界面程序设计界面程序设计界面程序设计界面图图图图2-3 2-3 程序运行界面程序运行界面程序运行界面程序运行界面任务分析:任务分析:任务分析:任务分析:获取用户输入的三个系数(假设为获取用户
46、输入的三个系数(假设为获取用户输入的三个系数(假设为获取用户输入的三个系数(假设为a a a a、b b b b和和和和c c c c),判断二次项系数),判断二次项系数),判断二次项系数),判断二次项系数a a a a是否为是否为是否为是否为0 0 0 0,如果为,如果为,如果为,如果为0 0 0 0则不是一元二次方程,给出提示信息。如果二次项系数则不是一元二次方程,给出提示信息。如果二次项系数则不是一元二次方程,给出提示信息。如果二次项系数则不是一元二次方程,给出提示信息。如果二次项系数a a a a的值不为的值不为的值不为的值不为0 0 0 0,则计算表达式,则计算表达式,则计算表达式,
47、则计算表达式 的值,根据该表达式值判断方程的根是实根还是虚根,然后求得根并在相应的文本框中的值,根据该表达式值判断方程的根是实根还是虚根,然后求得根并在相应的文本框中的值,根据该表达式值判断方程的根是实根还是虚根,然后求得根并在相应的文本框中的值,根据该表达式值判断方程的根是实根还是虚根,然后求得根并在相应的文本框中显示出来。显示出来。显示出来。显示出来。GYCGYC2.2 任务任务2-1:求一元二次方程的根:求一元二次方程的根选择结构程序设计一选择结构程序设计一 任务实现:任务实现:任务实现:任务实现:1 1 1 1启动启动启动启动VB.NETVB.NETVB.NETVB.NET,新建一个项
48、目,项目类型为,新建一个项目,项目类型为,新建一个项目,项目类型为,新建一个项目,项目类型为“WindowsWindowsWindowsWindows应用程应用程应用程应用程序序序序”,项目的存放位置为,项目的存放位置为,项目的存放位置为,项目的存放位置为“D:VBTASKCH02D:VBTASKCH02D:VBTASKCH02D:VBTASKCH02”,项目名为,项目名为,项目名为,项目名为“TaskTaskTaskTask2_12_12_12_1”。2 2 2 2把把把把Form1Form1Form1Form1窗体的窗体的窗体的窗体的TextTextTextText属性值设置为属性值设置为
49、属性值设置为属性值设置为“求一元二次方程的根求一元二次方程的根求一元二次方程的根求一元二次方程的根”,把它的,把它的,把它的,把它的NameNameNameName属性值设置为属性值设置为属性值设置为属性值设置为“frmEquationfrmEquationfrmEquationfrmEquation”。单击。单击。单击。单击“解决方案资解决方案资解决方案资解决方案资源管理器源管理器源管理器源管理器”中的中的中的中的“Form1.VBForm1.VBForm1.VBForm1.VB”窗体,然后在属性窗口中把它文件名窗体,然后在属性窗口中把它文件名窗体,然后在属性窗口中把它文件名窗体,然后在属性
50、窗口中把它文件名属性设置为属性设置为属性设置为属性设置为“frmEquation.vbfrmEquation.vbfrmEquation.vbfrmEquation.vb”。然后执行。然后执行。然后执行。然后执行【项目项目项目项目】【Task2_1Task2_1Task2_1Task2_1属性属性属性属性】命令,在出现的命令,在出现的命令,在出现的命令,在出现的“Task2_1Task2_1Task2_1Task2_1属性页属性页属性页属性页”对话框中把对话框中把对话框中把对话框中把“启动对象启动对象启动对象启动对象”设置为设置为设置为设置为“frmEquationfrmEquationfrm