运算中常见的问题
开发工具与关键技术:Java、myEclipse
作者:吴晓佩
撰写时间:2019年4月16日
例1:
如上图两个运算结果按照我们数学的运算是应该相等的,都应该等于63;但是第一个算式算出来的结果却是60。原因是Java是强类型语言,整数类型32位,但除出来的数是小数,即默认double类型64,内存装不下,所以代码运行时底层处理会舍弃小数位,保留整数位。
63/10=6.3,取整数为6,即6*10=60。
例3
图一
图二
图三
如上图一,a++与++a的结果都是4,如果按直接拿这两个值带入图二图三运算的话,那么b的结果都应该是4,但图三却出现了3的结果,所以在JAVA语言中我们不可以完全用我们日常的思维来想问题,我们要了解它实际运行的步骤,如下是对第一个式子运行步骤的简单的步骤图解。图三式子也是这样运行的,只是++a先要运行完自身加1才把值放到临时存放处,然后再把值赋到b处。