下面都是多选题,各位帮忙给个正确答案并给出一定解释。1. 下面的表达式哪个是正确的()A String s=”你好”;int i=3;s+=i;
B String s=”你好”;int i=3;if(i==s){s+=i};
C String s=”你好”;int i=3;s=i+s;
D String s=”你好”;int i=3;s=i+;
E String s=null;int i=(s!=null)&&(s.length>0)?s.length():0;
2.下列哪个方法可用于创建一个可运行的类()A public class X implements Runable{public void run(){……}}
B public class X implements Thread{public void run(){……}}
C public class X implements Thread{public int run(){……}}
D public class X implements Runable{protected void run(){……}}
E public class X implements Thread{public void run(){……}}
3.下面哪个方法可以在任何时候被任何线程调用()A notify()
B wait()
C notifyAll()
D sleep()
E yield()
F synchronized(this)4. 下列说法正确的是()A. java.lang.Clonable 是类
B. java.lang.Runnable是接口
C. Double 对角在java.lang包中
D. Double a=1.0 是正确的java语句5. 指出正确的表达式()A. double a =1.0;
B Double a = new Double(1.0);
C byte a =340;
D Byte a =120; 6 下列()情况可以终止当前线程的运行bA. 抛出一个例外时
B. 当该线程调用sleep()方法时
C. 当创建一个新线程时
D. 当一个优先级高的线程进入就绪状态时

解决方案 »

  1.   

    A String s=”你好”;int i=3;s+=i;  正确 最后是字符串 
    B String s=”你好”;int i=3;if(i==s){s+=i}; 错误 int 和String 不能用==比较
    C String s=”你好”;int i=3;s=i+s; 正确 最后说字符串
    D String s=”你好”;int i=3;s=i+; 错误  +是二目运算
    E String s=null;int i=(s!=null)&&(s.length>0)?s.length():0; 错误 s值是null s.length出错
      

  2.   

    A public class X implements Runable{public void run(){……}} 正确
    B public class X implements Thread{public void run(){……}}  错误
    C public class X implements Thread{public int run(){……}} 错误
    D public class X implements Runable{protected void run(){……}} 没有这样写过 有待尝试
    E public class X implements Thread{public void run(){……}} 错误Thread这个是个抽象类只能用extends
      

  3.   

    A. java.lang.Clonable 是类 这个错的(不知道你写错没有)java.lang.Cloneable 有这个东东
    B. java.lang.Runnable是接口 正确
    C. Double 对角在java.lang包中 正确
    D. Double a=1.0 是正确的java语句 正确
      

  4.   

    1、ACE
    A:String+时,默认+为连接符,若i+=s就会报错;B:int类型不能跟String类型进行==比较;
    C、s = i + s,+为连接符;D:+后面必须有东西;E boolean ? a : b;是java ifelse简单的表现形式(如果s.length>0是s.length()>0的话);
    2、A
    B.C.E:Thread是类用extends,D、重写方法,访问权限不能降低;
    3、不明白题目的意思,下次再解答...;
    4、BCD
    java几乎所有able结尾的都是接口(可能有些不是...),表示能够做某事
    D:基本数据类型有自动装箱/拆箱的能力,即Double a = 1.0,实际上就是Double a = (Double) 1.0;
    5、ABD
    byte的范围的-128到127
    6、A
    B是中断,sleep结束后可能还会运行
      

  5.   

    第一题的 E 是正确的,它虽然是空,但是这样用来计算是没有问题的。最后i等于0
    但是不能输出s.length(),会出空指针错误
      

  6.   

    5、ABD
    基本数据类型的封装类,因为是类,所有有new方式来构造的能力,你可以看API,Double类的构造就是Double(double d);
    byte的范围的-128到127
    6、A
    A出现一个没有捕获异常后,程序会自动终止
    B只是中断,sleep结束后可能还会运行
    C:创建一个线程,只会放在线程池,等待
    D:就绪状态也没有打断一个已经运行的线程
      

  7.   

    还有第一题的E是没问题的,就是运行也不会抛出空指针异常.因为短路与&&,只要前面的条件不满足就是false,不会执行后的判断,所以就不会执行s.length()>0.这也是&&与&的区别
      

  8.   

    A String s=”你好”;int i=3;s+=i;  正确
    B String s=”你好”;int i=3;if(i==s){s+=i}; 错误
    C String s=”你好”;int i=3;s=i+s; 错误
    D String s=”你好”;int i=3;s=i+; 错误
    E String s=null;int i=(s!=null)&&(s.length>0)?s.length():0; 错误