- 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的结果是(b )b
- 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. 子类重写父类方法时访问权限不能更低
复制代码 |
|