SAP ABAP各种运算符
发布人:shili8
发布时间:2025-02-21 21:51
阅读次数:0
**SAP ABAP 运算符**
ABAP(Advanced Business Application Programming)是一种用于 SAP ERP 系统的程序设计语言。它提供了丰富的运算符支持,允许开发者进行各种类型的计算和比较。下面是 ABAP 中常见的运算符:
### 算术运算符####1. 加法运算符(+)
加法运算符用于将两个数字相加。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i, lv_result TYPE i. lv_num1 =10. lv_num2 =20. lv_result = lv_num1 + lv_num2. "结果为30" WRITE: lv_result.
####2. 减法运算符(-)
减法运算符用于将两个数字相减。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i, lv_result TYPE i. lv_num1 =20. lv_num2 =10. lv_result = lv_num1 - lv_num2. "结果为10" WRITE: lv_result.
####3. 乘法运算符(*)
乘法运算符用于将两个数字相乘。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i, lv_result TYPE i. lv_num1 =5. lv_num2 =10. lv_result = lv_num1 * lv_num2. "结果为50" WRITE: lv_result.
####4.除法运算符(/)
除法运算符用于将两个数字相除。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i, lv_result TYPE f. lv_num1 =10. lv_num2 =2. lv_result = lv_num1 / lv_num2. "结果为5" WRITE: lv_result.
### 比较运算符####1. 等于运算符(=)
等于运算符用于比较两个值是否相等。
abapDATA: lv_num TYPE i. lv_num =10. IF lv_num =10 THEN WRITE: '10'. ENDIF.
####2. 不等于运算符(<>)
不等于运算符用于比较两个值是否不相等。
abapDATA: lv_num TYPE i. lv_num =20. IF lv_num <>10 THEN WRITE: '20'. ENDIF.
####3. 大于运算符(>)
大于运算符用于比较两个值哪个更大。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =30. lv_num2 =10. IF lv_num1 > lv_num2 THEN WRITE: '30'. ENDIF.
####4. 小于运算符(<)
小于运算符用于比较两个值哪个更小。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =10. lv_num2 =20. IF lv_num1 < lv_num2 THEN WRITE: '10'. ENDIF.
####5. 大于或等于运算符(>=)
大于或等于运算符用于比较两个值哪个更大或相等。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =20. lv_num2 =10. IF lv_num1 >= lv_num2 THEN WRITE: '20'. ENDIF.
####6. 小于或等于运算符(<=)
小于或等于运算符用于比较两个值哪个更小或相等。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =10. lv_num2 =20. IF lv_num1 <= lv_num2 THEN WRITE: '10'. ENDIF.
### 逻辑运算符####1. 与运算符(AND)
与运算符用于将两个逻辑表达式进行逻辑与。
abapDATA: lv_bool1 TYPE abap_bool, lv_bool2 TYPE abap_bool. lv_bool1 = abap_true. lv_bool2 = abap_false. IF lv_bool1 AND lv_bool2 THEN WRITE: 'true'. ENDIF.
####2. 或运算符(OR)
或运算符用于将两个逻辑表达式进行逻辑或。
abapDATA: lv_bool1 TYPE abap_bool, lv_bool2 TYPE abap_bool. lv_bool1 = abap_true. lv_bool2 = abap_false. IF lv_bool1 OR lv_bool2 THEN WRITE: 'true'. ENDIF.
####3. 非运算符(NOT)
非运算符用于将一个逻辑表达式进行逻辑非。
abapDATA: lv_bool TYPE abap_bool. lv_bool = abap_true. IF NOT lv_bool THEN WRITE: 'false'. ENDIF.
### 位运算符####1. 与运算符(AND)
与运算符用于将两个整数进行位与。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =5. lv_num2 =3. lv_num1 = lv_num1 AND lv_num2. "结果为1" WRITE: lv_num1.
####2. 或运算符(OR)
或运算符用于将两个整数进行位或。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =5. lv_num2 =3. lv_num1 = lv_num1 OR lv_num2. "结果为7" WRITE: lv_num1.
####3. 异或运算符(XOR)
异或运算符用于将两个整数进行位异或。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =5. lv_num2 =3. lv_num1 = lv_num1 XOR lv_num2. "结果为6" WRITE: lv_num1.
####4. 左移运算符(<<)
左移运算符用于将一个整数向左移动指定位数。
abapDATA: lv_num TYPE i. lv_num =5. lv_num = lv_num << 2. "结果为20" WRITE: lv_num.
####5. 右移运算符(>>)
右移运算符用于将一个整数向右移动指定位数。
abapDATA: lv_num TYPE i. lv_num =20. lv_num = lv_num >>2. "结果为5" WRITE: lv_num.
### 其他运算符####1. 模运算符(MOD)
模运算符用于将两个整数进行模运算。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =17. lv_num2 =5. lv_num1 = lv_num1 MOD lv_num2. "结果为2" WRITE: lv_num1.
####2. 指数运算符(**)
指数运算符用于将两个整数进行幂运算。
abapDATA: lv_num TYPE i, lv_result TYPE f. lv_num =5. lv_result = lv_num **3. "结果为125" WRITE: lv_result.
####3. 求余运算符(REM)
求余运算符用于将两个整数进行求余运算。
abapDATA: lv_num1 TYPE i, lv_num2 TYPE i. lv_num1 =17. lv_num2 =5. lv_num1 = lv_num1 REM lv_num2. "结果为2" WRITE: lv_num1.
####4. 求绝对值运算符(ABS)
求绝对值运算符用于将一个整数或浮点数进行求绝对值。
abapDATA: lv_num TYPE i. lv_num = -5. lv_num = ABS( lv_num ). "结果为5" WRITE: lv_num.
####5. 求正数运算符(SIGN)
求正数运算符用于将一个整数或浮点数进行求正数。
abapDATA: lv_num TYPE i. lv_num = -5. lv_num = SIGN( lv_num ). "结果为-1" WRITE: lv_num.
####6. 求负数运算符(UNSIGN)
求负数运算符用于将一个整数或浮点数进行求负数。
abapDATA: lv_num TYPE i. lv_num = -5. lv_num = UNSIGN( lv_num ). "结果为5" WRITE: lv_num.
####7