1.编译和运行下面代码时显示结果是( )
public class Conv{
public static void main(String argv[]){
Conv c=new Conv();
String s=new String("ello");
c.amethod(s);
}
public void amethod(String s){
char c='H';
c+=s;
System.out.println(c);
}
}
A、Hello
B、ello
C、elloH
D、编译错误
解答:D PS:+号运算符不是可以把字符串和字符串或其它类型的变量连接起来吗?2.、下列关于修饰符混用的说法错误的是( )。
A、abstract不能与final并列修饰同一个类
B、abstract类中不可以有private的成员
C、abstract方法必须在abstract类中
D、staic方法中能处理非static的属性
解答:D PS:我测试了一下abstract 类是可以有private 成员的?3.根据下面代码定义:
Integer i = new Integer (42);
Long 1 = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( )。
A、(i ==1)
B、(i == d)
C、(d == 1)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
解答:D,E PS:DE咋就对了呢,感觉只F正确?4.下列选项中,能有效地描述浮点数的有( )。
A. Float foo = -1;
B. Float foo = 1.0;
C. Float foo = 42e1;
D. Float foo = 2.02f;
E. Float foo = 3.03d;
F. Float foo = 0x0123;
解答:A, D, F PS:无语,我怎么感觉一个都不对啊,求解?5.下列选项中,能有效声明一个字符的语句有( )。
A. Char ch = “a”;
B. Char ch = ‘\' ‘;
C. Char ch = ‘cafe';
D. Char ch = “cafe”;
E. Char ch = ‘\ucafe';
F. Char ch = ‘\u10100';
G. Char ch = (char) true;
解答:B,E PS:真心不了解unicode编码啊,F记不清为什么不对了。6.创建一个类,来存储唯一的对象元素,元素不需要保持特定顺序,但是必须唯一。
最能满足这种要求的接口有( ) 。
A、Set
B、List
C、Map
D、Vector
E、HashSet
解答:A,E PS:HashSet不是接口啊,Map可不可以啊?
求各位大神们能给个详细的解答,小弟在此先谢了..
public class Conv{
public static void main(String argv[]){
Conv c=new Conv();
String s=new String("ello");
c.amethod(s);
}
public void amethod(String s){
char c='H';
c+=s;
System.out.println(c);
}
}
A、Hello
B、ello
C、elloH
D、编译错误
解答:D PS:+号运算符不是可以把字符串和字符串或其它类型的变量连接起来吗?2.、下列关于修饰符混用的说法错误的是( )。
A、abstract不能与final并列修饰同一个类
B、abstract类中不可以有private的成员
C、abstract方法必须在abstract类中
D、staic方法中能处理非static的属性
解答:D PS:我测试了一下abstract 类是可以有private 成员的?3.根据下面代码定义:
Integer i = new Integer (42);
Long 1 = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( )。
A、(i ==1)
B、(i == d)
C、(d == 1)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
解答:D,E PS:DE咋就对了呢,感觉只F正确?4.下列选项中,能有效地描述浮点数的有( )。
A. Float foo = -1;
B. Float foo = 1.0;
C. Float foo = 42e1;
D. Float foo = 2.02f;
E. Float foo = 3.03d;
F. Float foo = 0x0123;
解答:A, D, F PS:无语,我怎么感觉一个都不对啊,求解?5.下列选项中,能有效声明一个字符的语句有( )。
A. Char ch = “a”;
B. Char ch = ‘\' ‘;
C. Char ch = ‘cafe';
D. Char ch = “cafe”;
E. Char ch = ‘\ucafe';
F. Char ch = ‘\u10100';
G. Char ch = (char) true;
解答:B,E PS:真心不了解unicode编码啊,F记不清为什么不对了。6.创建一个类,来存储唯一的对象元素,元素不需要保持特定顺序,但是必须唯一。
最能满足这种要求的接口有( ) 。
A、Set
B、List
C、Map
D、Vector
E、HashSet
解答:A,E PS:HashSet不是接口啊,Map可不可以啊?
求各位大神们能给个详细的解答,小弟在此先谢了..
c+=s;
也即:
c = (char) (c + s);
那么显然 String -> char 这个转换是不可能的,当然编译错误。
abstract类除了有他的特色abstract以外,其他和普通类一样
java.util.HashSet类实现了java.util.Set接口。
2.BD
3.F 看源代码
4.D 如果是大写的Float,就只有D了,如果是小写的float,基本类型会自动强转,ADF都是对的。
5.首先没有大写的Char,不然全错了。如果是小写的char,BE是对的,F unicode 应该是4位16进制。
6.Map 的keyset 也算集合吧。呵呵
第三题,结果是F,原因:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
不同类型的类相比,基本不会比较,比直return false所以DE是错的。
而F,按理是错的,但是代码跟踪结果出人意料return value == ((Integer)obj).intValue()是true的,而且obj的值没法跟踪,有高人的话,也指点一下。
public abstract class Test { public static void main(String... args) {
System.out.println(getClass(42));//结果是Integer,说明有int Integer拆装箱。
} public static String getClass(Object o) {
return o.getClass().toString();
}
}
1、D
解:c+=s;即c=c+s--> c+s为String型不可转换为char
2、BD
解:B 抽象类中是可以有自己的实现的,,如:两个方法间共享一个属性这个属性不希望在子类其它方法中改变.
3、DE 你的题不对吧?
解:ABCF都是不能编译通过的,只有DE是可以编译通过运行的
4、ADF 首先题应该是float而非Float吧?
解:B C E应该是double
5、BEF
6、A HashSet不是接口
应为42是基本类型,而equals方法的参数是类类型,所以要对42进行装箱,生成一个Integer类的对象,
这个装箱过程调用了Integer.valueOf(int i)方法产生对象,public static Integer valueOf(int i) {
if(i >= -128 && i <= IntegerCache.high)
return IntegerCache.cache[i + 128];
else
return new Integer(i);
}由源代码可知,由于该方法有缓存基本类的功能,所以自动装箱生成的对象就是i