int s = 2;
int h = -s和
int h = s*(-1)有什么区别
int h = -s这个是不是错误的??
[code="java"]int h = -s[/code]
没有错误。
区别如下:
[code="java"]int h = -s [/code]
[quote][b] 11: getfield #2; //Field s:I
14: ineg
15: putfield #3; //Field h:I[/b][/quote]
[color=blue][b]只用了 一个取负的操作[/b][/color]
[quote]int k = s * (-1)[/quote]
[quote][b] 20: getfield #2; //Field s:I
23: iconst_m1
24: imul
25: putfield #4; //Field k:I[/b][/quote]
[color=blue][b]多了一条指令,用到了乘法操作![/b][/color]
[color=blue][b]所以 int h = -s 比较好![/b][/color]
java里面没有问题的 呵呵
int h = -s和
int h = s*(-1)有什么区别
个人感觉-s更快...