当前位置:实例文章 » HTML/CSS实例» [文章]SAP ABAP各种运算符

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

其他信息

其他资源

Top