1. k设有定义“int k=3;”,语法正确且值为 true 的表达式是( D )
A、k=3
B、k++>3
C、k--==3&&k++==3
D、k++==3||++k>3
A是赋值
2. 以下代码,运行结果为( A )
public staticvoid main(String[] args){
Strings ;
System.out.println(“s=”+s);
}
A、 编译错误
B、 编译正常但运行错误
C、 运行正常,输出 s = null
D、 运行正常,输出 s=
变量只有在方法外面声明定义才会默认赋初始值,在方法里面不会。
3.指出下列程序运行的结果( B)
|
public class Example{ String str=new String(“good”); char[] ch={‘a’,’b’,’c’}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System,out.print(ex.str+”and ”); System.out.print(ex.ch); } public void change(String str,char ch[]) str=”test ok”; ch[0]=’g’; } |
A、good and abc;
B、good and gbc
C、test ok and abc
D、test okand gbc
4.下列说法正确的有(C )
A、class中的constructor不可省略
B、constructor必须与class同名,但方法不能与class同名
C、constructor在一个对象被new时执行
D、一个class只能定义一个constructor
//方法可以与类同名
5.以下程序执行的结果是(C )
|
class X{ Y y=new Y(); public X(){ System.out.print("X"); } } class Y{ public Y(){ System.out.print("Y"); } } public class Z extends X{ Y y=new Y(); public Z(){ System.out.print("Z"); } public static void main(String[] args) { new Z(); } } |
A、ZYXX
B、ZYXY
C、YXYZ
D、XYZX
先执行new 在构造方法。。。
|
public static int func(){ int i = 1; try{ return i++; }catch(Exception e){ return i++; }finally{ return i++; } } |
A、1
B、2
C、3
D、4
就有return,finally也照样执行。。。
7.下列关于System类的描述中,错误的是?(C )
A、System类是final关键字修饰的类,它不能被其他类所继承
B、System类不能被实例化
C、System类中定义了许多方法,但是没有定义属性 System.out.println(); System.err
D、System类中提供了获取当前系统属性的方法
有属性,比如流
8.下面关于Random类常用方法的描述中,错误的是?(D )
A、nextDouble()方法返回的是0.0和1.0之间double类型的值
B、nextFloat()方法返回的是0.0和1.0之间float类型的值
C、nextInt(int n)返回的是0(包括)和指定值n(不包括)之间的值
D、nextInt( )返回的是0(包括)和2147483647 之间的值
有负数
9.关于匿名内部类叙述正确的是?( B )
A、 匿名内部类可以继承一个基类,不可以实现一个接口
B、 匿名内部类不可以定义构造器
C、 匿名内部类不能用于形参
D、 以上说法都不正确
构造方法要跟类名同名,都匿名了,还怎么同
10.下列选项中关于Java中super关键字的说法正确的是( A )
A、 super关键字是在子类对象内部指代其父类对象的引用
B、 super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C、 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D、 子类通过super关键字只能调用父类的属性,而不能调用父类的方法
11.在使用super和this关键字时,以下描述正确的是( A )
A、 在子类构造方法中使用super()显式调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B、 super()和this()不一定要放在构造方法内第一行
C、 this()和super()可以同时出现在一个构造函数中
D、 this()和super()可以在static环境中使用,包括static方法和static语句块
12. 释放掉一个指定占据内存空间的方法是( D )。
A. 调用System.gc()方法
B. 调用free()方法
C. 赋值给该对象的引用为null
D. 程序员无法明确强制垃圾回收器运行
A、一个类可以定义多个初始化块
B、一个类只能定义一个初始化块
C、初始化块在构造方法之前执行
D、初始化块可以有修饰符 static
A 整型常量
B 整型变量
C 整型表达式
D 字符串常量
A、一个类只能有一个构造函数
B、一个类可以不显式提供构造函数
C、构造函数与类同名
D、一个类可以有多个不同名的构造函数
E、构造函数不声明返回值类型
F、无参构造方法在任何情况下都默认存在
16.关于抽象类和接口的说法,错误的有?(BCF )
A、抽象类中可以不存在任何抽象方法
B、抽象类和接口都可以有变量
C、如果一个非抽象类从抽象类中派生,不一定要通过覆盖来实现继承的抽象成员
D、抽象类和接口允许被声明
E、接口可以继承多个接口
F、抽象类和接口都可以有构造方法
一个接口可以继承多个接口.
interface C extends A, B {}是可以的. 用extends
一个类可以实现多个接口:
class D implements A,B,C{}
但是一个类只能继承一个类,不能继承多个类
class B extends A{}
在继承类的同时,也可以继承接口:
class E extends D implements A,B,C{}
|
public class Demo{ float func0() { byte i=1; return i; } float func1() { int i=1; return; } float func2() { short i=2; return i; } float func3() { long i=3; return i; } float func4() { double i=4; return i; } } |
A、func1
B、func2
C、func3
D、func4
在Java中下面Class的声明哪些是错误的?( ABC )
A、
|
public abstract final class Test { abstract void method(); } |
B、
|
public abstract class Test { abstract final void method(); } |
C、
|
public abstract class Test { abstract void method() { } } |
D、
|
public class Test { final void method() { } } |
A. public void show( String[] aa, String... a ){}
B. public void show( String... a , String[] aa){}
C. public void show( String... a ){}
D. public void show( String a, double b , String... a){}
String...a必须放在最后一个参数
20.关于main方法,说法正确的是(AC )
A. 该方法需要一个字符串数组作为参数
B. 方法的返回值类型可以更改
C. 该方法一定是静态的
D. 不能重载该方法
main 方法可以重载,但程序入口就只有那个
21.
Which are keywords in Java?(CD )
A. null
B. true
C. sizeof
D. implements
E. instanceof
null 和 true 不是。。
1. switch语句中,case后面的值必须是__常量______