java自增自减很难理解_关于java中自增,自减,和拓展运算符的小讨论
java中运算符很多,但是能深入讨论的不算太多。这里我仅仅以++,*=为例做讨论。
例:++
i=0;
i=i++ + ++i;//i=1
i=++i+i++;//i=2
i=i++ -++i;//i=-2
因为++运算符遵循的规则:++在前是先计算,后使用;++在后是后计算,先使用;
以i=++i+i++;详解:
先++i,结果是先i加1,再产生i的一份拷贝做为下一步运算的值,假设拷贝为i_copy1,那么++i以后i_copy1的值为1,i值为1.
再i++,结果是产生一份i的拷贝做为下一步运算的值,然后i加1,假设拷贝为i_copy2,那么i++以后i_copy2的值为1,i值为2.
最后"+"运算符的作用是i_copy1+i_copy2,根据上面推论结果为1+1=2;
==========================================================
--运算同++;
==========================================================
关于拓展运算符;
首先:
char a;
a+=b~a=a+b
a+=b == (char)(a+b);
拓展运算符不改变数据类型
byte i=10;
i=i+10;//错误,右边是int型
i+=1000;//仍然是byte型,但是精度严重损失;
另一个要注意的是拓展运算符的运算顺序;
例:
int x=5;
int b=x*=x/=x+x;//拓展赋值运算同一个算式中,x的值不会变;//如果是同一个算式中从左往右++,--,x的值每一步都会改变;
System.out.println(b);
这题输出为0;因为计算机中,赋值是从右往左赋值的;所以多个拓展运算在一个算式中的时候,从右往左计算 x+x=10;5/10=0;5*=0--->0;
java自增自减很难理解_关于java中自增,自减,和拓展运算符的小讨论相关推荐
- Java程序员找工作很难吗?可能没有get这些内容
Java程序员找工作很难吗?可能没有get这些内容 五分钟阅读下方文章 经常面试一些候选人,整理了下我面试使用的题目,陆陆续续整理出来的题目很多,所以每次会抽一部分来问.答案会在后面的文章中逐渐发布出 ...
- 西方人很难理解,为什么中国普通人对华为抱有那么大的好感?
中国人普遍有敝帚自珍的情结,何况华为不是敝帚,比旧扫帚强多了,可能是近现代中国人能拿得出手的少数几个公司,堪比金箍棒. 西方人很难理解,一个在他们眼中威胁通讯安全,很可能在产品中留有技术后门的企业,为 ...
- Java闭关修炼64课 很适合新手学习的JAVA视频教程
Java闭关修炼64课 很适合新手学习的JAVA视频教程 java闭关修炼第一课 什么是java(1).rar java闭关修炼第一课 什么是java.rar java闭关修炼第七课 基础语言 ...
- java实现图形界面输入半径求圆面积_自学java真的很难吗?学到什么程度才能进大厂?...
这里我做一个统一答疑,这些东西真不是你一个刚学习Java的人该看的,也不是你工作第一年应该去看的东西,不要总在某些地方看到一些词就跟风.技术这门活,你入行了就会发现,还有更广阔的技术栈,更多的开源项目 ...
- Docker 概念很难理解?一文搞定 Docker 端口绑定
作者 | Dieter Jordens 译者 | 苏本如,责编 | 夕颜 出品 | CSDN(ID:CSDNnews) 以下为译文: 作为初级开发人员的你,是不是参加过这样的面试,在面试中面试官希望你 ...
- NP问题真的很难理解
希望通过这篇文章可以不仅让计算机相关专业的人可以看懂和区分什么是P类问题什么是NP类问题,更希望达到的效果是非专业人士比如学文科的朋友也可以有一定程度的理解. 有一则程序员界的笑话,就是有一哥们去go ...
- Java异常处理深入理解_关于java异常处理机制的深入理解.doc
关于java异常处理机制的深入理解.doc 关于JAVA异常处理机制的深入理解1引子TRYCATCHFINALLY恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过 ...
- 只想在老家找份工作很难吗_当您只想完成工作时,为什么公开工作会很困难
只想在老家找份工作很难吗 三个字母可以指导我的工作方式:GSD-完成工作. 多年来,我设法将反馈循环(来自精益方法)和迭代改进(来自敏捷)的概念融入我的日常工作习惯,以便更好地使用GSD(如果可以将其 ...
- 为什么现在我们很难打造一支跟中供铁军一样的销售队伍?
滴滴出行创始人程维.同程旅游 CEO 吴志祥.原美团 COO 干嘉伟.原大众点评 COO 吕广渝.原赶集网 COO 陈国环,中国互联网数不清的 CEO 和高管都出自阿里中供铁军. 马云曾公开评价:&q ...
最新文章
- vue2.0 + vux (五)api接口封装 及 首页 轮播图制作
- (转)HLSL,函数列表
- 经验教训 | STM32 异常之BFARVALID,PRECISERR,INVSTATE
- python生成dat文件_Ra-使用Python脚本生成shape.dat文件
- 倒排索引(Inverted File Index )
- echarts鼠标事件以及自定义数据获取
- php最新版本的安装,centos安装新PHP版本
- WebService开发常用功能详解
- 拓端tecdat|Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
- Apache Commons Lang3 常用工具类库
- 已知空间三点求圆心c语言,空间三点计算圆心坐标和半径
- 求极限简单总结 (基础)
- 论文的中期报告怎么写?
- android 对称加密完毕,通过 Android keystore 和 fingerprint 结合实现数据加密和解密
- cpu排行计算机专业,最新计算机处理器排名_cpu性能排名梯形图高清大图
- python里面break放在哪_python中break怎么用
- 手机传输文件服务器,手机文件传输到服务器
- KMP 看毛片算法原理及其实现
- [统计]_怎样用数据炒菜:统计建模的两种文化
- Node.js(三)路由器、中间件、MySQL模块、RESTful接口
热门文章
- 约数个数 (排列组合中的乘法原理)
- 一文带你了解java面向对象的三大特性:继承、封装、多态
- MySQL索引(B+Tree 索引、哈希索引、全文索引、 空间数据索引)、索引优化、优点、使用场景
- 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)
- 建模步骤_【设计课堂】游戏手柄建模,看这14个步骤图就够了!
- 链接器ld程序的脚本文件u-boot.lds(二)
- 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...
- React组件通信--props
- Android 接入baceBook
- 微信支付宝 支付单文件操作