首页 > 编程语言 >3.8 Java自增和自减运算符(++和--)

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

时间:2023-09-15 13:13:39浏览次数:77  
标签:自增 Java -- fy 运算符 ++ cy 自减

在对一个变量做加 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.     int x = 5, y; // 声明用于自增和自减的整型变量
  3.     char cx = 'B', cy; // 声明用于自增和自减的字符型变量
  4.     float fx = 5.5f, fy; // 声明用于自增和自减的浮点型变量
  5.     System.out.println("---------对整数的自增和自减---------");
  6.     y = x++;
  7.     System.out.printf("y=x++ 的结果为:%d ,%d \n", x, y);
  8.     y = x--;
  9.     System.out.printf("y=x-- 的结果为:%d ,%d \n", x, y);
  10.     y = ++x;
  11.     System.out.printf("y=++x 的结果为:%d ,%d \n", x, y);
  12.     y = --x;
  13.     System.out.printf("y=--x 的结果为:%d ,%d \n", x, y);
  14.     System.out.println("\n---------对浮点的自增和自减---------");
  15.     fy = fx++;
  16.     System.out.printf("fy=fx++ 的结果为:%f ,%f \n", fx, fy);
  17.     fy = fx--;
  18.     System.out.printf("fy=fx-- 的结果为:%f ,%f \n", fx, fy);
  19.     fy = ++fx;
  20.     System.out.printf("fy=++fx 的结果为:%f ,%f \n", fx, fy);
  21.     fy = --fx;
  22.     System.out.printf("fy=--fx 的结果为:%f ,%f \n", fx, fy);
  23.     System.out.println("\n---------对字符的自增和自减---------");
  24.     cy = cx++;
  25.     System.out.printf("cy=cx++ 的结果为:%c ,%c \n", cx, cy);
  26.     cy = cx--;
  27.     System.out.printf("cy=cx-- 的结果为:%c ,%c \n", cx, cy);
  28.     cy = ++cx;
  29.     System.out.printf("cy=++cx 的结果为:%c ,%c \n", cx, cy);
  30.     cy = --cx;
  31.     System.out.printf("cy=--cx 的结果为:%c ,%c \n", cx, cy);
  32. }
保存代码并运行,输出的结果如下:
---------对整数的自增和自减---------
y=x++ 的结果为:6 ,5
y=x-- 的结果为:5 ,6
y=++x 的结果为:6 ,6
y=--x 的结果为:5 ,5

---------对浮点的自增和自减---------
fy=fx++ 的结果为:6.500000 ,5.500000
fy=fx-- 的结果为:5.500000 ,6.500000
fy=++fx 的结果为:6.500000 ,6.500000
fy=--fx 的结果为:5.500000 ,5.500000

---------对字符的自增和自减---------
cy=cx++ 的结果为:C ,B
cy=cx-- 的结果为:B ,C
cy=++cx 的结果为:C ,C
cy=--cx 的结果为:B ,B

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

标签:自增,Java,--,fy,运算符,++,cy,自减
From: https://www.cnblogs.com/szmtjs10/p/17704802.html

相关文章

  • 3.9 Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
    Java 定义的位运算(bitwiseoperators)直接对整数类型的位进行操作,这些整数类型包括long,int,short,char和byte。位运算符主要用来对操作数二进制的位进行运算。按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值。Java语言中的位运算符分为位逻辑运算符和位移......
  • 3.10 Java三目运算符(条件运算符? :)
    Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的if-then-else语句。条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为:result=<expression>?<statement1>:<statement3>;其......
  • 3.12 Java直接量(字面量)
    直接量是指在程序中通过源代码直接给出的值,例如在inta=5;代码中,为变量a所分配的初始值5就是一个直接量。直接量的类型并不是所有的数据类型都可以指定直接量,能指定直接量的通常只有三种类型:基本类型、字符串类型和null类型。具体而言,Java 支持如下8种类型的直接量......
  • 3.11 Java运算符优先级
    所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数......
  • Java数据类型转换:强制类型转换+自动类型转换
    数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。隐式转换(自动类型转换)如果以下2个条件都满足,那么将一种类型的数据赋给另外一种......
  • 3.3 Java算术运算符
    运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。Java语言中的运算符除了具有优先级之外,还有一个结合性的特点。当一个表达式中出现多种运算符时,执行的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的约束,以便确定是自左向右进......
  • 无涯教程-JavaScript - XOR函数
    描述XOR函数返回所有参数的逻辑异或。如果所提供条件的奇数判断为TRUE,则XOR函数返回TRUE,否则返回FALSE。语法XOR(logical1,[logical2],…)争论Argument描述Required/Optionallogical1logical1isrequiredandsubsequentlogicalvaluesareoptional.1to254c......
  • java 发行
    oracle17版本:JavaDownloads|OracleAdoptOpenJDK:https://adoptium.net/zh-CN/download/华为JDK:https://www.hikunpeng.com/developer/devkit/compiler/jdkAlibabaDragonwell,阿里巴巴版jdk......
  • 无涯教程-JavaScript - TRUE函数
    描述TRUE函数返回逻辑值TRUE。YoucanusethisfunctionwhenyouwanttoreturnthevalueTRUEbasedonacondition.Example=IF(A1=1,TRUE()).YoucanalsoenterthevalueTRUEdirectlyintocellsandformulaswithoutusingthisfunction.Example=IF(A1=1,T......
  • 基于java的在线考试系统的设计-计算机毕业设计源码+LW文档
    摘要随着信息技术的发展,管理系统越来越成熟,各种企事业单位使用各种类型的管理系统来提高工作效率,从而降低手工操作的弊端。我国政府一直以来都非常重视高校教育的发展,近几年来高校学生人数逐渐增加,对在线考试的需求越来越多。因此,通过开发基于java的在线考试系统来提高学习效率,增......