博客详情

jvm中字节码指令if、while、do while、for (原创)

作者: 朝如青丝暮成雪
发布时间:2020-09-13 19:34:36  文章分类:JVM   阅读(1210)  评论(0)

1、java中if语句:

public class Demo3_3 {
 
    public static void main(String[] args) {
        int a=0;
        if(a==0){
            a=10;
        }else{
            a=20;
        }
    }
}
字节码:
0: iconst_0
1: istore_1
2: iload_1
3: ifne          12
6: bipush        10
8: istore_1
9: goto          15
12: bipush        20
14: istore_1
15: return

2、java中的while语句


public class Demo3_4 {
    public static void main(String[] args) {
        int a=0;
        while(a<10){
            a++; 
     }
   }
 }


字节码:

0: iconst_0
1: istore_1
2: iload_1
3: bipush        10
5: if_icmpge     14
8: iinc          1, 1
11: goto          2
14: return

3、java中的do while语句


public class Demo3_5 {

    public static void main(String[] args) {
        int a=0;
        do{
            a++;
        }while(a<10); 
     }
 }


字节码:

0: iconst_0
1: istore_1
2: iinc          1, 1
5: iload_1
6: bipush        10
8: if_icmplt     2
11: return

4、java中的for语句


public class Demo3_6 {

    public static void main(String[] args) {
        for(int i=0;i<10;i++){ 
 
        }
     }
 }


字节码:

0: iconst_0
1: istore_1
2: iload_1
3: bipush        10
5: if_icmpge     14
8: iinc          1, 1
11: goto          2
14: return


附 jvm指令助记符:

ifne 如果不等于0

ifeq 如果等于0

if_icmpeq 如果等于某数字

if_icmpne 如不等于某数字

if_icmpge 如果大于或等于某数字

if_icmplt 如果小于某数字

if_acmpeq  如果等于某引用

if_acmpne 如果不等于某引用

ifnull  如果为null

ifnotnull 如果不为null



关键字:  jvm  字节码

上一篇:JVM中i++和++i

下一篇:windows中安装mysql8

评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号