易截截图软件、单文件、免安装、纯绿色、仅160KB

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类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

java学习之路5 java为菜单栏添加快捷键(转)


package swimg;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStrok ......

原创+源码 基于Java Web技术开发的BBS论坛系统

 本文转自:程序员之家论坛  原文地址:http://www.phome.asia/forum/thread/20601.htm
 
我已把附件上传到csdn下载频道地址:http://download.csdn.net/source/1928015
            也可去原文地址下载附件。(*^__^*)
前 言
  &nbs ......

Java学习 Eclipse中serialVersionUID

serialVersionUID 用来表明类的不同版本间的兼容性。
有两种生成方式:
 一个是默认的1L,比如:private static final long serialVersionUID = 1L;(对应修复方法1)
 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:
private static final   long serialVersionUI ......

Java内存管理

Java内存管理
关键字: 内存分配,常量池
一、Java内存分配
1、 Java有几种存储区域?
* 寄存器
    -- 在CPU内部,开发人员不能通过代码来控制寄存器的分配,由编译器来管理
* 栈
    -- 在Windows下, 栈是向低地址扩展的数据结构,是一块连续的内存的区域,即栈顶的地址和栈的最大容量是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号