当前位置: 首页 > 文档资料 > VB.Net 中文教程 >

运算符

优质
小牛编辑
141浏览
2023-12-01

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。 VB.Net拥有丰富的内置运算符,并提供以下类型的常用运算符 -

  • 算术运算符

  • 比较运算符

  • 逻辑/按位运算符

  • 位移算子

  • 分配运算符

  • 杂项运算符

本教程将介绍最常用的运算符。

算术运算符 (Arithmetic Operators)

下表显示了VB.Net支持的所有算术运算符。 假设变量A保持2而变量B保持7,则 -

显示示例

操作者描述
^将一个操作数提升到另一个操作数B ^ A将给49
+添加两个操作数A + B将给出9
-从第一个减去第二个操作数A - B将给-5
*将两个操作数相乘A * B将给出14
/将一个操作数除以另一个操作数并返回浮点结果B/A将给出3.5
\将一个操作数除以另一个操作数并返回整数结果B\A将给出3
MOD模数运算符和整数除法后的余数B MOD A将给出1

比较运算符 (Comparison Operators)

下表显示了VB.Net支持的所有比较运算符。 假设变量A保持10,变量B保持20,则 -

显示示例

操作者描述
=检查两个操作数的值是否相等; 如果是,则条件成立。(A = B)不是真的。
<>检查两个操作数的值是否相等; 如果值不相等,则条件成立。(A <> B)是真的。
>检查左操作数的值是否大于右操作数的值; 如果是,则条件成立。(A> B)不是真的。
<检查左操作数的值是否小于右操作数的值; 如果是,则条件成立。(A < B) 为真
>=检查左操作数的值是否大于或等于右操作数的值; 如果是,则条件成立。(A> = B)不是真的。
<=检查左操作数的值是否小于或等于右操作数的值; 如果是,则条件成立。(A <= B)是真的。

除此之外,VB.Net还提供了三个比较运算符,我们将在后面的章节中使用它们; 但是,我们在这里给出一个简短的描述。

  • Is运算符 - 它比较两个对象引用变量,并确定两个对象引用是否引用同一对象而不执行值比较。 如果object1和object2都引用完全相同的对象实例,则结果为True ; 否则,结果为假。

  • IsNot运算符 - 它还比较两个对象引用变量,并确定两个对象引用是否引用不同的对象。 如果object1和object2都引用完全相同的对象实例,则结果为False ; 否则,结果为True。

  • Like运算符Like - 它将字符串与模式进行比较。

Logical/Bitwise Operators

下表显示了VB.Net支持的所有逻辑运算符。 假设变量A保持布尔值True,变量B保持布尔值False,则 -

显示示例

操作者描述
And它是逻辑以及按位AND运算符。 如果两个操作数都为真,则条件成立。 该运算符不执行短路,即它评估两个表达式。(A和B)是假的。
Or它是逻辑以及按位OR运算符。 如果两个操作数中的任何一个为真,则条件成立。 该运算符不执行短路,即它评估两个表达式。(A或B)是真的。
Not它是逻辑以及按位NOT运算符。 用于反转其操作数的逻辑状态。 如果条件为真,则Logical NOT运算符将为false。不(A和B)是真的。
Xor它是逻辑以及按位逻辑异或运算符。 如果两个表达式都为True或两个表达式都为False,则返回True; 否则返回False。 该运算符不执行短路,它总是计算两个表达式,并且没有该运算符的短路对应物。Xor B是真的。
AndAlso它是逻辑AND运算符。 它仅适用于布尔数据。 它执行短路。(A AndAlso B)是假的。
OrElse它是逻辑OR运算符。 它仅适用于布尔数据。 它执行短路。(A OrElse B)是真的。
IsFalse它确定表达式是否为False。
IsTrue它确定表达式是否为True。

位移算子

我们已经讨论了按位运算符。 位移操作符对二进制值执行移位操作。 在进入位移运算符之前,让我们理解位操作。

