Java自增和自减运算符(++和--)

痛定思痛。 2021-12-19 20:21 542阅读 0赞

在对一个变量做加 1 或减 1 处理时,可以使用自增运算符 ++ 或自减运算 —。++ 或 — 是单目运算符,放在操作数的前面或后面都是允许的。++ 与 — 的作用是使变量的值增 1 或减 1。操作数必须是一个整型或浮点型变量。自增、自减运算的含义及其使用实例如表 1 所示。

表1 自增、自减运算的含义及其使用实例
































运算符 含义 实例 结果
i++ 将 i 的值先使用再加 1 赋值给 i 变量本身 int i=1;
int j=i++;
i=2
j=1
++i 将 i 的值先加 1 赋值给变量 i 本身后再使用 int i=1;
int j=++i;
i=2
j=2
i— 将 i 的值先使用再减 1 赋值给变量 i 本身 int i=1;
int j=i—;
i=0
j=1
—i 将 i 的值先减 1 后赋值给变量 i 本身再使用 int i=1;
int j=—i;
i=0
j=0

在使用自增/自减运算时应注意下面几个问题。

  • 自增/自减只能作用于变量,不允许对常量、表达式或其他类型的变量进行操作。常见的错误是试图将自增或自减运算符用于非简单变量表达式中。
  • 自增/自减运算可以用于整数类型 byte、short、int、long,浮点类型 float、double,以及字符串类型 char。
  • 在 Java 1.5 以上版本中,自增/自减运算可以用于基本类型对应的包装器类 Byte、Short、Integer、Long、Float、Double 和 Character。
  • 自增/自减运算结果的类型与被运算的变量类型相同。

例 1

编写一个程序,使用不同类型的数据结合自增和自减运算符进行运算,并输出变量的值。实现代码如下:

  1. public static void main(String[] args)
  2. {
  3. int x=5,y; //声明用于自增和自减的整型变量
  4. char cx=‘B’,cy; //声明用于自增和自减的字符型变量
  5. float fx=5.5f,fy; //声明用于自增和自减的浮点型变量
  6. System.out.println(“————-对整数的自增和自减————-“);
  7. y=x++;
  8. System.out.printf(“y=x++ 的结果为:%d ,%d \n”,x,y);
  9. y=x—;
  10. System.out.printf(“y=x— 的结果为:%d ,%d \n”,x,y);
  11. y=++x;
  12. System.out.printf(“y=++x 的结果为:%d ,%d \n”,x,y);
  13. y=—x;
  14. System.out.printf(“y=—x 的结果为:%d ,%d \n”,x,y);
  15. System.out.println(“\n————-对浮点的自增和自减————-“);
  16. fy=fx++;
  17. System.out.printf(“fy=fx++ 的结果为:%f ,%f \n”,fx,fy);
  18. fy=fx—;
  19. System.out.printf(“fy=fx— 的结果为:%f ,%f \n”,fx,fy);
  20. fy=++fx;
  21. System.out.printf(“fy=++fx 的结果为:%f ,%f \n”,fx,fy);
  22. fy=—fx;
  23. System.out.printf(“fy=—fx 的结果为:%f ,%f \n”,fx,fy);
  24. System.out.println(“\n————-对字符的自增和自减————-“);
  25. cy=cx++;
  26. System.out.printf(“cy=cx++ 的结果为:%c ,%c \n”,cx,cy);
  27. cy=cx—;
  28. System.out.printf(“cy=cx— 的结果为:%c ,%c \n”,cx,cy);
  29. cy=++cx;
  30. System.out.printf(“cy=++cx 的结果为:%c ,%c \n”,cx,cy);
  31. cy=—cx;
  32. System.out.printf(“cy=—cx 的结果为:%c ,%c \n”,cx,cy);
  33. }

保存代码并运行,输出的结果如下:

  1. ---------对整数的自增和自减---------
  2. y=x++ 的结果为:6 ,5
  3. y=x-- 的结果为:5 ,6
  4. y=++x 的结果为:6 ,6
  5. y=--x 的结果为:5 ,5
  6. ---------对浮点的自增和自减---------
  7. fy=fx++ 的结果为:6.500000 ,5.500000
  8. y=x-- 的结果为:5.500000 ,6.500000
  9. y=++x 的结果为:6.500000 ,6.500000
  10. y=--x 的结果为:5.500000 ,5.500000
  11. ---------对字符的自增和自减---------
  12. cy=cx++ 的结果为:C ,B
  13. cy=cx-- 的结果为:B ,C
  14. cy=++cx 的结果为:C ,C
  15. cy=--cx 的结果为:B ,B

从运行结果来看,无论是何种类型,只要是自增和自减运算符支持的类型,都可以参与运算。

发表评论

表情:
评论列表 (有 0 条评论,542人围观)

还没有评论,来说两句吧...

相关阅读