java除法的陷阱
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;
/**
* 浮点型数据的除法运算测试
*
* @author leizhimin 2009-12-21 9:00:37
*/
public class TestZero {
public static void main(String[] args) {
System.out.println("------------Double型----------");
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
今天我学习了java 的mvc开发模式,我做了简单的笔记:
1. <jsp:userBean id=”” class=””> ,id代表两层含义:
a) Java代码里面的实例
b) &nb ......
InputStream in = null;
ServletOutputStream out = null;
String filePath = this.getServlet().getServletContext()
.getRealPath("/")
+ "pdffiles" + File.separator +"HelpManual.pdf";
try {
&n ......
stack[0] 表示获得当前方法
1.
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
stack[0].getMethodName();
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
stack[
0
].getMethodName();
new Exceptio ......