作业帮 > 综合 > 作业

java当中evaluate是什么意思.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 06:38:12
java当中evaluate是什么意思.
The only difference is that the prefix version (++result) evaluates to the incremented value,whereas the postfix version (result++) evaluates to the original value.
These operators exhibit "short-circuiting" behavior,which means that the second operand is evaluated only if needed
比如i = 1
a = 10 + ++i; 那么++i是增长以后的值,即2 所以a = 12
a = 10 + i++; i++是增长前的值,即1 所以a = 11
简单来说evaluate就是计算的意思,
再问: 但是a = 10 + i++后,a已经等于12了,只不过没显示出12罢了,此时如果再写一句System.out.println(a); ,12不就出来了吗。 所以我觉得翻译成计算有点不准确
再答: The only difference is that the prefix version (++result) evaluates to the incremented value, whereas the postfix version (result++) evaluates to the original value。 这句话意思是 ++result和result++的区别是: ++result这个表达式的值是result增长后的值, 而result++这个表达式的值是result每增长时的值 i = 1 a = 10 + i++; 那么a = 11, 我什么时候说a=12了?注意i++ 此时是1
再问: 你看完这段代码以后就知道我说的是什么了

再答: 代码没问题啊, 你想说什么?, 你这段代码哪里不明白?
再问: 糟糕,忘了往住圈了。你看下倒数第二个注释和倒数第三个注释,print(i++)后,结果仍为6,但如果再一次print(i),结果就会变为7。结合我的
再问:但是a = 10 + i++后,a已经等于12了,只不过没显示出12罢了,此时如果再写一句System.out.println(a);   ,12不就出来了吗。

再答: ... i = 1 a = 10 + i++, 此时i++这个表达式的值是i没有增长前的值, 就是1, 所以a = 11, 然后i经过++后变成了2, i变成了2并不表示a变成了12, 我不知道你要说什么... i = 1 a = 10 + ++i, 那么++i这个表达式的值是i增加后的值, 就是2, 所以a = 12, 经过++后i值也变成2, 你的例子里 int i = 3; i++; //i = 4 System.out.println(i); //print 4 ++i;//i = 5 System.out.println(i);// print 5 System.out.println(++i);//打印++i的值, ++i是i增长后的值, 所以是print 6, 此时i经过++也变成了6, i=6 System.out.println(i++);//打印i++的值, i++是i还未增长时的值, 所以是print 6 此时i经过++变成7, i=7 System.out.println(i);//print 7 有问题吗?
再问:   你也说了此时i经过++变成7,所以我说evaluate翻译成计算不准确。因为虽然System.out.println(i++),输出结果是未增长的值,但是i的值已经增长了1,只是没显现出来罢了。

这说明不管是++i还是i++都通过了计算。
再答: The only difference is that the prefix version (++result) evaluates to the incremented value, whereas the postfix version (result++) evaluates to the original value。 我一个字一个字给你翻译 两者的区别为: 前缀版本的++result(这个表达式)被计算为增长以后的值, 而后缀版本的result++(这个表达式)被计算为原始的值(没增长时的值) 怎么这么费劲, 它的意思是这个++表达式的值, 而不是result的值, result的值不论++result还是result++结束后都是要加1的