java a%2==0_Java 初始化a=2 打印a+++a++为5
这段程序大概这样:
public static void main(String[] args){
int a = 2;
System.out.println(a+++a++);
}
编译后的字节码为:
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
0: iconst_2 /*将int型2推送至栈顶*/
1: istore_1 /*将栈顶int型数值存入第二个本地变量,这里就是完成a=2的步骤*/
2: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; /*获取指定类的静态域,并将其值压入栈顶*/
5: iload_1 /*将第二个int型本地变量推送至栈顶,现在栈顶的值为a的值 2 */
6: iinc 1, 1 /*将指定int型变量增加指定值,现在a的值为3 */
9: iload_1 /*将第二个int型本地变量推送至栈顶,栈顶的值为 3 */
10: iinc 1, 1 /*将指定int型变量增加指定值,现在a为4*/
13: iadd /*将栈顶两int型数值相加并将结果压入栈顶,前面压入栈顶的值分别为2和3,所以现在栈顶的值为 5 */
14: invokevirtual #3 // Method java/io/PrintStream.println:(I)V
17: return
LineNumberTable:
line 4: 0
line 5: 2
line 6: 17
}
SourceFile: "Test.java"
现在,如果把程序换一下:
public static void main(String[] args){
int a = 2;
System.out.println(a+++(++a));
}
现在字节码为:
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
0: iconst_2
1: istore_1 /*完成a=2的赋值*/
2: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
5: iload_1 /*a的值压入栈顶,为 2 */
6: iinc 1, 1 /*a自增长 a=3*/
9: iinc 1, 1 /*a自增长 a=4*/
12: iload_1 /*a值压入栈顶,为 4*/
13: iadd /*两值相加,为 6*/
14: invokevirtual #3 // Method java/io/PrintStream.println:(I)V
17: return
LineNumberTable:
line 4: 0
line 5: 2
line 6: 17
}
SourceFile: "Test.java"
java a%2==0_Java 初始化a=2 打印a+++a++为5相关推荐
- Java的赋值与初始化
zhangleispirit@gmail.com Java的赋值和初始化包括很多容易被忽视的地方,在此分类总结如下: 1.和赋值相关: 基本类型的赋值运算需要注意的是赋值时的类型转换问题,什么时候可以 ...
- java中的实例初始化
实例初始化有:实例变量初始化.实例初始化和静态初始化 1.执行顺序 下面这块代码,其执行顺序是怎么样的? public class Main {String s = "abc";p ...
- java类变量什么时候初始化_Java类变量的初始化时机
先上代码 测试类public class MyNumber { public static MyNumber myNumber=new MyNumber(2.8); private static do ...
- java 类 加载 初始化_java中类的初始化和加载
最近在阅读孙卫琴的java面向对象一书中,看到对java中类的初始化和加载中的论述比较系统,故笔记之 1)类的初始化,JAVA在初始化一个类时,以下步骤 A 假如类存在直接的父类,并且这个父类还没有初 ...
- Java静态变量的初始化
Java静态变量的初始化 C/C++在脑海中的印象太深了,以至于一看到 static 的变量(Java中叫做:域),本能的以为它一旦初始化就不能改变了. 原来Java在还有 final . 转自:ht ...
- 热敏打印机 java实现根据打印机名字实现分别打印小票
目标任务: 用两台打印机分别实现打印不容的小票 1. 实体类:商品信息 /*** 商品信息类* @author admin**/ public class Commodity {// 商品名称priv ...
- 初始化器 java_来说说Java中的实例初始化器
原标题:来说说Java中的实例初始化器 (点击上方公众号,可快速关注) 英文:programcreek 译文:strongme 链接:http://www.importnew.com/12893.ht ...
- Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法
Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法 下载网络上的Adobe flash cs5 精简版(绿色版),Java运行时环境初始化时出现错误,你可能需要重装Flash ...
- java输入一行_用java编写从标准输入读入一行字符串,打印出其中所有的数字
用java编写从标准输入读入一行字符串,打印出其中所有的数字 关注:211 答案:1 mip版 解决时间 2021-01-13 10:00 提问者童話被染上了傷 2021-01-12 17:23 ...
最新文章
- 软工文档”注意注意“事项
- [导入]决定进入J2EE一探究竟
- matlab绘制X,Y二维散点图并标出序号
- win32中GBK、UTF8的互转
- 深入讲解微信小程序上传图片与JAVA后台的结合
- 2019ICPC(徐州) - Who is better?(中国剩余定理+斐波那契博弈)
- Linux学习笔记7
- 中考可以使用计算机吗,中考报志愿必须用电脑吗
- easyUI制作slider小滑块,可拖动和精确输入
- Swift开发之粒子动画的实现
- 2015/10/19总结:ajax传参、jquery.validate自定义日期校验
- scala写入mysql_spark rdd转dataframe 写入mysql的实例讲解
- 如何修改apache 2最大连接数
- 快速学习JasperReport-模板工具Jaspersoft Studio
- Warning: Procedure created with compilation errors.
- 关于Olly Dbg的使用报告
- Vue的引入方式,属性和计数器案例
- 网易有道的喜与忧:11亿营销费抢市场,与跟谁学之间还差一个有道
- AE如何制作星云粒子特效
- 谷歌等提出Soft Diffusion:从通用扩散过程中正确调度、学习和采样
热门文章
- java持续集成soapui_接口自动化测试持续集成--Soapui接口功能测试参数化
- 【kafka】kerberos Server not found in Kerberos database LOOKING_UP_SERVER Identifier doesn‘t match
- 【kafka】kafka 数据重复的一个 案例
- 【java】ASM代理方式 Byte-Buddy代理方式 Javassist代理方式
- 【Kafka】消息超过最大值限制max.request.size
- Mac : PS1变量不生效了
- 【Flink】分布式快照算法—— Chandy-Lamport 算法
- hive元数据为什么要用mysql_Hive用MySQL做元数据保存的数据库时,mySQL设置
- RocketMQ入门到入土(二)事务消息顺序消息
- struts2如何使用拦截器进行用户权限控制