可能有人在某个地方问过这个问题,但我找不到它。有人可以澄清为什么这段代码会编译并打印出来吗1
?
long i = (byte) + (char) - (int) + (long) - 1;
System.out.println(i);
它被解析为:
long i = (byte)( +(char)( -(int)( +(long)(-1) ) ) );
哪里所有的+
and -
运算符是一元的+
or -
.
在这种情况下,1
被否定两次,所以它打印出来1
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)