Java 计算相关
admin
2024-03-30 21:47:36

Java语言健壮性

`Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。

Java计算精度问题

由于Java中的double类型使用64位存储一个数值,而有些处理器使用80位的浮点寄存器,但最终结果都要被截断位64位,这就可能会导致不同处理器运行浮点计算出现不一致的计算结果或者导致溢出的情况。

针对这种问题,可以使用strictfp关键字修饰类或方法,这样可以使被修饰的方法使用严格的浮点计算,这样便可以在不同平台上获得相同的结果。

Java计算余数问题

计算时钟时使用( a + b ) % 12这个式子,当b小于0时,运算的结果可能为负数,这个时候我们可能会使用( ( a + b ) % 12 + 12 ) % 12 这种方式,十分的麻烦。

这种情况可以使用Math类中的 floorMod 方法,解决方法就变为了floorMod( a + b, 12)。

(当除数为负数时,floorMod会返回负数结果,但是结合实际场景,这种情况很少出现)

Java计算时抛出异常

一般情况下,Java进行数学运算时,如果出现溢出等异常,使用运算符进行运算只会返回一个错误的结果而不做任何提醒。

这种情况下使用Math类中的addExact、subtractExact、multiplyExact等方法,可以将溢出等异常进行捕获并抛出,使得整数具有更好的运算安全性。

Java 位运算

Java中可以使用 >>> 运算符来进行右移操作,并用0填充高位,即逻辑运算。

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...