A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张明星 中级黑马   /  2012-3-26 00:15  /  1756 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

integer和long 操作 /和% 的话, 可能会抛出ArithmeticException,比如除0。但是 float与
double不会,即使是除以0。        比如 double a=3;a=a/0;  为什么?

2 个回复

倒序浏览
在java中,浮点数double和float可以除0,返回无穷大
       
        public class Maintest {
                        public static void main(String[] args) {
                                double d1 = 1.0d;
                                double d2 = 0.0d;
                               
                               
                                byte b = -128;
                                d1 = d1/d2;
                               
                                System.out.println(d1); //输出无穷大
                               
                                b = (byte) d1; //byte类型的范围是0~255,d1无穷大超出了范围,返回-1
                                System.out.println(b);
                               
                        }
                }
回复 使用道具 举报
盛祖华 发表于 2012-3-26 00:26
在java中,浮点数double和float可以除0,返回无穷大
       
        public class Maintest {

哦,学习了 这个以前真心不知道
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马