java 三元 代替 if_Java 中三元和 if else 哪个的效率比较高,有底层解释吗,谢谢了!...
Genokiller
2018-12-28 18:16:11 +08:00
是否還有其他影響效率的地方
兩段簡短的測試代碼:
Test2.java (三元運算符)
public class Test2
{
public static void main(String args[])
{
int m =1, n=2;
String s = m > n ? "a" : "b";
}
}
Test3.java ( if...else...)
public class Test3
{
public static void main(String args[])
{
int m = 1, n = 2;
if(m > n) {
String s = "a";
}
else {
String s = "b";
}
}
}
編譯后用 javap 反編譯得到下面指令碼:
Compiled from "Test2.java"
public class Test2 extends java.lang.Object{
public Test2();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."":()V
4: return
public static void main(java.lang.String[]);
Code:
0: iconst_1
1: istore_1
2: iconst_2
3: istore_2
4: iload_1
5: iload_2
6: if_icmple 14
9: ldc #2; //String a
11: goto 16
14: ldc #3; //String b
16: astore_3
17: return
}
----------------------------------------
Compiled from "Test3.java"
public class Test3 extends java.lang.Object{
public Test3();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."":()V
4: return
public static void main(java.lang.String[]);
Code:
0: iconst_1
1: istore_1
2: iconst_2
3: istore_2
4: iload_1
5: iload_2
6: if_icmple 15
9: ldc #2; //String a
11: astore_3
12: goto 18
15: ldc #3; //String b
17: astore_3
18: return
}
---------------------
作者:crazygou
來源:CSDN
原文: https://blog.csdn.net/CrazyGou/article/details/1655593
版權聲明:本文為博主原創(chuàng)文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的java 三元 代替 if_Java 中三元和 if else 哪个的效率比较高,有底层解释吗,谢谢了!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天天p图如何把两张照片合成一张
- 下一篇: iPhone 13价格怎么样会超1500