单选题)有以下程序片段,下列哪个选项不能插入到行 1 。()。
1.
2.public class A{
3.//do sth
4. }
A public classMainClass{ }
B package mine;
C classANotherClass{ }
D importjava.util.*;
2
(单选题)设有定义 int a=3 ,b=4,c=5; 则以下的表达式中 , 值为 false 的是 ()
A a < b&& b < c
B a <= b
C a < ( b + c )
D ! ( a < b )
3(单选题)Given the following code:
publicclassTest {
privatestaticintj = 0;
privatestaticBoolean methodB(intk) {
j += k;
returntrue;
}
publicstaticvoidmethodA(inti) {
booleanb;
b = i < 10| methodB(4);
b = i < 10|| methodB(8);
}
publicstaticvoidmain(String args[]){
methodA(0);
System.out.println(j);
}
}
What isthe result?
A The programprints”0”
B The programprints”4”
C The programprints”8”
D The programprints”12”
E The code doesnot complete.
4(单选题) 下列命令中,用来运行 Java 程序的是()
A java
B javadoc
C jar
D javac
5(不定项选择题) Considerthe following code:
String s=null;
Which code fragments cause an object of type NullPointerException to be thrown?
A if((s!=null)&(s.length()>0))
B if((s!=null)&&(s.length()>0))
C if((s==null)|(s.length()==0))
D if((s==null)||(s.length()==0))
6(不定项选择题) 实现或继承了Collection接口的是()
A Map
B List
C Vector
D Iterator
E Set
1
(单选题)有一个源代码,只包含importjava.util.* ; 这一个import语句,下面叙述正确的是? ( )
A 只能写在源代码的第一句
B 可以访问java/util目录下及其子目录下的所有类
C 能访问java/util目录下的所有类,不能访问java/util子目录下的所有类
D 编译错误
正确答案是:C
解析
导入java.util.*不能读取其子目录的类,因为如果java.util里面有个a类,java.util.regex里面也有个a类,我们若是要调用a类的方法或属性时,应该使用哪个a类呢。所以也应该选C
2(单选题) 多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作该数据的部分改为 ()
A 同步
B 异步
C 只读
D 只写
正确答案是:A
解析:
多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作该数据的部分改为同步。
同步方法和同步代码块的区别是什么?
同步方法 ( 粗粒度锁 ):
1. 修饰一般方法 : public synchronized void method (){...}, 获取的是当前调用 对象 this 上的锁
2. 修饰静态方法 : public static synchronized void method (){...}, 获取当前类的 字节码对象上的锁
同步代码块 ( 细粒度锁 ):
synchronized ( obj ) {...}, 同步代码块可以指定获取哪个对象上的锁 , obj 任意
3
(单选题)A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:
A a0=new A();
A a1=newB();
A a2=newC();
以下哪个说法是正确的?
A 第1行,第2行和第3行的声明都是正确的
B 第1,2,3行都能通过编译,但第2,3行运行时出错
C 第1,2行能通过编译,但第3行编译出错
D 只有第1行能通过编译
正确答案是:A
解析:
多态的三种表现形式:继承重写,重载,向上转型。A a=new B()属于向上转型,该语句创建了一个B的对象,并将A的对象变量(引用)指向B的对象,即父类引用指向子类对象,是可以的
4
(单选题)选项中哪一行代码可以替换 //add code here 而不产生编译错误
public abstract class MyClass {
public intconstInt = 5;
//add codehere
public voidmethod() {
}
}
A public abstractvoid method(int a);
B consInt=constInt+5;
C public intmethod();
D public abstractvoid anotherMethod(){}
正确答案是:A
解析:
B.类中不能直接进行运算,可以写在代码块和静态代码块中
C.和method()重复了
D.abstract不能有{}
5(单选题) 在基本JAVA类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?
A int float
B int double
C long float
D long double
正确答案是:B
解析:
Java中,如果对整数不指定类型,默认时int类型,对小数不指定类型,默认是double类型
如果要指定长整型,最好写为long a = 100000000L,如果要指定为单精度最好写为float a= 12.34F
6(单选题) Whichlines of the following will produce an error?
1. byte a1 = 2,a2 = 4, a3;
2. short s = 16;
3. a2 = s;
4. a3 = a1 * a2;
A Line 3 and Line4
B Line 1 only
C Line 3 only
D Line 4 only
正确答案是:A
解析:
1、 Java中整数默认 类型为int型,浮点默认为double型;
2、对于byte型运算时,会自动转化为int 型;
3、对于byte\short\char同级别运算时,需要强制转换;
4、高级型向低级需要强制类型转换;
高级向低级必须强制类型转换byte<char<short<int<long<float<double
short,byte,char是同级别的,所有逻辑操作都会自动转换成int型再进行相关运算