今天遇到一个超级诡异的事情,直接上代码
public static void main(String[] args) { System.out.println(1/0); }
result:java.lang.ArithmeticException: / by zero
是个人都知道的除数不能为0
public static void main(String[] args) { System.out.println((1.0/0)); }
result:Infinity
无穷大,也没有问题啊
但是
public static void main(String[] args) { System.out.println((int)(1.0/0)); }
result:2147483647
似曾相识
public static void main(String[] args) { System.out.println((int)(-1.0/0)); }
result:-2147483648
明白了int的最大值
但是
public static void main(String[] args) {
System.out.println((float)(-1.0/0));
}
reslut:-Infinity
网友分享的代码
double i = 1.0 / 0; System.out.println(i); //Infinity System.out.println(i + 1); //Infinity System.out.println(i == i + 1); //true
相关推荐
- 除数为零时,整数除法会产生`ArithmeticException`,而浮点数除法则会产生`NaN`或`Infinity`。 14. **`strictfp`修饰符**: - `strictfp`修饰符保证浮点运算结果的一致性,特别是在多线程环境中。 - 使用此修饰...
在Java中,对于浮点数的除法运算,当除数为0时,结果会被定义为无穷大或NaN(Not a Number),这符合IEEE 754标准的规定。但对于整数除法,如果除数为0,将会抛出`ArithmeticException`异常。 **示例代码**: ```...
根据提供的文件信息,我们可以从中提炼出一系列与Java编程语言相关的知识点。下面将详细解析这些知识点,包括选择题涉及的概念及背后的原理。 ### 1. 异常处理与数据类型的除法运算 **知识点:** - **Java异常处理...
JavaScript 基础复习大纲 DAY1 一、JavaScript 简介 JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)、并具有安全性...* 特殊数值:NaN、Infinity(除数为零),所对应的判断函数 isNaN()、isFinite
- EL的除法运算,除数为0时返回`Infinity`而非错误。 - 可访问JSP的四个作用域:request、session、application和page。 - 扩展函数可以映射Java类的静态方法。 **二、EL的运算符** EL的运算符按照从左到右的...
4. **除法**:输入8/2,预期输出4,但除数为负数如8/--2时,程序未能正确处理。 **四、测试结果分析** 虽然程序基本的计算功能得以验证,但在某些边界条件下存在问题。例如,显示数字长度过长时可能无法准确记录,...
5. **编程实现**:在实现算法时,可以选择使用不同的编程语言,如C++、Python或Java等。每种语言对浮点数的处理方式和精度可能会有所不同,需要根据具体语言特性来编写代码。 6. **源程序分析**:提供的PDF文件很...
7. **错误处理**: 在除法运算中,需要考虑除数为零的情况,避免出现JavaScript的`Infinity`或`NaN`错误。 8. **用户交互**: 可能包含了验证输入,防止非数字字符的输入,以及提供清空输入、撤销操作等功能。 9. **...