1.下列代码在1.5以后版本的JVM中的执行结果是?
public class Example {
public static void main(String[] args) {
Integer i1 = -128;
Integer i2 = -128;
Integer i5 = -129;
Integer i6 = -129;
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
System.out.println(i5 == i6);
System.out.println(i5.equals(i6));
}
}
A. 代码不能编译通过,因为赋值运算左右数据类型不一致
B. false true false true
C. true true false true
D. true true true true
可以先看看这篇文章《包装类型实例优先使用整数池的解析》
2.下列代码的执行结果是( )
1.public class Example {
2.public static void main(String[] args) {
3.List list = new ArrayList();
4.list.add("a");
5.list.add("b");
6.list.add("c");
7.List<Integer> intList = list;
for (int i = 0; i < list.size(); i++) {
System.out.println(intList.get(i));
}
}
}
A. 第7行编译错误,因为列表的泛型类型不同
B. 编译成功,运行时在第9行出现类型转换错误
C. 输出a b c
D. 编译成功,无任何输出
3.下列代码的执行结果是?()
public class Example {
public static void main(String[] args) {
Object str = "test";
Math math = (Math) str;
System.out.println(math instanceof String);
}
}
A. 程序编译成功,运行时在第4行出现对象造型异常
B. 程序编译失败
C. true
D. false
4.以下代码的执行结果是?
public class Example {
public static void main(String[] args) {
TreeSet<String> t = new TreeSet<String>();
if (t.add("one"))
if (t.add("two"))
if (t.add("three"))
t.add("four");
for (String s : t) {
System.out.print(s);
}
}
}
A. one
B. onethreetwo
C. onetwothreefour
D. fouronethreetwo
5.下列代码执行的结果是( )
public class Example {
public static void stringReplace (String text) {
text = text.replace (‘j’ , ‘i’);
}
public static void bufferReplace (StringBuffer text) {
text.append (“C”);
text=new StringBuffer(“Hello”);
text.append(“World!”);
}
public static void main (String args[]) {
String textString = new String (“java”);
StringBuffer textBuffer = new StringBuffer (“java”);
stringReplace (textString);
bufferReplace (textBuffer);
System.out.println (textString + textBuffer);
}
}
A. iavaHelloWorld
B. javajavaC
C. javaHelloWorld
D. iavajavaC
参考答案:CCBDB
第一题优先使用整数池没问题,第二题的话我也不是很理解,有没有朋友解释一下~~第三题的话instanceof运算符的应用,第四题字符串的排序是按照Unicode排序,第五题StringBuffer和String的区别。
|