【教学课件】第五章语法基础.ppt
第五章 语法基础,数据类型常量变量运算符数组,数据类型(1),一用于保存数字的几种数字类型Interger16位整型Long32位整型Single32位单精度浮点Double64位双精度浮点Currency64位精确定点(整数15位小数4位)Byte8位字节型,数据类型(2),二用于进行逻辑判断的Boolean类型16位,取值只有True和False从其它数据类型转换为Boolean时0转成False,其它值为True从Boolean转换为其它数据类型时False转成0,True为-1,数据类型(3),三用于保存字符串的String类型双引号括起变长String,最多231个字符如:Dim temp As string定长String,最多216,不足字符以空格填充如:Dim temp As string*100,数据类型(4),四用于保存日期的Date类型64位,识别多种日期格式,除汉字日期以外如:Dim birthday As Datebirthday=#12/5/78#birthday=#1990-12-5 12:00:00 AM#birthday=#January 1,1993#取值范围为:100年1月1日9999年12月31日,数据类型(5),五用于保存对象引用的Object类型32位,保存对对象的引用(地址),只能用Set语句赋值六.万能的Variant类型(变体型)Dim temp几种特殊取值:Empty值:在赋值前,Variant型变量具有该值。Null值:空值,用于数据库,表示未知、尚未赋值的数据。不同于0、零长度字符串。Error值:指出运行中的错误状态。,数据类型(6),七自定义数据类型Type 自定义类型名元素名 As 数据类型元素名 As 数据类型元素名 As 数据类型.End Type类似于C语言中的结构类型,如:Type Student ID as long Name as string*10End TypeDim Stu1 As StudentStu1.Name=“zhang”,数据类型(7),如:Public Enum ColorsWhiteRed Green End EnumDim temp As ColorsTemp=Green,Private|Public Enum 自定义类型名元素名 As 数据类型End Type,八自定义枚举类型,Public|Private Const 常量名=表达式如:Const conPi=3.1415926,有两类常量:用户自定义常量 系统常量(以VB开头),比如回车换行符vbCrlf、vbRed、vbCancel等等,常量,变量名称如何声明使用变量的作用域,变量,一合法变量名以中英文字符开头,可以包含英文字母、中文、数字、下划线;不能是系统已有的关键字,如Date、if、End;不能超过255个字符;在同一作用范围区域中必须唯一,比如同一个事件过程中不能有两个同名的变量。,变量的命名,Public|Private|Static Dim 变量名 As 类型如:*局部变量Dim temp As Interger*模块级变量Public temp As Interger 整个工程有效(模块声明段中)Private temp As Interger 当前窗体有效*静态变量Static temp As Interger 退出过程不释放,*隐式声明就是不声明而直接就使用一个变量*显式声明比隐式声明更安全,Option Explicit语句强制要 求变量进行显式声明(或通过菜单的选项对话框设定),变量的声明,我们会强制要求先声明后使用,即显式声明。原因:变量不声明而直接使用,这些未声明的变量都是Variant类型,当需要指明数据为具体类型形式时需要额外的处理,也缺乏必要的类型检测;在使用已有变量时可能会错误地拼写了该变量,而系统会认为它是隐式声明的另一个变量,而检查不出错误;反之若采用显式声明方式,系统强制所有变量必须先声明,在编译时一旦发现使用了未经声明的变量名(如写错),就会报告错误。在每个文件代码的通用段(首行)增加一条设置语句:Option ExplicitDim MyVar声明变量。MyInt=10未声明变量产生错误。MyVar=10声明变量不产生错误。,严格要求变量声明,变量的简易声明方式,VB还提供了一种简易的声明方式,只要变量名后带有某个特定符号,就代表该变量是某种数据类型,如Dim$StudentName数据类型声明字符:Integer%Long&Single!Double#String$,变量的作用域,全局变量:定义在BAS模块中,使用public关键字,工程中所有文件所有过程共享如在common.bas中:Public stuNo As Long模块级变量:定义在BAS模块、窗体或类模块中,使用Private或Dim关键字,整个模块内共享如在frmMain.frm中:Dim stuNo as Long局部变量:定义在一个过程内部,仅限该过程使用,赋值运算符,frmMain.Width=300 给对象属性赋值(数值)frmTest.Caption=“Hello”给对象属性赋值(字符串)temp=temp+1 给普通变量赋值flag1=true给普通变量赋值(布尔)orderDate=#2002-12-20#给普通变量赋值(日期)Dim a As FormSet a=New Form1给对象变量赋值VB在进行赋值运算时,会自动进行类型转换,注释语句,以下循环计算总成绩,VB中进行运算,一、算术运算+加法-减法*乘法/浮点数除法整数除法指数如 temp=32MOD求余数二、比较运算=Like Is,三、连接运算&强制两个表达式作字符串连接+如果有数字,则作相加运算,否则作字符串连接比较:ABA&BA+B“123”“3”“1233”“1233”1233“1233”126“123”3“1233”126“123a”3“123a3”报错,VB中进行运算,VB中进行运算,四、逻辑运算NOT非OR或者AND并且XOR异或EQV等价IMP蕴含,*运算的优先顺序*算术运算 逻辑运算高 not-(负)and*/or xor modeqv+-imp低&,