假设x是除数,它可能是0。
程序运行:
Scanner reader = new Scanner(System.in);
int y = 5;
int x = 0;
x = reader.nextInt();
System.out.println("y divided by x is " + y/x);
我知道如果程序发现它将变量除以0,它将抛出ArithmeticException。
虽然没关系,但在进行任何分割或执行try / catch块之前,还有其他方法可以找出使用if语句检查x是否为0。
确保程序不将变量除以0的最有效方法是什么?
答案 0 :(得分:1)
使用断言声明:
assert x != 0;
但是他们不应该在生产代码中使用
注意:您需要使用-ea
参数运行代码以在运行时激活它。它们默认被忽略。
您当然可以用if-else
块替换它,这肯定不会影响代码的效率。实际上,您不应该在如此微小的级别上担心代码效率。
答案 1 :(得分:0)
System.out.println(“y除以x是”+(x == 0?“无穷大”:y / x));
编辑:我不知道这是否是最有效的方法,但老老实实地看待这种简单的效率是完全不合理的。