ABAP IF语句的“与”、“或”、“非”

基本概念
ABAP 中常有 与、或、非 三种逻辑概念,分别对应 AND、 OR 、NOT 。

与:同真为真,一假则假;两个条件成立,才是真。
或:同假才假,一真即真;其中任一条件成立,则为真 。
非:非真即假,非假即真。真的变假的,假的变真的。

但是当我看到这样一个语句时,我脑子一下子没有转过来,所有写篇文章记录下。

DATA:    e TYPE i .
IF 1 = 1 AND NOT  ( 2 = 2 AND e IS NOT  INITIAL ).
  WRITE: 'ABC'.
ENDIF.

当时还想不到 AND NOT连用,后面分析下,IF语句无非就是真假的使用而已:IF的判断是真和假两种,为‘真’则是运行 IF里面的内容。

把上面的例子分解下:

  IFAND  非(真 AND 假  ).
  ENDIF.

继续简化

  IFAND  非( 假  ).
  ENDIF.

再变成:

 IFAND.
 ENDIF.

所以最终的结果为真。注意只要把not理解为非, 就是相反的意思
就可以了。

上实际可以运行例子:

DATA:    e TYPE i .
IF 1 = 1 AND NOT  ( 2 = 2 AND e IS NOT  INITIAL ).
  WRITE: 'ABC'.
ENDIF.

IF 1 = 1.
  WRITE: /'1'.
ENDIF.

IF  not ( 2 = 3 ). "把not理解为非, 就是相反的意思
  WRITE:/'2'.
ENDIF.

运行结果为:
在这里插入图片描述
好了今天分享到这,分享使我快乐,我是寒武青锋。
请添加图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值