gpt4 book ai didi

java - try-catch 除以零

转载 作者:太空狗 更新时间:2023-10-29 22:59:20 27 4
gpt4 key购买 nike

我的问题是关于简单除以零示例的 try-catch block 。你看到第一行了吗?如果我将这两个变量中的任何一个转换为 double,程序将无法识别 catch block 。在我看来,无论我投还是不投,都必须执行 catch block 。这段代码有什么问题?

public static void main(String[] args) {

int pay=8,payda=0;

try {

double result=pay/(double)payda; // if I cast any of the two variables, program does not recognize the catch block, why is it so?
System.out.println(result);
System.out.println("inside-try");

} catch (Exception e) {

System.out.println("division by zero exception");
System.out.println("inside-catch");

}
}

最佳答案

除以零对 float 有效。

  • 1/0 产生无限。
  • (-1)/0 产生 -Infinity。
  • 0/0 产生 NaN。

这些“数字”在 IEEE 754 中有适当的定义。

另一方面,整数除以零会抛出异常,因为不能将无穷大表示为 int

关于java - try-catch 除以零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259190/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com