vb.net与JAVA区别,VB.Net运算符

本篇文章帮大家学习VB.Net运算符,包含了VB.Net运算符使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

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

算术运算符

比较运算符

逻辑/位运算符

位移运算符

赋值运算符

其他操作员

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

算术运算符

下表显示了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 / A = 1

比较运算符

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

运算符

描述

说明

==

检查两个操作数的值是否相等; 如果是,那么条件为True。

(A == B)结果为:False

<>

检查两个操作数的值是否相等; 如果值不相等,则条件为True。

(A <> B)结果为:True

>

检查左操作数的值是否大于右操作数的值; 如果是,则条件为True。

(A > B)结果为:False

<

检查左操作数的值是否小于右操作数的值; 如果是,则条件为True。

(A < B)结果为:True

>=

检查左操作数的值是否大于等于右操作数的值; 如果是,则条件为True。

(A >= B)结果为:False

<=

检查左操作数的值是否小于等于右操作数的值; 如果是,则条件为True。

(A <= B)结果为:True

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

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

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

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

逻辑/位运算符

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

运算符

描述

说明

And

它是逻辑运算符,也是按位运算符。如果两个操作数都是:True,则条件成立。 该运算符不执行短路,即它评估两个表达式的值。

(A And B)结果为:False

Or

它是逻辑以及按位或运算符。如果两个操作数中的任何一个为True,则条件成立。 该运算符不执行短路,即它评估两个表达式。

(A Or B)结果为:True

Not

它是逻辑,也是按位运算符。用于反转其操作数的逻辑状态。如果条件成立,那么逻辑非运算符结果为:False。

Not(A And B)结果为:True

Xor

它是逻辑,也是按位的逻辑异或运算符。 如果两个表达式均为True或两个表达式均为False,则返回True; 否则返回False。 该运算符不执行短路,它总是评估这两个表达式,并且没有短路对应。

A Xor B结果为:True

AndAlso

这是逻辑AND运算符,它只适用于布尔数据,并可执行短路。

(A AndAlso B)结果为:False

OrElse

这是合乎逻辑的OR运算符,它只适用于布尔数据,并可执行短路。

(A OrElse B)结果为:True

IsFalse

它确定一个表达式是否为False。

IsTrue

它确定一个表达式是否为True。

位移运算符

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

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

假设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支持的按位运算符是:And,Or,Xor和Not。移位运算符分别是:>>和<

假设变量A = 60,变量B = 13,那么:

运算符

描述

说明

And

如果在两个操作数中都存在,则按位AND运算符会复制结果。

(A AND B)结果为:12, 也就是:0000 1100

Or

二进制或运算符复制一个位,如果它存在于任一操作数。

(A Or B) 结果为 61, 也就是:0011 1101

Xor

如果二进制XOR运算符被设置在一个操作数中,但它们不能同时被二进制XOR运算符复制。

(A Xor B)结果为:49,也就是:0011 0001

Not

二进制补码运算符是一元运算符,具有“翻转”位的作用。

(Not A )结果为:-61,也就是:1100 0011

<<

二进制左移运算符。左操作数值左移由右操作数指定的位数。

A << 2 结果为:240, 也就是:1111 0000

>>

二进制右移运算符。左操作数值右移由右操作数指定的位数。

A >> 2结果为:15, 也就是:0000 1111

赋值运算符

VB.Net支持下列赋值运算符:

运算符

描述

说明

=

简单赋值操作符,将右侧操作数的值赋给左侧操作数

C = A + B将把A + B的值赋值给C

+=

添加和赋值操作符,它将右操作数添加到左操作数,并将结果赋给左操作数

C += A 等效于 C = C + A

-=

减去和赋值运算符,从左边的操作数中减去右边的操作数,并将结果赋给左边的操作数

C -= A 等效于 C = C - A

*=

乘法和赋值运算符,它将右操作数与左操作数相乘,并将结果赋给左操作数

C *= A 等效于 C = C * A

/=

除法和赋值运算符,用左操作数和右运算数分开,赋值给左操作数(浮点除法)

C /= A 等效于 C = C / A

\=

除法和赋值运算符,用左操作数除以右操作数,并将结果赋给左操作数(整数除法)

C \= A 等效于 C = C \A

^=

指数运算和赋值运算符。它将左操作数指定的右操作数指数的幂值,并将结果赋给左操作数。

C^=A 等效于 C = C ^ A

<<=

左移和赋值运算符

C <<= 2 等效于 C = C << 2

>>=

右移和赋值运算符

C >>= 2 等效于 C = C >> 2

&=

将一个字符串(String)表达式连接到一个字符串(String)变量或属性,并将结果赋给变量或属性。

Str1 &= Str2 等效于 Str1 = Str1 & Str2

其他运算符

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,因为运算符*的优先级高于+,所以它先乘以3 * 2,然后加上7,所以最后结果为:13。

在这里,优先级最高的操作符出现在表顶部,最低优先级的操作符出现在底部。 在表达式中,更高优先级的运算符将首先被评估(计算)。

运算符

描述

Await

最高级

幂(^)

一元标识符和否定(+,-)

乘法和浮点除法(*, /)

整数除(\)

模数运算(Mod)

算术位移(<>)

所有比较运算符(=,<>,,>=,Is,IsNot,Like,TypeOf, ..., Is)

否定(Not)

连接(And, AndAlso)

包含分离(OR,OrElse)

异或(XOR)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值