判断题:
1-1java语言中不用区分字母的大写小写 (F)(1分)
1-2在Java程序中,可以使用private来修饰一个类(T)(1分)
1-3接口中的方法默认是public abstract方法(T) (1分)
1-4一个类可以实现多个接口(T) (1分)
1-5异常也是一个对象(T) (1分)
1-6Java语言中,变量名可以用汉字表示(T) (1分)
1-7package语句必须放到java程序的最开始(T) (1分)
1-8StringBuffer类是线程安全的,StringBuilder类是线程不安全的(T) (1分)
1-9子类不继承父类的构造方法(T) (1分)
解析:子类可以调用父类的构造方法,但是不会继承方法。
1-10子类的构造方法必须显示调用父类的构造方法。(F)(1分)
解析:可以隐式调用父类的无参构造方法。
选择题:
2-1以下关于构造函数的描述错误的是()。 (1分)
- 构造函数的返回类型只能是void型。
- 构造函数是类的一种特殊函数,它的方法名必须与类名相同。
- 构造函数的主要作用是完成对类的对象的初始化工作。
- 一般在创建新对象时,系统会自动调用构造函数。
2-2下面哪个对类的声明是错误的? (1分)
- class MyClass extends MySuperClass1, MySupperClass2 {}
- public class MyClass{}
- abstract class MyClass implements YourInterface1, Youriterface2 {}
- private class MyClass {}
- class MyClass extends MySuperClass implements YourInterface {}
解析:java当中没有多继承,一个类只能有一个父类。
2-3下列不可作为java语言标识符的是()。(1分)
- a2
- $2
- _2
- 22
2-4下面声明数组的写法错误( )。 (1分)
- int a[ ];
- int[ ] a;
- int[3][ ] a;
- int[ ][3] a;
2-5下面哪单词是Java语言的关键字( )。 (1分)
- Float
- this
- string
- unsigned
解析:
一、保留关键字
数据类型:Boolean int long short byte float double char class interface
流程控制:if else do while for switch case default break continue return try catch finally
修饰符:public protected private final void static strictfp abstract transient synchronized volatile native
动作:package import throw throws extends implements this Super instanceof new
保留字:true false null goto const
二、访问修饰符:
访问修饰符: public , protected , private
2-6如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()。 (1分)
- FileInputStream
- FileOutputStream
- DataOutputStream
- FileWriter
2-7下面哪个流类属于面向字符的输入流( ) 。 (1分)
- BufferedWriter
- FileInputStream
- ObjectInputStream
- InputStreamReader
2-8以下代码的输出结果为( )。 (1分)
public class Pass{
static int j = 20;
public void amethod(int x){
x = x*2;
j = j*2;
}
public static void main(String args[]){
int i = 10;
Pass p = new Pass();
p.amethod(i);
System.out.println(i+" and "+j);
}
}
- 错误:方法参数与变量不匹配
- 20 and 40
- 10 and 40
- 10 and 20
2-9下列哪个类的声明是正确的?( ) (1分)
- abstract final class HI{}
- abstract private move(){}
- protected private number;
- public abstract class Car{}
解析:abstract与final两个关键字一起来修饰一个类编译器会报错。
abstract是抽象类,他就是为了被继承用来修饰限制子类的属性和行为。
而final修饰的类是无法被继承的,因此这两个关键字本身就相互矛盾。
编译器显示:The class Main can be either abstract or final, not both。
2-10下面说法正确的是() (1分)
- 如果源代码中有package语句,则该语句必须放在代码的第一行
- 如果源代码中有import语句,则该语句必须放在在代码的第一行
- 如果源代码中有main方法,则该方法必须被放在代码的第一行
- 如果某文件的源代码中定义了一个public的接口,接口名和文件名可以不同
主观题:
8-2 System.arraycopy (5 分)
请解释System.arraycopy(a,2,b,3,4)的含义?
解析:
public static void arraycopy(Object src, int srcPos,Object dest, int destPos, int length)
src 源数组
srcPos 源数组的复制起点index
dest 目标数组
destPos 目标数组的赋值起点index
length 从 原数组复制的元素个数
所以System.arraycopy(a,2,b,3,4)的含义是 从a 数组的 2下标位置开始复制4个元素放到b数组中(从b的下标为3开始赋值)
如果a的长度不够,则报错下标越界,如果b的长度不够,也报错下标越界
8-3 sdust-Java-Java程序为何能够跨平台? (8 分)
请说明为何Java程序能够实现跨平台?
解析:
java实现跨平台依靠java虚拟机,因为java程序是运行在java虚拟机上的,因此只要安装了java虚拟机的平台就能够运行java程序。