1. 在JAVA中,下列哪些说法是正确的( ac)ac
A.java源文件的扩展名为.java
B.写好的java源程序可以直接运行
C.编写的源程序必须先编译后才能运行
D.程序员可以读懂扩展名为.class的文件
2. 下列标识符哪个是合法的( bd)0.5 bd
A.class
B.$abc
C.1234
D._name
3. 下面哪些赋值语句是正确的?(abd) abd
A. long test = 012;
B. float f = -412;
C. int other = (int) true;
D. double d = 0x12345678;
E. byte b = 128;
4. 在Java中,下列语句不能通过编译的有 (b) bd
A. String s= “join”+ 3;
B. int a= “join”+3;
C. int a= ‘a’+5;
D. float f=5+5.5;
5. 设 a = 3,则表达式 (--a )<
A. 16
B. 8
C. 24
D. 12
6. 下列代码运行的结果是( )c
public static void main(String[] args) {c
int x = 4;
int y = 5;
if(x++>4 & ++y>5) {
x++;
}
System.out.println("x=" + x + ",y=" + y);
}
A. x=4,y=5
B. x=4,y=6
C. x=5,y=6
D. x=6,y=6
7. 尝试运行下面的代码会发生什么?(b ) b
public class Test {
public static void main(String[] args) {
boolean m = true;
if (m = false) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
A. 输出字符串”true”
B. 输出字符串”false”
C. 编译时错误
D. 运行时错误
8. 编译并运行以下代码将发生什么? ( e) 找不到符号
public static void main(String args[]){
char digit = 'a';
for (int i = 0; i < 10; i++){
switch (digit)
{
case 'x' :
{
int j = 0;
System.out.println(j);
}
default :
{
int j = 100;
System.out.println(j);
}
}
}
int i = j;
System.out.println(i);
}
A. 输出11次100
B. 输出10次100,然后抛出运行期异常
C. 编译错误,因为变量i不能在main() 方法中被声明2次
D. 编译错误,因为变量j不能在main() 方法中被声明2次
E. 以上都不对
9. class Demo b b
{
public static int fun(int c)
{
return c+=2;
}
public static void main(String[] args)
{
int temp = fun(2);
System.out.println(temp);
}
}
A. 2
B. 4
C. 6
D. 8
10. 下面哪些函数是public void aMethod(){...}的重载函数?(bd) bd
A. void aMethod( ){...}
B. public int aMethod(int a, float b){...}
C. public void aMethod (){...}
D. public float aMethod (int m){…}
11. 在java中,关于数组描述正确的是( bd)bd
A.数组中的索引下标从1开始
B.存储在数组当中的数据都属于同一数据类型
C.通过数组名.length()能获得数组的长度
D.数组的最大索引下标是数组的长度减1
12. 下面程序的输出结果是什么( d)d
int[] arr = new int[10];
System.out.println(arr[0]);
A.编译不通过
B.运行时出错
C.输出null
D.输出0
13. 下面哪个语句正确地声明一个整型的二维数组( cd)cd
A. int a[][] = new int[][];
B. int b[10][10] = new int[][];
C. int c[][] = new int[10][10];
D. int []d[] = new int[10][10];
14. 以下代码输出是( c )c
class Demo {
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i <= 10) {
i++;
if (i % 2 != 0)
continue;
sum += i;
}
System.out.println(sum);
}
}
A. 55
B. 45
C. 35
D. 30
15. 和下面代码能完成相同的选项是(c)b
class Demo {
public static void main(String[] args) {
int i = 1;
int sum = 0;
while (i <= 100) {
if (i % 2 == 0) {
sum = sum + i;
}
i++;
}
System.out.println(sum);
}
}
A. for (int x =1; x<=100;x++){ sum=sum+x;}
B. for (int x =0; x<=100;x+=2){ sum=sum+x;}
C. for (int x =1; x<=100;x+=2){ sum=sum+x;}
D.上述全对
16. 下列有关类、对象和实例的叙述,正确的是哪一项?(d) d
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称
D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
17. 下面关于java中包的说法正确的是(acb )acd
A. 在java中可以使用import语句导入包
B. 在java中可以使用package语句导入包
C. 位于同一个包中的类,不需要导包就可以直接访问
D. 不同的包中可以出现类名相同的类
18. 下列有关抽象类的叙述正确的是哪项?(ac)acd
A.抽象类中一定含有抽象方法
B.抽象类既能被实例化也能被继承
C.抽象类的声明必须包含abstract关键字
D.抽象类中不能有构造方法 :keyi you 但是接口中不能有构造方法
19. 下列有关接口的叙述错误的是哪项?(ab)abcd d
A.接口中只能包含抽象方法和常量
B.一个类可以实现多个接口
C.类实现接口时必须实现其中的方法
D.接口不能被继承
20. 运行以下代码片段,输出结果是?( d )d
class X {
Y b = new Y();
X() {
System.out.print("X");
}
}
class Y {
Y() {
System.out.print("Y");
}
}
public class Z extends X {
Y y = new Y();
Z() {
System.out.print("Z");
}
public static void main(String[] args) {
new Z();
}
}
A. Z
B. YZ
C. XYZ
D. YXYZ
21. 下列关于类的继承的描述,正确的有( b d)bd
A. 一个类可以同时继承多个父类
B. 一个类可以具有多个子类
C. 子类会自动拥有父类所有的方法
D. 一个类继承另一个类需要使用 extends 关键字
22. 下列选项中关于java中this关键字的说法错误的有(c ) bd
A. this关键字是一个对象的引用
B. this关键字可以用于引用当前类以外其他类型的对象
C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行
D. this可用于静态方法中
23. 下列关于构造函数的说法正确的是( a bd)abd
A. 方法名必须与类名相同
B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数
C. 我们在定义一个类时,必须要声明至少一个构造函数
D. 构造函数中不能使用return语句 (可以有但是不能返回任何内容)
24. 编译并运行以下代码将发生什么?( d)d
class MyClass {
int x;
MyClass(int i) {
x = i;
}
public static void main(String args[]) {
MyClass m1 = new MyClass(100);
MyClass m2 = new MyClass(100);
if (m1.equals(m2)) {
System.out.println("Both are equal");
} else {
System.out.println("Both are not equal");
}
}
}
A. 代码编译时报出错误提示信息“equals() 方法未定义”
B. 编译通过,抛出运行期异常.
C. 输出Both are equal.
D. 输出Both are not equal
25. 运行以下的main()方法,结果是?(c )c
1 public static void main(String[] args)
2 {
3 String myString;
4 int x = 100;
5
6 if (x < 100) myString = "x is less than 100";
7 if (x > 100) myString = "x is greater than 100";
8 System.out.println(myString.length());
9 }
A. 编译时报出错误提示信息“变量myString没有被初始化”
B. 编译通过
C. 编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度
D. 以上都不对
26. 有如下代码,请问哪些是正确的?(cd)
class ClassA{}
class ClassB extends ClassA{}
class ClassC extends ClassA{}
以及
ClassA p0 = new ClassA();a
ClassB p1 = new ClassB();ab
ClassC p2 = new ClassC();ac
ClassA p3 = new ClassB();ab
ClassA p4 = new ClassC();
A.p0 = p1;
B.p1 = p2;
C.p1 = (ClassB)p3;
D.p2 = (ClassC)p4;
27. 关于继承, 以下说法正确的是: (acd)acd
A.Java中只支持单继承, 一个类只能继承一个类, 但是可以有多个子类
B.一个类如果没有自己写无参构造方法, 那么子类将无法继承
C.子类可以当父类用, 父类不可以当子类用
D. 子类重写父类方法时访问权限不能更低