选择题
- 欲构造ArrayList类的一个实例,此类实现了List接口,下列哪个方法是正确的?()
A.ArrayList myList=new Object(B)
B.List myList=new ArrayList()
C.ArrayList myList=new List()
D.List myList=new List() - 对于java类型变量char c,short s,float f,double d,表达式c*s+f+d的结果类型为(D)
A.float
B.char
C.short
D.double - 下面程序段执行完成后,则变量sum的值是( B )。
int b[][]={{1}, {2,2}, {2,2,2}};
int sum=0;
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
sum+=b[i][j];
}
}
A.32
B.11
C.2
D.3 - System.out.println(“is ”+ 100 + 5);
System.out.println(100 + 5 +“ is”);
System.out.println(“is ”+ (100 + 5));
的输出结果分别是? (D )
A.is 1005, 1005 is, is 1005
B.is 105, 105 is, is 105
C.is 1005, 1005 is, is 105
D.is 1005, 105 is, is 105 - 关于Float,下列说法错误的是©
A.Float是一个类
B.Float在java.lang包中
C.Float a=1.0是正确的赋值方法
D.Float a= new Float(1.0)是正确的赋值方法
解析:Float是类,float不是类.
查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f. - 哪个类可用于处理 Unicode?(A)
A.InputStreamReader
B.BufferedReader
C.Writer
D.PipedInputStream
解析: - 下面赋值语句中正确的是(A)
A.double d=5.3e12;
B.float f=11.1;
C.int i=0.0;
D.Double oD=3;
解析:
java中整型默认的是int,浮点默认的是double.
B: double类型的11.1 转成 float,是需要强制转换的
C: double类型的0.0 转成 int,也是需要强制转换的
D: int 转为 封装类型Double,是无法编译的
Double oD = 3.0, 会把double类型的3.0自动装箱为Double,没有问题 - 根据以下代码段,下列说法中正确的是( C )。
public class Parent {
private void m1(){}
void m2(){}
protected void m3(){}
public static void m4(){}
}
A.子类中一定能够继承和覆盖Parent类的m1方法
B.子类中一定能够继承和覆盖Parent类的m2方法
C.子类中一定能够继承和覆盖Parent类的m3方法
D.子类中一定能够继承和覆盖Parent类的m4方法
解析:
通过继承,子类可以拥有所有父类对其可见的方法和域
A.私有方法只能在本类中可见,故不能继承,A错误
B.缺省访问修饰符只在本包中可见,在外包中不可见,B错误
C.保护修饰符凡是继承自该类的子类都能访问,当然可被继承覆盖;C正确
D.static修饰的成员属于类成员,父类字段或方法只能被子类同名字段或方法遮蔽,不能被继承覆盖,D错误
-以下哪项不属于java类加载过程?(B)
A.生成java.lang.Class对象
B.int类型对象成员变量赋予默认值
C.执行static块代码
D.类方法解析
- 变量a是一个64位有符号的整数,初始值用16进制表示为:0Xf000000000000000; 变量b是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。 则a-b的结果用10进制表示为多少?(C)
A.1
B.-(262+261+2^60+1)
C.262+261+2^60+1
D.259+(255+254+…+22+21+20)
解析:
0x7FFFFFFFFFFFFFFF+1=0X8000000000000000,那么
a-b=0Xf000000000000000-0X8000000000000000+1
=0X7000000000000001
=1615*7+1601
=2^607+1
=260*(22+21+20)+1
=262+261+2^60+1