按位运算符处理位并执行逐位运算。 &,|和^的真值表如下 -

pqp&qp | qp ^ q
00000
01011
11110
10011

假设A = 60; 和B = 13; 现在以二进制格式,他们将如下 -

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~A = 1100 0011

我们已经看到VB.Net支持的Bitwise运算符是And,Or,Xor和Not。 对于左移和右移,位移运算符分别为>>和<

假设变量A保持60而变量B保持13,则 -

显示示例

操作者描述
And如果两个操作数中都存在,则按位AND运算符将一个位复制到结果中。(A和B)将给出12,即0000 1100
Or二进制OR运算符如果存在于任一操作数中,则复制一位。(A或B)将给出61,即0011 1101
Xor二进制异或运算符如果在一个操作数中设置但不在两个操作数中设置,则复制该位。(A Xor B)将给出49,即0011 0001
Not二元一元补语运算符是一元的,具有“翻转”位的效果。(不是A)将给出-61,由于带符号的二进制数,它是2的补码形式的1100 0011。
<<二进制左移运算符。 左操作数值向左移动右操作数指定的位数。A << 2将给出240,即1111 0000
>>二进制右移运算符。 左操作数值向右移动右操作数指定的位数。A >> 2将给出15,即0000 1111

赋值操作符 (Assignment Operators)

VB.Net支持以下赋值运算符 -

显示示例

操作者描述
=简单赋值运算符,将右侧操作数的值分配给左侧操作数C = A + B将A + B的值分配给C
+=添加AND赋值运算符,它将右操作数添加到左操作数并将结果赋给左操作数C + = A等于C = C + A.
-=减去AND赋值运算符,它从左操作数中减去右操作数,并将结果赋给左操作数C - = A相当于C = C - A.
*=乘以AND赋值运算符,它将右操作数与左操作数相乘,并将结果赋给左操作数C * = A等于C = C * A.
/=除法AND赋值运算符,它将左操作数除以右操作数,并将结果赋给左操作数(浮点除法)C/= A相当于C = C/A.
\=除AND赋值运算符,它将左操作数除以右操作数,并将结果赋给左操作数(整数除法)C\= A相当于C = C\A.
^=指数和赋值运算符。 它将左操作数提升为右操作数的幂,并将结果赋给左操作数。C ^ = A等于C = C ^ A.
<<=左移AND赋值运算符C << = 2与C = C << 2相同
>>=右移AND赋值运算符C >> = 2与C = C >> 2相同
&=将String表达式连接到String变量或属性,并将结果分配给变量或属性。

Str1&= Str2与...相同

Str1 = Str1和Str2

混合操作符 (Miscellaneous Operators)

VB.Net支持的其他重要运算符很少。

显示示例

操作者描述
AddressOf返回过程的地址。
AddHandler Button1.Click,
AddressOf Button1_Click
Await它应用于异步方法或lambda表达式中的操作数,以暂停方法的执行,直到等待的任务完成。
 
Dim result As res
= Await AsyncMethodThatReturnsResult()
Await AsyncMethod()
GetType它返回指定类型的Type对象。 Type对象提供有关类型的信息,例如其属性,方法和事件。
MsgBox(GetType(Integer).ToString())
功能表达它声明了定义函数lambda表达式的参数和代码。
Dim add5 = Function(num As
   Integer) num + 5
'prints 10
Console.WriteLine(add5(5))
If它使用短路评估来有条件地返回两个值中的一个。 可以使用三个参数或两个参数调用If运算符。
Dim num = 5
Console.WriteLine(If(num >= 0,
"Positive", "Negative"))

运算符在VB.Net中的优先级

运算符优先级确定表达式中的术语分组。 这会影响表达式的计算方式。 某些运算符的优先级高于其他运算符; 例如,乘法运算符的优先级高于加法运算符 -

