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可不可以啊?
求各位大神们能给个详细的解答,小弟在此先谢了..

解决方案 »

  1.   

    问题真多,我先说第一个:
      c+=s;
    也即:
      c = (char) (c + s);
    那么显然 String -> char 这个转换是不可能的,当然编译错误。
      

  2.   

    第一个 s+=c是可以的 但是c+=s表示c=c+s c+s是string 而c是char 这个过不去吧
      

  3.   

    第2个:
    abstract类除了有他的特色abstract以外,其他和普通类一样
      

  4.   

    第二个D肯定是错的 但是B也确实不太对 如果private修饰abstract方法的话就不可以的 
      

  5.   

    3题 d和e都不对啊 我看了他们重写的equals方法 应该都返回false的啊 F是对的啊
      

  6.   

    4题 D是对的 定义直接写数字是不对的 直接写数字是float 加上后缀f就对了 其他两个我试了 不行 
      

  7.   

    1 +=有强制效果 c是char的,s是String 类的
      

  8.   

    5题是b,e,utf-8编码格式是\uxx。utf-16和utf-32格式是\uxxxx
      

  9.   

    Map存储的是键值对,包含了key-value对,Map中key是必须唯一的,但是value可以重复。
    java.util.HashSet类实现了java.util.Set接口。
      

  10.   

    1.c+=s隐含一个强制转换语句,意为c = (string)(c+s);,而不能用String赋值给char型的变量c。2.抽象类可以是终态的,故A正确。抽象类中有Private成员会导致子类无法正常继承其所有属性,故B正确。抽象类和一般类的区别在于抽象方法,抽象方法必须在抽象类中,故C正确。Static3.==比较的是对象的内存地址,而equals方法比较对象的内容。所以ABC显然是错的,而DE是对的。对于F,因为42不是一个具体的对象,不能用equals方法比较。4.解释下为什么BCE错吧。B没有说明符号,C语法不正确,E中不能用float类型的变量foo储存double型的值。5.A中,char变量的值应使用''括起来而不是" "。B中使用转义字符赋值\给ch,正确。C中char型变量仅能储存一个字符。D中不能把字符串赋值给一个字符型变量。E中使用转义字符\u。F中的目的是使用二进制对ch赋值,但使用了' ',而单引号中应为一个字符的值,故错误。G中,boolean型不能强制转换为任何其他类型。6.Map中无法做到元素唯一。以上纯手打。仅供参考。
      

  11.   

    第3题。。我用eclipse测试。。D,E为false,F为true!  这
      

  12.   

    第6题。。HashSet明显不是接口嘛。。这答案。。我无言了
      

  13.   

    很多答案是错误的。
    2.BD
    3.F 看源代码
    4.D 如果是大写的Float,就只有D了,如果是小写的float,基本类型会自动强转,ADF都是对的。
    5.首先没有大写的Char,不然全错了。如果是小写的char,BE是对的,F unicode 应该是4位16进制。
    6.Map 的keyset 也算集合吧。呵呵
      

  14.   

    我这里主要说一下第三题,看没有人说出详细解答:
    第三题,结果是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的值没法跟踪,有高人的话,也指点一下。
      

  15.   


    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();
    }
    }
      

  16.   

    首先你确定你写的题是对的吗?那你的答案很多不对
    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不是接口
      

  17.   

    解析:F、(i.equals (42))  
    应为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