Skip to content

运算符

JavaC++ 等语言的 运算符 概念类似:

  1. 算术运算符:用于执行基本的算术操作,如加减乘除等。例如,加法运算符(+),减法运算符(-),乘法运算符(*),除法运算符(/),模运算符(%)等。

  2. 逻辑运算符:用于执行逻辑操作,如与、或、非等。例如,与运算符(&&),或运算符(||),非运算符(!)等。

  3. 比较运算符:用于比较两个值之间的关系,如是否相等、大小等。例如,相等运算符(==),不相等运算符(!=),大于运算符(>),小于等于运算符(<=)等。

  4. 赋值运算符:用于给变量赋值。例如,等于运算符(=),加等于运算符(+=),减等于运算符(-=),乘等于运算符(*=),除等于运算符(/=)等。

示例

以下是 Solidity 中的运算符的一个简单示例:

solidity
pragma solidity >=0.4.22 <0.9.0;

contract OperatorExample {
    uint256 public num1 = 10;
    uint256 public num2 = 5;

    function arithmeticOperators() pure public returns (uint256, uint256, uint256, uint256, uint256) {
        uint256 addition = num1 + num2;  // 加法运算符
        uint256 subtraction = num1 - num2;  // 减法运算符
        uint256 multiplication = num1 * num2;  // 乘法运算符
        uint256 division = num1 / num2;  // 除法运算符
        uint256 modulus = num1 % num2;  // 模运算符
        return (addition, subtraction, multiplication, division, modulus);
    }

    function comparisonOperators() pure public returns (bool, bool, bool, bool, bool) {
        bool equalTo = (num1 == num2);  // 相等运算符
        bool notEqualTo = (num1 != num2);  // 不相等运算符
        bool greaterThan = (num1 > num2);  // 大于运算符
        bool lessThan = (num1 < num2);  // 小于运算符
        bool greaterThanEqualTo = (num1 >= num2);  // 大于等于运算符
        bool lessThanEqualTo = (num1 <= num2);  // 小于等于运算符
        return (equalTo, notEqualTo, greaterThan, lessThan, greaterThanEqualTo, lessThanEqualTo);
    }

    function logicalOperators() pure public returns (bool, bool, bool) {
        bool andOperator = (num1 > 5 && num2 < 10);  // 与运算符
        bool orOperator = (num1 > 5 || num2 < 10);  // 或运算符
        bool notOperator = !(num1 > 5);  // 非运算符
        return (andOperator, orOperator, notOperator);
    }
}

在上述示例中,我们定义了一个名为 OperatorExample 的智能合约,该合约包含三个不同的函数,分别演示算术运算符、比较运算符和逻辑运算符的用法。每个函数的返回值都包括运算结果。