早教吧作业答案频道 -->其他-->
Java中a%=3/a+3跟a=a%(3/a+3)的答案居然会一样的?为什么呢?Java初学者有很多问题未搞清楚呀inta=1;doubled=1.0;a=46/9;a=46%9+4*4-2;a=45+43%5*(23*3%2);a=45+1+45*50%(--a);d=1.5*3+(++d);d=1.5*3+d++;a=a%(3/a+3);我觉得开头不
题目详情
Java中a%=3/a+3跟a=a%(3/a+3)的答案居然会一样的?为什么呢?
Java初学者有很多问题未搞清楚呀
int a=1;
double d=1.0;
a=46/9;
a=46%9+4*4-2;
a=45+43%5*(23*3%2);
a=45+1+45*50%(--a);
d=1.5*3+(++d);
d=1.5*3+d++;
a=a%(3/a+3);
我觉得开头不用 int a=1 double d=1.0; 结果也一样的吧?为什么要这两句呢?
a%=3/a+3跟a=a%(3/a+3)它们都能编译出相同的结果,为什么呢?
Java初学者有很多问题未搞清楚呀
int a=1;
double d=1.0;
a=46/9;
a=46%9+4*4-2;
a=45+43%5*(23*3%2);
a=45+1+45*50%(--a);
d=1.5*3+(++d);
d=1.5*3+d++;
a=a%(3/a+3);
我觉得开头不用 int a=1 double d=1.0; 结果也一样的吧?为什么要这两句呢?
a%=3/a+3跟a=a%(3/a+3)它们都能编译出相同的结果,为什么呢?
▼优质解答
答案和解析
上边那个 a有没有赋值没关系 但是 b 下边d=1.5*3+(++d) 这一行 d没有赋值 这里就会报错
a%=3/a+3跟a=a%(3/a+3)至于这个 这完全就是一个运算符优先级的问题
%= 这也是一个运算符 其他的还有+= -= /= *=这些如果不是太熟悉的话最好用后边
a=a%(3/a+3)这种写法 不容易引起误解
还有优先级这块其实完全可以不用看 你根本不需要知道那个优先级更高 你只要知道用了()的优先最高就行了
a%=3/a+3跟a=a%(3/a+3)至于这个 这完全就是一个运算符优先级的问题
%= 这也是一个运算符 其他的还有+= -= /= *=这些如果不是太熟悉的话最好用后边
a=a%(3/a+3)这种写法 不容易引起误解
还有优先级这块其实完全可以不用看 你根本不需要知道那个优先级更高 你只要知道用了()的优先最高就行了
看了 Java中a%=3/a+3跟...的网友还看了以下: