Java中的前加加++和后加加++案例,希望可以帮助到你们更近一步的理解++A和B++

前++是先自加再使用而后++是先使用再自加!

下面就是++A和B++的输出结果以及解释!

public class demo {
public static void main(String[] args) {//前++是先自加再使用而后++是先使用再自加!int A = 20;int B = 20;System.out.println("++A=" + (++A));//先自加,再使用(A先自加1,然后再打印A=20,此时A的值在内存中是21)System.out.println("B++=" + (B++));//先使用,再自加(此时B的值在内存中是20,先打印B=20,然后B再自加1,所以此时打印B=21,但是其实此时B的值在内存中已经是21了)
}
}Java输出结果:
++A=21
B++=20


那怎么知道他在内存里已经是+1了呢?因为B++是先使用,再自加的,所以我们来输出看一下吧!

public class demo {
public static void main(String[] args) {//前++是先自加再使用而后++是先使用再自加!int A = 20;int B = 20;System.out.println("++A=" + (++A));//先自加,再使用(A先自加1,然后再打印A=20,此时A的值在内存中是21)System.out.println("B++=" + (B++));//先使用,再自加(此时B的值在内存中是20,先打印B=20,然后B再自加1,所以此时打印B=21,但是其实此时B的值在内存中已经是21了)System.out.println("B=" + B);//B的值是21
}
}


我们再深入理解一下,在后面加一个 int C = ++A + B;然后输出一下看结果

package com.gr.demo;
public class demo {
public static void main(String[] args) {int A = 20;int B = 20;System.out.println("++A=" + (++A));System.out.println("B++=" + (B++));int C = ++A + B;System.out.println("C=" + C);/
}
}
Java的输出结果:
++A=21
B++=20
C=43

你是不是对它输出的结果很迷惑呀?那我们往下看解开迷惑吧!

package com.gr.demo;
public class demo {
public static void main(String[] args) {//前++是先自加再使用而后++是先使用再自加!int A = 20;int B = 20;System.out.println("++A=" + (++A));//先自加,再使用(A先自加1,然后再打印A=20,此时A的值在内存中是21)System.out.println("B++=" + (B++));//先使用,再自加(此时B的值在内存中是20,先打印B=20,然后B再自加1,此时B的值在内存中已经是21了)int C = ++A + B;System.out.println("C=" + C);//因为上面已经打印了++A,值是A=21,所以这里A先自加1,打印的是A=22,值是A=22;;B因为上面已经B++,所以此时内存中B的值是B=21)
}
}

你理解了吗??

