黑马程序员技术交流社区
标题:
除数为0不报错
[打印本页]
作者:
傅荣康
时间:
2011-7-29 23:26
标题:
除数为0不报错
float num1=3;
int num2=0;
System.out.print(num1/num2);
怎么不报错 不是除数不能为0吗,怎么会不报错 结果还是无穷大
作者:
匿名
时间:
2011-7-29 23:32
你把num1改成int型,应该就正常了。不然num2就自动转化为float了。而浮点数存储机制,则成了最小的,运算结果为最大了
作者:
匿名
时间:
2011-7-30 00:05
标题:
简单数据类型的转换
[code=java]float num1=3;
int num2=0;
System.out.print(num1/num2); //因为float的精度比int的精度高,num2自动转换为float数据类型,num2的值为0.0,3.0/0.0 等效应于3除以一个无限接近0的float类型的数据,结果就是无限大了。[/code]简单数据类型之间的转换
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double
简单数据类型之间的转换又可以分为:
●低级到高级的自动类型转换[code=java]byte b;
int i=b;
long l=b;
float f=b;
double d=b;[/code]●高级到低级的强制类型转换[code=java]float a = 2.0f;
int b = (int)a;//b=2,而非2.0[/code]●包装类过渡类型能够转换[code=java]float f1=100.00f; //f1是基本数据类型
Float F1=new float(f1); //F1是引用类型,也即包装类
Double d1=F1.doubleValue();
//F1.doubleValue()为Float类的返回double值型的方法[/code]
作者:
匿名
时间:
2011-7-30 00:35
编译阶段只是检查你的程序语法对不对,这个除0是运行时候的异常
作者:
匿名
时间:
2011-7-30 00:36
编译阶段只是检查你的程序语法对不对,这个除0是运行时候的异常
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2