例如,x = 7 + 3 * 2; 这里,x被赋值为13,而不是20,因为operator *的优先级高于+,所以它首先乘以3 * 2然后加到7中。

此处,具有最高优先级的运算符显示在表的顶部,具有最低优先级的运算符显示在底部。 在表达式中,将首先评估更高优先级的运算符。

显示示例

操作者优先权
AwaitHighest
Exponentiation (^)
一元认同和否定(+, - )
乘法和浮点除法(*,/)
Integer division (\)
Modulus arithmetic (Mod)
加法和减法(+, - )
算术位移(<>)
所有比较运算符(=,<>,,> =,Is,IsNot,Like,TypeOf ...是)
Negation (Not)
Conjunction (And, AndAlso)
Inclusive disjunction (Or, OrElse)
Exclusive disjunction (Xor)Lowest

最后更新:

类似资料

  • 主要内容:算术运算符,比较运算符,逻辑/位运算符,位移运算符,赋值运算符,其他运算符,VB.Net运算符优先级运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作。VB.Net有丰富的内置运算符,并提供以下类型的常用运算符: 算术运算符 比较运算符 逻辑/位运算符 位移运算符 赋值运算符 其他操作员 本教程将介绍最常用的运算符。 算术运算符 下表显示了VB.Net支持的所有算术运算符。假设变量,变量,则: 运算符 描述 说明 一个操作数的指定次幂值 两个操作数相加 第一个操作数减去第二个操作数

  • 主要内容:创建一个字符串对象,String类的属性,String类的方法,例子在VB.Net中,可以使用字符串作为字符数组,但更常见的做法是使用关键字来声明一个字符串变量。关键字是类的别名。 创建一个字符串对象 可以使用以下方法之一创建字符串对象: 通过将一个字符串文字分配给一个变量 通过使用一个类的构造函数 通过使用字符串连接运算符(+) 通过检索一个属性或调用返回一个字符串的方法 通过调用格式化方法将值或对象转换为其字符串表示形式 以下示例演示了如何创建对象: 执行上面

  • 主要内容:VB.Net修饰符列表修饰符是添加了任何编程元素的关键字,以特别强调编程元素在程序中的行为或将被访问 例如,访问修饰符:, , , , 等指示编程元素的访问级别,如:变量,常量,枚举或类。 VB.Net修饰符列表 下表提供了VB.Net修饰符的完整列表: 编号 修饰符 描述 1 指定Visual Basic应将所有字符串封送到美国国家标准学会(ANSI)值,而不管正在声明的外部过程的名称如何。 2 指定源文件开始处的属

  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,覆盖了所有主要的运算。 概述 JavaScript 共提供10个算术运算符,用来完成基本的算术运算。 加法运算符:x + y 减法运算符: x - y 乘法运算符: x * y 除法运算符:x / y 指数运算符:x ** y 余数运算符:x % y 自增运算符:++x 或者 x++ 自减运算符:--x

  • void 运算符 void运算符的作用是执行一个表达式,然后不返回任何值,或者说返回undefined。 void 0 // undefined void(0) // undefined 上面是void运算符的两种写法,都正确。建议采用后一种形式,即总是使用圆括号。因为void运算符的优先性很高,如果不使用括号,容易造成错误的结果。比如,void 4 + 7实际上等同于(void 4) + 7。

  • 主要内容:定义函数,函数返回值,递归函数,参数数组,将数组作为函数参数传递一个过程是一组语句,在调用时一起执行任务。过程执行后,控制权返回到调用过程的语句。 VB.Net有两种类型的程序: 函数 子程序或Subs 重要区别: 函数返回一个值,而Subs不返回任何一个值。 定义函数 语句用于声明函数的名称,参数和函数体。语句的语法是: 其中, Modifiers - 指定函数的访问级别; 可能的值有:, , , , 以及有关重载,覆盖,共享和投影的信息。 Function