abap个人笔记——基本语法

IF语句

格式:
IF .

ENDIF.
例子:

PARAMETERS: p1 TYPE i,
            p2 TYPE i.
DATA res TYPE i.
IF p1 > p2.
  res = p1.
  ELSE.
    res = p2.
ENDIF.
WRITE:/ res.

parametes :获取用户的键盘输入
write:输出,/换行符

case语句

格式:
CASE .
WHEN .
WHEN .
WHEN OTHERS.
ENDCASE.
例子:

PARAMETERS num TYPE i.
CASE num.
  WHEN 1.
    WRITE:/ 'num=1'.
  WHEN 2.
    WRITE:/ 'num=2'.
  WHEN OTHERS.
    WRITE:/ 'no data'.
ENDCASE.

do语句

格式:

DO TIMES.

ENDDO.

例子:

DATA i TYPE i.
DO 10 TIMES.
  i = i + sy-index.
  WRITE:/ 'sy-index',sy-index,i.
ENDDO.
WRITE:/ i.

sy-index:系统内置循环次数
tiames:循环次数

while语句

格式:
WHILE .

ENDWHILE.
例子:

DATA i TYPE i VALUE 1.
WHILE i <= 10.
  i = i + i.
ENDWHILE.
WRITE:/ i.

计算器

PARAMETERS: sum1 TYPE i,
            sum2 TYPE i,
            sym TYPE c.
DATA res TYPE i.
CASE sym.
	WHEN '+'.
    res = sum1 + sum2.
	WHEN '-'.
    res = sum1 - sum2.
  WHEN '*'.
    res = sum1 * sum2.
  WHEN '/'.
    res = sum1 / sum2.
	WHEN OTHERS.
ENDCASE.
WRITE:/ res.

求1000以内的所有水仙花数

DATA one TYPE i VALUE 100.
DATA: bai TYPE i,
      baishi TYPE i,
      shi TYPE i,
      shige TYPE i,
      ge  TYPE i.
WHILE one < 1000.

  bai = one / 100.
  baishi = one mod 100.
  IF baishi > 50.
    bai = bai - 1.
  ENDIF.
  shi = baishi / 10.
  shige = baishi mod 10.
  IF shige > 5.
    shi = shi - 1.
  ENDIF.
  ge = shige / 1.

  IF one = bai * bai * bai + shi * shi * shi + ge * ge * ge.
    WRITE:/ '水仙花数为',one.
  ENDIF.

  one = one + 1.
ENDWHILE.

体重练习题

某体检中心按照“体重指数”对客户的体形进行判断,
体重指数计算如下:体重指数t=体重w/ (身高h^2)(w单位:公斤;h单位:米)
判断依据:
当t < 18 时,体型为“偏瘦”;
当t介于18和25之间时,体型为“正常”;
当t介于25和27之间时,体型为“超重”;
当t >=27时,体型为“肥胖”。
要求:编程从键盘输入你的身高h和体重w,根据给定公式计算体重指数t,然后判断你的体重属于何种类型。

PARAMETERS: h TYPE p DECIMALS 2,
            w TYPE i.
DATA: t TYPE i,
      h2 TYPE p DECIMALS 2.
h2 = h * h.
t = w / h2.
IF t < 18.
  WRITE:/ '当前体型偏瘦'.
  ELSEIF 18 < t or t < 25.
    WRITE:/ '当前体型正常'.
    ELSEIF 25 < t or t < 27.
      WRITE:/ '当前体型超重'.
      ELSE.
        WRITE:/ '当前体型肥胖'.

ENDIF.
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值