工控随笔_11_西门子_WinCC的VBS脚本_02_运算符

  VBS脚本作为编程语言,提供了不少的运算符,经过这些运算符,能够实现不一样的操做。运算符具备不一样的类型html

不一样的运算符之间具备运算优先级。shell

 

1、运算符的分类编程

  大致分为如下几类:编程语言

    一、赋值运算符ide

    二、算术运算符函数

    三、比较运算符学习

    四、逻辑运算符测试

    五、连接运算符spa

 

2、运算符的优先级code

  运算符具备优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 同样,先计算 2*3 , 而后获得的结果在和

1相加,最后在减去4, 这里先计算 * 而后再计算 + 和 - 就表示运算优先级。

  算术运算符的优先级和咱们学数学时的计算顺序同样。

  大致是: 算术运算符 优先于 比较运算符,  比较运算符 优先于 逻辑运算符,  赋值运算符优先级最低。

  例如:   1+ 2  >  3  and   2*4 < 5

  这个就和咱们数学里面同样,先计算 1+2 后与3比较获得一个结果A,  而后计算 2*4 再与5比较,获得一个结果B,最后

结果A和结果B最终进行逻辑运算获得整个表达式的值。

  若是不肯定那么能够经过增长圆括号来改变运算符的运算顺序,这个与咱们在数学中学习到的同样。

  例如:  (1 + 2 ) *  3 , 在VBS中这个表达式的计算顺序与数学一致,先算 1+ 2, 而后获得的和再与3相乘。

 

3、实例代码

'VBS脚本内置很丰富的运算符号
'一、赋值运算符  = 
'二、数学运算符  + - * /  mod (mod为取余数) \ (\为整除运算)
'三、比较运算符  >  <  =  >=  <=   <>   is
'四、逻辑运算符  and  or  not  xor  Eqv  Imp
'五、链接运算符  &  和 +

Option Explicit 

'赋值运算符
Dim nLen
Dim strName

'利用赋值运算符将函数的返回值赋值给变量
strName = InputBox("请输入你的名字:","提示","volcanol")
nLen = Len(strName)
MsgBox nLen


'数学运算符
'经过数学运算符对数字进行数学运算能够实现不少功能
'加法
Dim nAugend
Dim nAddend
Dim nSum
nAugend = 10
nAddend = 20
nSum = nAugend + nAddend
MsgBox "和是:" & nSum

'减法
Dim nMinuend
Dim nSubtractor
Dim nSub
nMinuend = 1000
nSubtractor = 999
nSub = nMinuend - nSubtractor
MsgBox "差是:" & nSub

'乘法
Dim fRadius
Dim fPi
Dim fCycle
Dim fArea
fRadius = 10.0
fPi = 3.1415926
fCycle = 2 * fPi * fRadius
fArea = fPi * fRadius * fRadius
MsgBox "周长是:" & fCycle
MsgBox "面积是:" & fArea

'除法
Dim fSquare
Dim fRoot
Dim fDivision
fSquare = 81
fRoot = 9
fDivision = fSquare / fRoot
MsgBox "商是:" & fDivision

'求余数
Dim nDividend
Dim nDivisor
Dim nMod
nDividend = 10
nDivisor = 3
nMod = nDividend Mod nDivisor
MsgBox "余数为:" & nMod


'比较运算符号
'比较运算符用来比较两个数、字符、或者字符串的大小
'下面演示大于号的比较,其余的再也不演示
Dim strCompare(2)
strCompare(1) = "volcanom"
strCompare(2) = "volcanol"
If strCompare(1) > strCompare(2) Then
    MsgBox "strCompare(1)大于strCompare(2)"
Else
    MsgBox "strCompare(1)小于strCompare(2)"
End If

'is运算符
'is运算符用来比较两个对象是不是同一个对象
Dim objectA 
Dim objectB
Dim objectC 
Set objectC = CreateObject("WScript.shell")
Set objectA = objectC 
Set objectB = objectC 
If objectA Is objectB Then 
    MsgBox "objectA 和 objectB 是同一个对象"
Else
    MsgBox "objectA 和 objectB 不是同一个对象" 
End If


'逻辑运算符
'逻辑运算符也能够叫作布尔逻辑运算符,其运算结果获得的布尔逻辑的
'true 或者 false, 注意VB有两个内置的常数TRUE 和 FALSE
If True Then
    MsgBox "老是执行这一句"
Else
    MsgBox "历来不会执行"
End If

If Not False Then
    MsgBox "false取非运算,获得结果为真,执行这一句"
Else
    MsgBox "false取非运算,获得结果为真,不执行这一句"
End if

If 0 Then
    MsgBox "0的逻辑结果为假,这一句不执行"
Else
    MsgBox "0的逻辑结果为假,执行这一句"
End If

If 3 Then
    MsgBox "非0数的逻辑结果为真,执行这一句"
Else
    MsgBox "非0数的逻辑结果为真,这一句不执行"
End If

'下面两个例子,演示函数返回值参与逻辑运算
If strCompare(1) > strCompare(2) And MsgBox("输入选择测试",vbYesNo,"测试") Then
    MsgBox "逻辑与运算结果为真"
Else
    MsgBox "逻辑与运算结果为假"
End If

If strCompare(1) < strCompare(2) or MsgBox("输入选择测试",vbYesNo,"测试") Then
    MsgBox "逻辑或运算结果为真"
Else
    MsgBox "逻辑或运算结果为假"
End If

If 0 Xor 1 Then
    MsgBox "两个逻辑结果不同的值进行异或获得的结果为真,执行这一句"
Else
    MsgBox "两个逻辑结果不同的值进行异或获得的结果为真,不执行这一句"
End If

 

4、Tips

  在VBS中,运算符的优先级直接决定表达式的运算结果,若是不肯定的话,那么最好的方式就是增长

圆括号() 来强制规定运算顺序,这样会减小出错的可能性。

 

--------------------------------------------------------------分割线---------------------------------------------------------------

一、文章均为我的原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/

二、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料

三、若是您以为文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

四、或者在页面右下角点推荐哟!!!

--------------------------------------------------------------分割线-------------------------------------------------------------

相关文章
相关标签/搜索