abap中除了我们常用的加减乘除,等于,比较大小等运算符号之外还有一些有用的符号,现在将运算符总结如下:
1, 赋值
= :等号,赋值,普通变量常量之间的赋值,
1 2 |
DATA:l_length type i. l_length = 10. |
?= : 参考赋值,
1 2 3 |
DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR. REF_TABLE_DES ?= CL_ABAP_TABLEDESCR=>DESCRIBE_BY_NAME( P_TNAME ). |
2, 计算符号
+:加号
-:减号
*: 乘号
/: 除号
DIV: 取除法结果的整数部分,注意与‘/’不同,
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DATA:l_xiaoshu TYPE mseg-menge, "小数 l_zhengshu TYPE i. "整数 l_xiaoshu = 7 DIV 3 . WRITE:'DIV = ', l_xiaoshu. l_xiaoshu = 7 / 3. WRITE:'/ = ' , l_xiaoshu. WRITE /. l_zhengshu = 7 DIV 3 . WRITE:'DIV = ', l_zhengshu. l_zhengshu = 7 / 3. WRITE: '/ =', l_zhengshu. |
输出结果如下:
MOD: 取余数,也就是除法结果的小数部分
**: 乘方,
1 2 3 4 5 |
Data: l_r type i. l_r = 2 ** 3. write: l_r. |
结果是8
3, 关系
=,<>,<, >,<=, >=
4, 布尔
AND: 与,条件同时成立
OR:或, 条件只要有一个成立
NOT :非,
5, 位运算
BIT-AND:按位与
BIT-OR:按位或
BIT-XOR:非按位或,与bit-or结果相反。
BIT-NOT:按位非
具体算法如下:
x | y | BIT-NOT x | x BIT-AND y | x BIT-XOR y | x BIT-OR y |
0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 |
1 2 3 4 5 6 7 8 9 10 11 12 |
DATA l_hex1 TYPE xstring VALUE '0011'. DATA l_hex2 TYPE xstring VALUE '0101'. DATA l_r TYPE xstring. l_r = l_hex1 BIT-AND l_hex2 . WRITE:/ l_r. l_r = l_hex1 BIT-OR l_hex2 . WRITE:/ l_r. l_r = l_hex1 BIT-XOR l_hex2 . WRITE:/ l_r. l_r = BIT-NOT l_hex2 . WRITE:/ l_r. |
结果:
再举一个例子:
1 2 3 4 5 |
DATA: hex1(1) TYPE x VALUE 'B5', hex2(1) TYPE x VALUE '5B', hex3(1) TYPE x. hex3 = BIT-NOT ( hex1 BIT-XOR hex2 ). WRITE hex3. |
结果是‘11’
6, 连接符&
& 连接两个字符串
1 2 3 4 5 |
DATA: l_a TYPE string. l_a = 'qwe' & 'asd'. WRITE:l_a. |
显示结果:
以上。
发表评论