b=a++是先把a的值赋给b,然后a自加1;
b=++a是a先自加1,在把值赋给b

b=a++

public static void a(){int a=1;int b=1;for(int i=0;i<5;i++){b=a++;}System.out.println("a="+a);System.out.println("b="+b);}

最后得到的结果:  a=6;b=5

b=++a

public static void b(){int a=1;int b=1;for(int i=0;i<5;i++){b=++a;}System.out.println("a="+a);System.out.println("b="+b);}

最后得到的结果:  a=6;b=6

a++++a

a++++a 都是自增运算符,俩者的区别在于对变量a的值进行自增的时机不同

==> a++是先取值后自增; ++a是先自增后取值。

例如 x = 3;

(x++)+(++x) = 8;

解=> x++此时取值为3,而后自增令x=4,那么参与++x的初始值x为4,则在自增后取值为5

所以,3+5=8

看以下例题1:

var a=10 ; b=20; c=4; 求++b+c+a++的值

++b=21;a++=10;c=4; => ++b+c+a++=21+4+10=35;

例题2:var a=10, b=20 , c=30;
                ++a;//①
                a++;//②
                e=++a+(++b)+(c++)+a++;//③
                alert(e);

①=> a=11(自增后取值为11);  ②=> a=11(直接取值,此时a在下次运算时自增值为12);

③=> ++a=13 ++b=21 c++ = 30 a++=13

所以e=77

练习题:

 public static void c(){int a=0;int b=0;for(int i=0;i<5;i++){b=a++;   //-------1(i=0 b=0,a=1)a=a++;  //-------2}System.out.println("a="+a);System.out.println("b="+b);}

最后得到的结果:  a=5;b=4

在以上代码中出现了a=a++;

当执行到第2步时,与b=a++;和b=++a;有点区别,根据 a++++a   例题1/2 ,当a++执行完(a+1=2时)要赋值给变量a的时候,把暂时的数据拿出来,赋给变量a。等于2的结果被覆盖。所以当执行到练习的第2步时,a=1而不是a=2。

b=a++和b=++a区别及a=++a、a=a++区别相关推荐

  1. C++中结构体与类的区别(struct与class的区别)

    C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能. struct能包含成员函数吗? 能! struct能继承吗? 能!! s ...

  2. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...

  3. adaboost和GBDT的区别以及xgboost和GBDT的区别

    adaboost和GBDT的区别以及xgboost和GBDT的区别 AdaBoost:提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值.这样一来,那些没有得到正确分类的数据, ...

  4. 问题小结(二)——maven的核心功能、面向对象编程和面向接口编程的区别、抽象类和接口的区别等

    文章目录 1. Java创建对象有哪四种方式? 2. 什么是maven?maven的核心功能有哪些? 3. 什么是MVC?说说分层的好处. 4. Spring的两大核心技术是什么? 5. 什么是IOC ...

  5. [html] title与h1的区别、b与strong的区别、i与em的区别?

    [html] title与h1的区别.b与strong的区别.i与em的区别? title 是 网页标题标签 h1 是文本标签 默认与word的h1相似为最大的标题显示 b 为文本加粗标签 与word ...

  6. JavaScript中Element与Node的区别,children与childNodes的区别

    关于Element跟Node的区别,cilldren跟childNodes的区别很多朋友弄不清楚,本文试图让大家明白这几个概念之间的区别. Node(节点)是DOM层次结构中的任何类型的对象的通用名称 ...

  7. 详细解说Windows 8.1与Windows 8的区别(Win8.1与Win8区别)

    详细解说Windows 8.1与Windows 8的区别(Win8.1与Win8区别) 详细解说Windows 8.1与Windows 8的区别(Win8.1与Win8区别) 本文转自"吾乐 ...

  8. RmNet和CDC-ECM的区别,NDIS和RNDIS的区别。

    RmNet,CDC-ECM ,NDIS,RNDIS区别 一.RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 1.如果是使用RmNet, ...

  9. couple和double的区别_DC couple与AC couple的区别? couple与pair的区别

    导航:网站首页 > DC couple与AC couple的区别? couple与pair的区别 DC couple与AC couple的区别? couple与pair的区别 相关问题: 匿名网 ...

  10. Android 开发中Layout_Margin与padding的区别以及Layout_gravity与gravity的区别

    Layout_Margin与padding的区别以及Layout_gravity与gravity的区别 平时开发中这几个属性是我们经常使用的几个属性,偶尔脑子一糊涂,就容易弄混这些属性,下面,我就仔细 ...

最新文章

  1. python复制文件夹不阻塞_Python学习第54天(阻塞(blocking) IO和非阻塞(non-blocking)IO)...
  2. 什么样的技术人员更容易接到软件开发项目?(论干私活儿)
  3. linux下bochs启动黑屏解决办法
  4. CodeAnyWhere
  5. Linux学习之系统编程篇:利用 setitimer 实现 alarm练习
  6. Java学习路线详解
  7. 多路由器环境配置的一些小技巧(达内)
  8. P7408-[JOI 2021 Final]ダンジョン 3【贪心,树状数组】
  9. go 多行字符串_Go语言基本功,了解Go语言基础语法
  10. Oracle Golden Gate - 概念和机制
  11. mupdf嵌入 html页面,MuPDF Command Line Tools
  12. 利用js排序html表格
  13. python-递归函数
  14. 今天你的人生做减法了吗?
  15. MachO 代码签名剖析
  16. 摆的频率公式_频率与转速的公式
  17. 山东菏泽家乡网页代码 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
  18. 整体变分法信号去噪_家里wifi信号差?给小白的无线排查操作指南
  19. 一位增长黑客的创业史:Google挖掘细分市场,冷启动赚得百万美金
  20. 我的第一个开源项目:Java爬虫爬取旧版正方教务系统课程表、成绩表

热门文章

  1. 音频播客个人主页HTML5模板
  2. Masonry中的mas_equalTo和equalTo
  3. File中list方法listFiles方法
  4. 详细安装Sonarqube7.7教程
  5. 读书笔记《电子电气工程师必知必会》2
  6. 易学笔记-系统分析师考试-第2章 经济管理与应用数学/2.6 IT审计相关常识/2.6.3 IT审计的方法和工具
  7. 蔷薇框架软件_蔷薇花园软件下载-蔷薇花园app下载v1.55 安卓版-2265安卓网
  8. java照明模型_在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。...
  9. 成交量及10大应用奥妙
  10. 预防埃博拉病毒感染的试验疫苗投入人体试验