这在面试资料上看到这个题的,其实这里都没提是直接数学运算还是程序中的四则运算,两者是有区别的
比如数学中3除以8得到的是一个分数,而程序中的3/8就为0了,这里暂且我们就用程序的方式来。
public class TestA {
public static void main(String[] args) {
int a = 8*8/3+3;
/**
* 8*8=64
* 8*8/3=64/3=21取整除部分
* 21 + 3 = 24
*/
System.out.println("a=" + a);//24
}
}
这样就得到了我们的结果,但是,有没有这样的可能,要求顺序就为3388了。3*8=24得到这个思路就要做了:
public class TestA {
public static void main(String[] args) {
int b = (3+3/8)*8;
/**
* 根据运算符优先级,3/8 = 0
* (3+3/8)=3
* (3+3/8)*8=3*8=24
*/
System.out.println("b=" + b);//24
}
}
如果是数学角度的话:
8 ÷ (3-8÷3) = 24;
本文通过两个示例探讨了程序中的四则运算规则及其与数学运算的区别,包括运算符优先级及取整操作等关键概念。
1681

被折叠的 条评论
为什么被折叠?



