高手都不懂这样用++,都死光了
解决方案 »
- java 中的LIST接口 报错
- Class到底是干什么用的?我看书都看不懂。。
- 我想用java窗口界面实现调用系统的ping命令 并且能够回显ping的结果
- 有谁能讲讲SWT的事件处理方式,有好几种。100分!
- 请问用java如何判断输入的内容是字符还是数字啊?
- 各位老大,我在启起动完成tomcat5.0的startup后http://localhost:8080初始页面正常,但我一点Tomcat Administration出现错误页面
- 请教:是java包装载不上吗?
- 如何设置jTextArea的能输入最大字符??
- 为什么我这样写没有表头的工具提示?
- 我想判断一个字符串是否被另一个包含
- 请教:关于JAR文件运行的问题?
- JBuilder9 Weblogic Edidtion注册机
public class Temp
{
public static void main(String[] args)
{
int i=0;
i=i++;
}
}
的字节码(JDK 1.3.1_01),由javap -c -verbose Temp生成:
Compiled from Temp.java
public class test.Temp extends java.lang.Object {
public test.Temp();
/* Stack=1, Locals=1, Args_size=1 */
public static void main(java.lang.String[]);
/* Stack=1, Locals=2, Args_size=1 */
}Method test.Temp()
0 aload_0
1 invokespecial #9 <Method java.lang.Object()>
4 returnMethod void main(java.lang.String[])
0 iconst_0 //将 0 压入堆栈。
1 istore_1 //弹出 0 并将它存储在局部分变量表中索引为 1 的位置 (i)。
2 iload_1 //压入索引 1 处的值 (i)。
3 iinc 1 1 //将存储在索引 1 处的 i 加 1。
6 istore_1 //弹出 0 并将它存储在局部变量表中索引为 1 的位置 (i)。
7 return可以看出:“iinc 1 1”把i加1后,“istore_1”又把栈顶的0存入i,所以i的最后结果是0。不知其它的编译器编译出来的字节码是不是和上面的(JDk 1.3.1_01)一样。