前加加++和后加加++的深入理解相关推荐

  1. 运算符重载(加减运算符、前置加加(减减)后置加加(减减)运算符、赋值运算符、输入输出运算符、关系运算符、函数调用)

    编译器对于一个类会默认生成以几种函数: 1.默认构造函数(空形参,空函数体) 2.默认拷贝构造函数(浅拷贝,也叫值拷贝.字节拷贝) 3.析构函数(空形参,空函数体.析构函数要求形参列表必须是空的,所以 ...

  2. 5首页加载慢_UIViewController 预加载方案浅谈

    作者 | hite,目前在网易严选iOS 组,主要工作内容 webview 相关,业余时间会写一些胡思乱想产品策划稿,各类游戏云玩家. 一. 引子 预加载作为常规性能优化手段,在所有性能敏感的场景都有 ...

  3. 页面加载成功后调用_在微信小程序里实现图片预加载组件

    网页中的图片预加载 我们知道在 Web 页面中实现图片的预加载其实很简单,通常的做法是在 JS 中使用 Image 对象即可,代码大致如下 var image = new Image() image. ...

  4. CPU加了缓存后,有人急了~

    Hi,我是CPU一号车间的阿Q,还记得我吗,真是好久不见了- 我所在的CPU是一个八核CPU,就有八个工作车间,那运行起来速度杠杆的- 虚拟地址翻译 一大早,我们一号车间MMU(内存管理单元)部门的小 ...

  5. WIn10 Odoo10.0 解决开发环境登录后无法加载菜单,js报错

    2019独角兽企业重金招聘Python工程师标准>>> win10的开发环境,2个礼拜前发现odoo10.0 登陆后无法加载菜单和内容,打开chrome控制台发现报以下错误. Ref ...

  6. img实现图片加载前默认图片,加载时替换真实图片,加载失败时替换加载失败图片

    文章目录 前言 一.加载前 二.加载成功 三.加载失败 总结 前言 开发过程中,我们希望图片在加载失败的时候会替换成加载失败的图片,同时为了更好的体验,加载前最好也要有一张占位图片,即实现加载前显示一 ...

  7. html5页面加载执行动作,页面加载完成后执行JS的5种方式

    在js和jquery使用中,常用到页面加载完成后执行某一方法.经过整理,大概是五种方式.javascript 1.jQuery的$( function(){} );html 2.jQuery的$(do ...

  8. vue组件加载完成之后执行方法_vuejs页面加载完成后执行函数

    module.exports = { data: function(){ return { memberQrcodeState: false } }, components: {memberQrcod ...

  9. oracle加了rownum后就很慢,rownum orderby非常慢

    语句在没有rownum的情况执行3.5秒左右,加了rownum后(取前10行)就要10秒多,为什么加了rownum就怎么慢呢? ORACLE10G SQL语句如下: select * from (se ...

  10. 优化 cesium 界面广告牌(billboard)数据量大于 10w +时,地图加载缓慢、卡顿、加载完成后浏览器严重卡顿甚至崩溃问题

    优化 cesium 界面广告牌(billboard)数据量大于 10w +时,地图加载缓慢.卡顿.加载完成后浏览器严重卡顿甚至崩溃问题 前言: 项目之前的设计,billboard 广告牌是绑在 ent ...

最新文章

  1. Shiro第一个程序:官方快速入门程序Qucickstart详解教程
  2. Adam 又要“退休”了?耶鲁大学团队提出 AdaBelief,却引来网友质疑
  3. SAP PM 初级系列11 - 为维修工单触发采购申请
  4. Ubuntu软件安装命令
  5. Linux下安装Tomcat7
  6. VS2019 C#安装那些插件_【完整版】针对零基础小白的VS2019安装攻略
  7. 超市收银程序_超市收银系统案例|千平超市再开2家,星耀助力门店年关创收...
  8. 四十五、Redis数据库学习
  9. 93. Restore IP Addresses 复原IP地址
  10. Protocol Buffer入门——轻松搭建java环境 .
  11. ActiveMQ消息的持久化策略
  12. 用友U815.0UFO报表知识点分享
  13. (附源码)ssm通用数据展示系统 毕业设计 200934
  14. sam格式的结构和意义_sam概述
  15. MySQL数据库练习3
  16. 联想电脑 PE重装系统
  17. “烫烫烫烫烫烫烫烫烫烫烫烫烫...
  18. Canvas特效动画
  19. matlab--GUI 如何实现打开图片
  20. 伊隆 马斯克经典语录英文_为什么伊隆麝香Neuroink将改变人类的未来

热门文章

  1. 持续交付+springboot+k8s
  2. 数据统计分析(SPSS)【6】
  3. 迷途视频解析HTML源码,抖音短视频无水印解析接口源码
  4. 2021-09-14联想云教室连接不上服务器解决办法
  5. 分享个10.2越狱手贱删除cydia最糟糕情况的恢复方法
  6. ueditor imageup.php,ThinkPHP整合百度Ueditor,thinkphpueditor_PHP教程
  7. RJ45转COM线序关系
  8. 擎天科技携手阿里云 助力政企客户一键管理碳排放
  9. MATLAB 标定工具箱使用教程
  10. matlab不用hist画直方图,matlab可以画直方图