`
tedeyang
  • 浏览: 326339 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java基础测试

阅读更多
java基础测试

public class Inc {   
    public static void main(String[] args) {   
        Inc inc = new Inc();   
        int i = 0;   
        inc.fermin(i);   
        i = i++;      //陷阱   
        System.out.println(i);   
    }   
    void fermin(int i){   
        i++;   
    }   
}  

会输出什么?

 

答案解说:

可以用javap工具来观察内存的运动:

1,新建一个文件 c:/T.java :

class T {
 public static void main(String[] args){
  int i = 0;
  i = (i++) ;
  System.out.println(i);
 }
}

2,在cmd中执行: cd \ ,然后执行“ javac T.java && javap -c -verbose T > Tout.txt && java T ”

打开Tout.txt文件,其中一段字节码是这样的:

public static void main(java.lang.String[]);
  Code:
   Stack=2, Locals=2, Args_size=1
   0: iconst_0     
   1: istore_1     
   2: iload_1      
   3: iinc 1, 1     
   6: istore_1     
   7: getstatic #2; //Field java/lang/System.out java/io/PrintStream;
   10: iload_1
   11: invokevirtual #3; //Method java/io/PrintStream.println I)V
   14: return
  LineNumberTable:
   line 3: 0
   line 4: 2
   line 5: 7
   line 6: 14


}

其中的2,3步就是完成i++,是先load(把i的值压栈)再加1.
如果是++i,那么2,3两步执行顺序正好相反。这里有两个stack进行数据存储。

 

【2008-2】

分享到:
评论

相关推荐

    JAVA基础测试

    在这个"JAVA基础测试"中,我们将深入探讨这些核心主题。 首先,Java语法是学习任何编程语言的基础。Java采用C++类似的语法,但更加简洁和严谨。例如,变量声明需要指定数据类型,如int、double、boolean等。Java还...

    JAVA基础测试题(含答案)

    这份"JAVA基础测试题(含答案)"的压缩包显然旨在帮助学习者检验和巩固他们的Java基础知识。让我们一起探讨这些测试题可能涵盖的知识点,以及这些知识点在实际编程中的重要性。 1. **Java语法基础**:测试题可能会...

    北大青鸟内部JAVA基础测试题

    "北大青鸟内部JAVA基础测试题" 本测试题目涵盖了 Java 基础知识的多个方面,包括基本数据类型、变量声明、数组、运算符、控制结构、方法、字符串等。下面是对每个问题的详细解释: 1. 在 Java 语言中,基本数据...

    Java基础测试题答案.doc

    Java基础测试题答案 Java 是一种广泛应用的编程语言,Java 基础知识是每个程序员都需要掌握的。下面是 Java 基础测试题答案中的知识点总结: Java 类和对象 在 Java 中,每个类只能有一个 public 修饰的类,这是...

    Java基础测试题.doc

    Java基础测试题.doc 本资源是Java基础知识测试题,涵盖了Java语言的基本概念、语法、面向对象编程、继承、多态、接口、异常处理、集合框架等方面。下面是对每道题的详细解释: 1. 变量命名规则:在Java中,变量名...

    java基础测试题及答案

    "北大青鸟一期java基础测试题"是一个专门针对初学者设计的练习集,旨在帮助学员巩固和检验他们在Java学习过程中的理解和技能。 试题文档"笔试试题.doc"可能包含了以下几类问题: 1. **Java语法**:这可能包括基本...

    java基础测试题.pdf

    java基础测试题.pdf

    JAVA职业素养及面试和JAVA基础测试题题

    JAVA职业素养及面试和JAVA基础测试题题,帮你轻松应对java面试

    Java基础测试题2(附答案).pdf

    Java基础测试题2(附答案).pdf

    10、java基础测试题题目练习及答案分析.rar

    文件名:10、java基础测试题题目练习及答案分析.rar文件类型:word格式使用方式:直接解压,无密码

    6、java基础测试题题目练习及答案解析.rar

    文件名:6、java基础测试题题目练习及答案解析.rar文件类型:word格式使用方式:直接解压,无密码

    JAVA基础经典测试

    "JAVA基础测试(二).txt"和"JAVA基础测试题(一).txt"很可能是两个包含了多种Java基础题目和解答的文本文件,涵盖了Java语法、面向对象特性、异常处理、集合框架、输入输出流等关键知识点。这些测试题通常包括选择...

    java基础练习题(基础)精选

    Java基础练习题由本人整理并上传,非常适合于初学者加强巩固自己的知识,编程学好的唯一途径就是多练习。

    Java基础测试题 期末考试

    编写一个截取字符串的函数,输入为一个字符串和一个整型数字,输出为按整型数字为长度截取的字符串序列。例如输入“国家自然科学基金项目.doc”,4,应该输出为(20分) 国家自然 科学基金 项目.doc ...

    java基础测试题

    可以看看检测一下自己的基础看看是否过关 只是一些基础概念的测试 以及后面的五道小编程题 测试一下自己 对基础的掌握

    java基础测试试题(附有答案)

    java基础语法、用法,新手必看的内容。 本人提供就是为了能让更多的新手学习,一遍达到自己的梦想。虽是基础但是也不是微不足道的,也是有作用的。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,...

    BasicProject:Java 基础测试项目

    【Java基础测试项目详解】 Java作为一种广泛使用的编程语言,其基础知识是每个开发者必须掌握的核心技能。"BasicProject: Java 基础测试项目"旨在帮助初学者和有经验的开发者巩固与测试他们的Java编程能力。这个...

Global site tag (gtag.js) - Google Analytics