我准备发一些Java的小Quiz,这些题目看似比较简单,但如果一不小心,就会得出错误的结论,大家小心咯。
如果你有什么意见或者建议,请留言或者加我的QQ:472429029,验证信息写Java,javaeye什么的都行。
1.下面代码会编译成功吗?如果会,那么运行结果是?
/** * created on 2009-4-14 * Author softkid */ package cn.softkid; public class AQuestion { private int i = giveMeJ();//(1) private int j = 10;//(2) private int giveMeJ(){ return j; } // public static void main(String args[]){ System.out.println((new AQuestion()).i); }
语句(1)和(2)的顺序调换之后呢?
2.下面的代码的运行结果是?
/** * created on 2009-4-14 * Author softkid */ package cn.softkid; public class AQuestion { public void method(Object o){ System.out.println("Object Verion"); } public void method(String s){ System.out.println("String Version"); } public static void main(String[] args) { AQuestion question = new AQuestion(); question.method(null); } }
这道题目为什么是那样的结果,我还不知道,希望谁能够解释一下。
3.再看下面的代码,你有什么样的结论呢?
/** * created on 2009-4-14 * Author softkid */ package cn.softkid; public class AQuestion { public void method(String s){ System.out.println("String Version"); } public void method(StringBuffer sb){ System.out.println("StringBuffer Verion"); } public static void main(String args[]){ AQuestion question = new AQuestion(); question.method(null); } }
4.再来一个关于String类的,运行下面代码的结果是?
/** * created on 2009-4-14 * Author softkid */ package cn.softkid; public class StringEquality { public static void main(String[] args) { if("String".toString() == "String") System.out.println("Equal"); else System.out.println("Not Equal"); if("String".trim() == "String") System.out.println("Equal"); else System.out.println("Not Equal"); if("String".trim() == "String".trim()) System.out.println("Equal"); else System.out.println("Not Equal"); if( "STRING".toUpperCase() == "STRING") System.out.println("Equal"); else System.out.println("Not Equal"); } }
这一次也就来这么点吧!下次再继续。