接上篇:https://developer.aliyun.com/article/1227042?spm=a2c6h.13148508.setting.16.18334f0eu8bmt9
四、 表达式
1. 尽量减少方法的重复调用
反例:
正例:
2. 尽量避免不必要的方法调用
反例:
正例:
3. 尽量使用移位来代替正整数乘除
用移位操作可以极大地提高性能。对于乘除2^n(n为正整数)的正整数计算,可以用移位操作来代替。
反例:
正例:
4. 提取公共表达式,避免重复计算
提取公共表达式,只计算一次值,然后重复利用值。
反例:
正例:
5. 尽量不在条件表达式中用!取反
使用!取反会多一次计算,如果没有必要则优化掉。
反例:
正例:
6. 对于多常量选择分支,尽量使用switch语句而不是if-else语句
if-else语句,每个if条件语句都要加装计算,直到if条件语句为true为止。switch语句进行了跳转优化,Java中采用tableswitch或lookupswitch指令实现,对于多常量选择分支处理效率更高。经过试验证明:在每个分支出现概率相同的情况下,低于5个分支时if-else语句效率更高,高于5个分支时switch语句效率更高。
反例:
正例:
备注
如果业务复杂,可以采用Map实现策略模式。
接下篇:https://developer.aliyun.com/article/1227040?groupCode=java