2.3 运算符
在实际的编码中,运算符的使用是必不可少的。常用的运算符有赋值运算符、算术运算符、字符串连接运算符、比较运算符和逻辑运算符。运算符的基本目的是基于表达式或语句进行赋值或检索数值。
下面来看一个例子,代码如下:
X=Y
在例子中赋给变量X的值等于变量Y的值。这是一个赋值运算符例子,它把一个表达式的值赋给另外一个表达式。
这里提到的表达式是一个或多个运算的组合,用来进行各种运算的计算式。每个符合VB.NET规则的表达式的计算都是一个确定的值。对于常量、变量的运算和对于函数的调用都可以构成最简单的表达式。表达式主要是由运算符来构成的,使用什么样的运算符就会有什么样的运算表达式。
本节主要讲述运算符基本概念,以及如何来使用运算符,其中还有一些实例,用来增强理解。
2.3.1 赋值运算符
无论何时只要需要设置一个变量的值,就要使用等号(=)。在声明变量的时候,可以使用赋值运算符在声明它的同时设置变量的值,示例如下:
Dim X as Integer=2
或者先定义再赋值,示例如下:
Dim a As Integer a=100
使用哪种赋值运算符完全取决于需要对变量做什么样的操作。表2-4中列出了赋值运算符及它们的相关说明。
表2-4 赋值运算符
1.等号运算符
等号运算符为一个变量或对象赋予一个计算结果,或者一个函数调用返回值等。用法如下:
Variable = Expression
等号运算符将右边表达式的值赋给左边的变量。示例如下:
Dim a as Integer=10 Dim b as Integer=20 Dim c as Integer c = a + b
在这个例子中c的值为30,即是a+b表达式的值。
2.加法/合并赋值运算符
加法/合并赋值运算符将运算符右边表达式的值与左边变量的值相加,再将所得结果赋给左边的变量。用法如下:
Variable += Expression
如果表达式是数值型,则进行加法运算;若为字符串,则进行合并运算。示例如下:
Dim a As Integer = 100 Dim b As Integer = 5 Dim str1 As String = "100" Dim str2 As String = "5" a += b '得a=105 str1 += str2 '得str1=1005
上例中a,b为整型,因此进行加法运算,将a的值加上b的值再将结果赋给变量a,故最后a的值为105,这里相当于等号运算符的a=a+b;而str1,str2为字符串,因此进行合并运算,将str1 的值合并str2 的值再将结果赋给变量str1,最后str1 的值为1005,相当于str1=str1+str2。
3.减法赋值运算符
减法赋值运算符将运算符左边变量的值减去右边表达式的值,并将结果赋给左边的变量。用法如下:
Variable -= Expression
相当于:
Variable = Variable - Expression
示例如下:
Dim a As Integer = 100 Dim b As Integer = 100 a -= 20 '得a=80 b -= 100+30 '得b=-30
4.乘法赋值运算符
乘法赋值运算符将运算符左边变量的值和右边表达式的值相乘,并将结果赋给左边的变量。用法如下:
Variable *= Expression
相当于:
Variable = Variable * Expression
示例如下:
Dim a As Integer = 100 Dim b As Integer = 1 Dim c As Integer = 9 a *= b+c '得a=1000
在上例中先计算出b+c的值,再与a相乘,然后将所得结果赋给变量a。
5.除法赋值运算符
浮点除法(/=)和整数除法(\=)赋值运算符是将运算符右边表达式的值除以左边变量的值,并将结果赋给左边的变量。用法如下:
Variable /= Expression Variable \= Expression
相当于:
Variable = Variable / Expression Variable = Variable \ Expression
示例如下:
Dim a As Integer = 100 Dim b As Integer = 10 Dim c As Integer = 30 Dim d As Double = 2.211 a /= b '得a=10 c \= d '得c=15
6.指数赋值运算符
指数赋值运算符将运算符左边变量的值作为右边表达式的幂,并将结果赋给左边的变量。用法如下:
Variable ^= Expression
相当于:
Variable = Variable ^ Expression
示例如下:
Dim a As Integer = 2 Dim b As Integer = 10 a ^= b '得a=1024
7.合并赋值运算符
合并赋值运算符(&=)将运算符左边的字符串变量和右边的字符串表达式合并,并将结果赋给左边的字符串变量。用法如下:
Variable &= Expression
示例如下:
Dim a As Integer = 2 Dim b As Integer = 10 Dim str1 As String = "Hello " Dim str2 As String = " John" a &= b '得a的值为210 str1 &= str2 '得str1的值为Hello John
从上例可以看出,合并赋值运算符总是把变量和表达式当做字符串对待,因此,即使合并赋值运算符左右边是数字,也不进行加法运算。
2.3.2 算术运算符
算术运算符是程序用来进行算术运算时使用的运算符,和日常的数学符号一样,如加、减、乘和平方等,涉及计算由文本、变量、其他表达式、函数和属性调用以及常数表示的数值。VB.NET中常见的算术运算符如表2-5所示。
表2-5 算术运算符和算术表达式
算术运算符的运用比较简单,相信不难理解,在此就不多做说明,只举如下一个例子。
Sub Add() Dim a As Integer=10 a=a^2 'a=100 a=a\3 'a=33 a=a Mod 3 'a=0 End Sub
在上面代码中,a的第一个表达式运算2次方后a的值为100,第二个表达式运算后a的值为33,第三个表达式运算后a的值为0。
2.3.3 字符串连接运算符
字符串连接运算符用来连接两个字符串类型的变量,有两种连接符号,如表2-6所示。
表2-6 字符串连接运算符
对于一般的字符串连接语句,两个符号的作用是一样的。
下面以实例说明字符串连接运算符的使用方法。