设为首页 加入收藏

TOP

Java除法运算的陷阱
2014-11-23 21:41:24 】 浏览:242
Tags:Java 除法 运算 陷阱

  除法运算谁不会啊,很多人不屑一顾,真是无知者无畏!


  其实除法、求余运算有一些陷阱。一旦计算发生了问题,还很不好找。不好找的原因主要是问题的偶然性太强,如果你知道可能发生什么问题,你的代码就可以写得更安全。


  数学除法规定,0不能做除数,因为会得到一个无穷大数据。


  西面看看Java中如何处理这些特殊情况:


  1、整数的除法:


  0做除数抛运行时异常;两整数商会做取整运算,Float或Double与一个整数做除法运算,则商位Float或者Double类型,例如:


  System.out.println("------------Int相关除法----------");


  System.out.println("12/10="+12/10);


  System.out.println("12f/10="+12f/10);


  System.out.println("12d/10="+12d/10);


  System.out.println("12/10f="+12/10d);


  System.out.println("12/10d="+12/10f);


  ------------Int相关除法----------


  12/10=1


  12f/10=1.2


  12d/10=1.2


  12/10f=1.2


  12/10d=1.2


  2、Double(或Float)除法运算:


  0可以做除数,得到的是一个分正负的无穷大;当两个数的绝对值均为0.0时候,商等于NaN。当0.0/x,x不等0.0时候,得到的一个带符号位0.0:


  package lavasoft.zerotest;


  /**


  * 浮点型数据的除法运算测试


  *


  */


  public class TestZero {


  public static void main(String[] args) {


  System.out.println("------------Double型----------");


  Double x1 = div(2.3, 0.0);


  Double x2 = div(2.3, -0.0);


  Double x3 = div(0.0, 0.0);


  Double x4 = div(0.0, -0.0);


  Double x5 = div(0.0, 0.1);


  Double x6 = div(0.0, -0.1);


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java杂谈get方法中static 下一篇Json-lib快速上手

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目