class Untitled {
public static void main(String[] args) {
int a = 3;
int b = a++; //a先赋值给b,然后a再自己加1
System.out.println("a="+a); //输出a=4
System.out.println("b="+b); //输出b=3 System.out.println("\n"); a = 3;
int c = ++a; //a先加1,然后再赋值给c
System.out.println("a="+a); //输出a=4
System.out.println("c="+c); //输出c=4 System.out.println("\n"); c++;
System.out.println(c);  //输出5 ++c;
System.out.println(c);  //输出6
}
}

自减跟自增一样。

总结:

  如果只是a++;或者++a;这样不参与赋值操作,那结果都是一样,都是加1;

  如果是有参与赋值运算,比如:int c = a++;或int c = ++a;那么c的值是有区别的。

  如果参与了赋值运算那么就要看赋值自增的运算符在变量的左边还是右边:

                          如果自增运算符在左边:++a;那么就是a先自增,再赋值给c;

                          如果自增运算符在右边:a++;那么就是a先赋值给c,再自增;

  (也可以有自己的记忆理解方法)

【水平有限,不对之处,还请指出】

java的自增和自减的更多相关文章

  1. 关于java中自增,自减,和拓展运算符的小讨论

    java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i ...

  2. Java变量自增和自减运算符的用法

    1.后加加(num++): 先输出运算结果再加加: public static void main(String[] args){ int num=10; int  p1=num++; System. ...

  3. Java自增和自减操作符——++/--的那些事

    1. 概述 自增操作符(++)和自减操作符(--)是对变量进行加1和减1的操作. 2.分类说明 ++和--是对变量进行自增1和自减1的简写操作符.许多编程任务中经常需要对变量加1或者减1,所以采用这两 ...

  4. java 自增和自减运算符

    /** 自增和自减运算符: ++: 如果是++b,则表示先对变量b+1,再执行其他的操作: 如果是b++,则表示先执行表达式操作,再对变量自身+1 --: 用法和++相同 */ //Test.java ...

  5. Java 自增、自减

    i++/i-- 先使用变量的值,然后改变该变量的值: ++i/--i 先改变该变量的值,然后使用变量的值: : i = i++; 最终变量i的值到底是变成1呢还是保持为0呢? java中变量自增.自减 ...

  6. 转:自增(自减)在Java与C中的区别

    转自:http://seiyatime.blog.sohu.com/84358295.html 话说昨日面试,在笔试的25个选择题中,涉及自增自减不止一两题,以前在开发过程中并没太在意这方面的问题,也 ...

  7. Java SE --- 自增自减

    关于变量的自增与自减运算.   1) int b = a++,作用是将a的值先赋给b,然后再让a自增1.   2) int b = ++a,作用是将a的值先自增1,然后将自增后的结果赋给b. 直接上例 ...

  8. Java基础知识(一) 自增、自减运算符

    .d1 { border-style: none } .d2 { border-style: solid } .d3 { border-style: dotted } .d4 { border-sty ...

  9. Java基础——自增自减及初识Math类

    自增自减及初识Math类  public class Demon05 {     public static void main(String[] args) {         // ++ -- 自 ...

随机推荐

  1. 面试易错题 Java

    1. int[] arr = new int[10]; System.out.println(arr);//地址值? char[] arr1 = new char[10]; System.out.pr ...

  2. MySQL主主、主从、从从配置文件

    主配置文件: [root@sun01 ~]# more /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql. ...

  3. 小程序Java多次请求Session不变

    微信小程序每次请求的sessionid是变化的,导致对应后台的session不一致,无法获取之前保存在session中的openid和sessionKey. 为了解决这个问题,需要强制同意每次小程序前 ...

  4. InnoDB和MyISAM区别总结

    原来是MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等 ...

  5. one_day_one_linuxCmd---scp命令

    <坚持每天学习一个 linux 命令,今天我们来学习 scp 命令> scp 命令主要用在不同的 linux 系统之间 copy 文件,基于 ssh 登录,是一种安全的复制 scp 命令的 ...

  6. Java之线程通信的方法

    /** * 线程通信的例子:使用两个线程打印 1-100.线程1, 线程2 交替打印 * * 涉及到的三个方法: * wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器. * no ...

  7. vector内部实现2

    push_back 往动态数组的内部进行添加数据 pop_back 往动态数组的尾部进行删除数据 resize  讲元素的数量len改成num个数量  如果size()变大了,多出来的将用默认构造来创 ...

  8. CSRF(cross-site request forgery),跨站请求伪装

    1.CSRF(cross-site request forgery),跨站请求伪装 顾名思义,用户角度,访问成功并且登录成功我们的网站,没有推出情况下,又访问了病毒网站,于是病毒网站通过用户端,拿着用 ...

  9. 尝试brpc来升级rpc服务,测试应用过程

    照着官方文档来,不过在mac下还是有些小坑 对熟悉c++的人来说很小儿科,但对c++相对比较外行 (只知道基本语法和部分数据结构)的人,还是作不到开箱即用 首先编译```If you need to ...

  10. 关于XML的一些总结

    xml的知识结构图 eXtensible Markup Language,可扩展标记语言,简称XML,和HTML比较而言,语法相似,作用不同 XML被设计用来存储和传输数据,但存储数据方面,数据库是主 ...