zoukankan      html  css  js  c++  java
  • volcanol的工控博客

      VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作。运算符具有不同的类型

    不同的运算符之间具有运算优先级。

    一、运算符的分类

      大体分为以下几类:

        1、赋值运算符

        2、算术运算符

        3、比较运算符

        4、逻辑运算符

        5、链接运算符

    二、运算符的优先级

      运算符具有优先级,优先级决定表达式中的运算顺序,就和 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相乘。

    三、实例代码

    'VBS脚本内置很丰富的运算符号
    '1、赋值运算符  = 
    '2、数学运算符  + - * /  mod (mod为取余数)  (为整除运算)
    '3、比较运算符  >  <  =  >=  <=   <>   is
    '4、逻辑运算符  and  or  not  xor  Eqv  Imp
    '5、连接运算符  &  和 +
    
    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

    四、Tips

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

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

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

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

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

    3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

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

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

  • 相关阅读:
    人工智能背后的故事
    idea 开发插件。
    安卓工作室 Android studio 或 Intellij IDEA 美化 修改 汉化 酷炫 装逼 Android studio or Intellij IDEA beautify modify Chinesization cool decoration
    安卓工作室 android studio文件和代码模板,以及汉化出错问题
    安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can't find resource for bundle java.util.PropertyResourceBundle, key emmet.bem.class.name.element.separator.label
    android studio的汉化 教程 及解析
    安卓工作室Android Studio 快捷键
    安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization
    VR开发 VR development
    Lakeshore 中文开发界面,示例项目,飞机大战 等 Lakeshore Chinese development interface, sample project, aircraft war, etc
  • 原文地址:https://www.cnblogs.com/volcanol/p/10001392.html
Copyright © 2011-2022 走看看