当前位置:文档之家› 第一阶段测试题corejava

第一阶段测试题corejava

1 编译java程序的命令是 javac ;运行java程序的命令是________;
产生java文挡的命令是________;查询java类型是否是serializable类型的命令是________;
产生java安全策略文件的命令是________;产生类型归档文件.jar的命令是________。BADCEF
A. java B. javac C. serialver
D.javadoc E.policytool F.jar

2 在一个java源文件中的三个顶级元素,按顺序分别是是_____package improt class___。

3 下面叙述正确的有___________CDEF_________。
A.在一个java源文件中只能定义一个class
B.在一个java源文件中只能定义一个interface
C.在一个java源文件中可以定义多个class
D.在一个java源文件中可以定义多个interface
E.在一个java源文件中可以定义多个class和interface
F.在一个java源文件中只能定义一个public class

4 java程序中程序运行入口方法main的签名正确的有_____A B _D__F G。
A.public static void main(String args[])
B.static public void main(String[] args)
C.public void static main(String[] args)
D.static public void main(String... args)
E.public void main(String args[])
F.public static void main(String... args)
G.public static void main(String[] test)

5 以下能作为class, interface, method或variable有效标识符的有______ADFGM _____(非字母表示可以)_____
A.For B.boolean C.23age
D. _id E.my name F. $this_is_a_long_variable_name_very_very_long
G.NULL H.#Yes I.goto J.default K.native L.volatile M.帅锅(可以表示)

char 2个字节 16bit

6.以下能作为char类型的字面值的有______CDEH__。
A. char c=“x” B. char c=‘\u12’ C.char c=’\u0012’ D.char c='帅'
E.char c=250 F.char c=250250 G.int x=5;char c=x H.char c=0xf;

7 byte、int、double、short、float、long、char、boolean的字节长度分别为____14824821_____________。

8 以下正确的有____A_CD_FGIJK__。
A. int i = 32; B.float f = 45.32; *(默认为double) C. double d=3.2; D.long l=99;
E. byte=128; (1个字节 -127----128) F.Boolean b=null; G. long l=0xfffL; H.int i=11l; I.double d=5.2E12
J. int i,j,k=0; K int i=0;int j=i=5; L.long l=10248920320; M.int i=10248920320;

9 以下返回true的表达式有__ACE______。
A. “george” == “george”相当于常量比较 B.”george” = “george”
C. “george”.equals(new String(“george”)) 比较的是内容 D. “george” == new String(“george”)
E."google"==new String("google").intern(); 返回的是字符串的内容

10 根据以下程序选择正确答案__C______:
public class Test {
static int total = 10;
public static void main (String args []) {
new Test();
}
public Test () {
System.out.println("In test");
System.out.println(this);
int temp = this.total;

if (temp > 5) {
System.out.println(temp);
}
}
}
A. 编译出错 B.运行时有异常 C. 编译运行都正确

11 下面数组定义正确的有__BD______。
A. String strs[] = { ‘a’ ‘b’ ‘c’};
B. String[] strs = {“a”, “b”, “c”};
C. String[] strs = new String{“a” ”b” ”c”};
D.String strs[] = new String[]{“a”, “b”, “c”};
E.String[] strs = new String[3]{“a”, “b”, “c”};不能指定长度
F. String[] strs = {“a”, “b”, “c”,};
G.String[] strs = {'a','b','c'};

12 switch语句支持一下哪种类型___ABCHI_____。
A.int B.short C.char D.float E.double F.boolean G.long H.enum I.byte J.String K.Object

13 class Base{
public Base(String s){
System.out.println("Base: "+s);
}
}
class SubA extends Base{
public SubA(String s){
****//super(); 调用无参数构造函数
System.out.println("SubA: "+s);
}
}
class SubB extends SubA{
public SubB(){
super("Hello World");
System.out.println("SubB : Hello World.");
}
public static void main(String[] args){
new SubA(null);
new SubB();
}
}
请问上述程序的是___A___________
A.编译不通过
B.编译通过,但是运行时报错

C.Base: null
SubA: null
Base: Hello World
SubA: Hello World
SubB : Hello World

D.SubA: null
SubB : Hello World

E.SubA: null
SubA: Hello World
SubB : Hello World

14 以下方法声明正确的有___A__D___________。
A.public static synchronized void writeLog(String msg)
B. synchronized public static writeLog(String msg) 没有返回类型
C. public final abstract void writeLog(String msg) 不允许被重写
D.final public void writeLog(String msg)
E.abstract synchronized void writeLog(String msg) abstract与 synchronized矛盾

15 Java变量分为基本类型与引用类型,
其中基本类型分别为__________byte int short char long float double boolean____________________________,
引用类型大体划分为____类类型 接口类型 数组____________________________,
Java方法的参数传递对于基本数据类型如int, byte等,参数传递是__值传递 (按值传递)______;对自定义数据类型,参数传递是___传引用 ( 传地址_)____。

16 如下程序:
public class ArugmentTest{ //先找程序入口点 (wed 前台往后)
static class IntA{
private int a;
public IntA(int a){ this.a = a; } //5
public int getA() { return a; }
public void setA(int a){ this.a = a; }
}

static public void change(int a){
a = 3; 不同范围
}

static public void change(IntA a){
a.setA(3);//赋值
}

static public void changeRef(IntA a){
a = new IntA(9);
}

public static void main(String[] args){
int a = 2; 在不同范围
change(a);
System.out.print(a);
IntA ia = new IntA(5); //调用构造方法
change(ia); //5
System.ou

t.print(ia.getA()); //3
ChangeRef(ia);3
System.out.println(ia.getA());
}
}
在控制台上输出的是____A____。 //传值 传引用
A. 2 3 3 B.333 C.259 D.339

17 方法重载(overloading)必须满足__CE______。
A. 在不同class中定义的方法 B.在同一类中定义的方法
C. 方法名必须相同 D.返回类型必须相同
E. 参数一定不同 (类型 数量 顺序) F.参数可以相同

18 对于构造方法(constructor)描述正确的有__A C _E_____。
A. 构造方法没有返回类型 B.构造方法一定是public的方法
C.如果果我们没有显示定义构造方法,系统会提供一个缺省的
D.构造方法不能重载 //可以重载 E.构造方法可以相互调用

19 以下对于方法覆盖(overriding)的说法正确的有___BCDGH____。
A.方法覆盖发生在同一类中 B.方法的覆盖发生在子类型中
C.方法名一定要一样 D.参数一定要一样
E.返回类型可以不一样 F.访问权限只能一样 //可见性不能被缩小 异常不能被扩大
G.如有异常,子类型中抛出的异常与父类型中的一致或是其子类型
H.静态方法可以被静态方法覆盖

20 请看以下程序:
class Vehicle {
public void drive() {
System.out.println("Vehicle: drive");
}
}

class Car extends Vehicle {
public void drive() {
System.out.println("Car: drive");
}
}

public class Test {
public static void main (String args []) {
Vehicle v;
Car c;
v = new Vehicle();//创建对象
c = new Car(); //创建对象
v.drive();
c.drive();
v = c; //多太 ;父类的引用可以指向子类的对象
v.drive();
}
}
以下描述正确的有 C________。
A.对于语句v=c;会导致编译错误 B.对于语句v=c;会导致运行错误
C.运行输出:
Vehicle: drive
Car: drive
Car: drive
D.运行输出:
Vehicle: drive
Car: drive
Vehicle: drive

21 以下描述正确的有_A B _C __D____。
A. final class不能被继承 B.final变量不能被修改
C.final成员变量可以在构造方法中赋值(只能被赋值一次)
D.final方法不能被覆盖(overriden) E.final static变量只能在声明时赋值

22 以下描述正确的有__BCDEFH______。
A.abstract class一定有abstract method(s)
B.abstract class可以没有abstract method(s)
C.定义abstract class的目的是为了被继承
D.interface中定义的方法全是abstract methods//接口是特殊的抽象类
E.interface中定义的变量全部是final static变量
F.abstract class一定没有构造方法//抽象方法不能new的
G.abstract class只能有public static final 变量
H.interface中的变量(指的是常量)访问权限只有public

23 inner class的类型有___ABCD_____。
A.member inner class B.sta

tic inner class
C.local inner class D.anonymous inner class
E.public inner class F.global inner class

24 一个匿名的内部类有可能__ABD______。
A.继承其他的类 B.实现了某一接口
C.定义了构造方法 D.可以使用成员变量

25 如果你想将一组对象按一定顺序存取,在不考虑并发访问的情况下会使用__C______, 反之则会使用 A________;
如果你想存储一组无序但唯一的对象,你会使用___B_____;
如果你想按关键字对对象进行存取,在不考虑并发访问的情况下会使用__D______, 反之则会使用_ E_______。
A.Vector B.HashSet C.ArrayList 和[数组]一样
D.HashMap E.Hashtable

26 程序代码:
public class ExceptionTest{
public double div(double a, double b){
try{
return a/b;
}catch(Exception e){
System.out.println(“Exception thrown”); //没有指定返回值
}catch(Throwable t){
System.out.println(“Throwable thrown”);
return 0.0;//*****
}finally{
System.out.println(“Release resources.”);
}
}

public static void main(String[] args){
ExceptionTest et = new ExceptionTest();
et.div(1, 2);
et.div(3.4, 0);
}
}
可能产生的结果是____A____:
A. 编译不成功 B.运行出错

C.程序运行输出为:
Release resources.
Exception thrown
Release resources.

D.程序运行输出为:
Release resources.
Exception thrown
Throwable thrown
Release resources.

E.程序运行输出为:
Release resources.
Throwable thrown

27 事件处理方式采用了observer(观察者)设计模式,事件编程模式三要素是__A______、__B______和___C_____。
其中, ____B____通常继承java.util.EventObject, ____C____通常继承java.util.EventListener。
A.Event source B.Event object
C.Event listener D.Helper E.Model

28 创建线程(Thread)的方式有两种,一种是继承类___B_____,另一种是实现接口___C_____。
启动线程的方法是_____D___。线程启动后运行的是_ A_______里的代码。
A.run B.Thread C.Runnable D.start
//------------------------
Thread t1= new Thread1();
thread t2 = new Thread2();




29 并发控制是多线程编程的难点。一个线程要等待某个条件的满足,调用方法___B_____;
通知某一个处于等待状态线程的方法是______A__,通知多个的是______D__;
处于等待状态的线程当前调用的方法或程序块用关键字___C_____来限制。
一段线程不安全的代码,使用___C______关键字实现代码块单线程运行。
运行中线程等待另一个线程结束调用线程的___F___方法。暂时让出执行权调用___G___方法。
A.notify B.wait C.synchronized D.notifyAll E.interrupt F.join G.yield

30 对原始数据的读写,

采用流___A_____和____H____,为了提高性能,采用流___F_____和I_______;
对各种基本数据类型和String类型的读写,采用流___B_____和_____G___;
读写文本类型采用__C______和__J______,方便读写文本行采用流_ E_______和__K______;
对象读写采用流_____L___和____M____;能指定字符编码的I/O流类型是___D_____和___N_____。
A. InputStream B.DataInputStream C. Reader D.InputStreamReader
E.BufferedReader F.BufferedInputStream G.DataOutputStream H.OutputStream
I.BufferedOutputStream J.Writer K.PrintWriter
L.ObjectInputStream M.ObjectOutputStream N.OutputStreamWriter


//-------------------------
方向:输入输出
InputStream/
reader / writer

数据; 字节 字符
stream reader/writer
功能 原生流(数据流) 针对的是数据源(文件 网络)
过滤流:方便使用

FileInputStream fi = new FileInputStream("con.txt"); 输入 字节 原生流
InputStream isr = new InputStreamReader(fi."GBK");// 过滤流
BufferReader br = new BufferReader(isr); // 输入 字符 过滤
/* BufferReader br = new BufferReader
(new InputStreamReader(new FileInputStream("path"))); // 输入 字符 过滤*/
String s=null;
while(s= br.readLine())!=null){
System.out.println(s);
}

31 在本地文件系统下有一个用GBK编码的文本文件conf.txt,编写一个静态方法能够正确输出该文件的文本内容在控制台:
public static String readFile(String url){
InputStream is = ......
//用户编写
---------------------------
FileInputStream fi = new FileInputStream("con.txt"); 输入 字节 原生流
InputStream isr = new InputStreamReader(fi."GBK");// 过滤流
BufferReader br = new BufferReader(isr); // 输入 字符 过滤

String s=null;
while(s= br.readLine())!=null){
System.out.println(s);
}
----------------------------

.....
}

32 一个File对象是文件或目录在内存中的表示,File类型中定义了方法__D____来判断一个文件是否存在,
定义方法______A__创建一个新文件,定义方法___C_____删除一个文件,定义方法_B______改变文件名,
定义方法____F____创建一级目录,定义方法___E_____同时创建一个目录层次。
对原始数据类型文件的操作用文件I/O流_H_______和_____K___;
对文本文件操作用文件I/O流_____G___和_J_______;同时对一个文件进行读写操作用文件流__I______。
A.createNewFile B.renameTo C.delete D.exists
E.mkdirs F.mkdir G.FileReader
H.FileInputStream I.RandomAccessFile J.FileWriter
K.FileOutputStream

33 Java 网络编程,传输层编程主要针对两种协议,分别是传输可靠的__TCP_____和不可靠的__UDP_______


其中UDP编程主要用到的两个类型是_____DatagramSocket___和_DatagramPackage_______。发送和接收信息的方法是_send/receive_______。
TCP编程,监听端口主要用到的类是_________,调用它的____accept___方法开始监听,该方法返回类型为___Socket_______。

34 如果自行构建的一个Java类想要自定义判断对象相等的规则,
则需要重写其____equals__方法,同时还需要重写他的___HashCode___________方法。

35 下列代码哪几行会出错: 7
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;//
8) I--;
9) }
10}

36 请使用递归编写一个方法,功能为返回一个数的阶乘。
public static long factorial(int i){

if(i==1||i==0)
{
return 1;
}
if(i<0)
{
//提示
}
return i*factorial(i-1);
}

37 请简述&,|与&&,||的区别
&,| 位运算符 逻辑运算符
都可以用来逻辑判断 双 短路的逻辑运算符



**********
int a=1;
if(a==0&&b==0&&c==0){
.............(短路 不进行其他的运行)
}
************
38

import java.util.*;
public class Test{
public static void main(String[] args){
List list = new ArrayList(){{ //赋初值
add("hahaha");
add(null);
}};
list.add("good");
list.add(null);
list.add(null);
list.add("yes");
for(Object o:list){
System.out.print(o+"\t");
}
}
}


请写出上述代码的运行结果:__D_______
A.编译不通过
B.编译通过,但运行报错
C.good null null yes
D.hahaha null good null null yes
E.hahaha good yes
F.good yes

39 下列表达式中值为true的有哪些?_____A_______
A.new TreeMap() instanceof Map;
B.new HashMap() instanceof Collection;
C.new TreeSet() instanceof Collection;
D.new Properties() instanceof Map;
E.new Properties() instanceof HashMap;

app.porperties 资源文件





40 public static int math(Integer i){
try{
int t = i%10;
return i+(t>=5?(10-t):-t);
}catch(Exception ex){
System.out.println("exception");
return -1;
}finally{
return -5; //先执行
}
}
下列判断正确的是______C____________
A.方法编译不通过
B.静态方法返回的是一个距离输入整数最近的一个末位为0的整数
C.方法永远返回-5
D.System.out.println("exception");永远不会被执行
E.当方法出错时会返回-1
F.finally中的return永远不会被执行


41 Unix的shell命令中,切换访问目录的命令是__cd_____,查看当前工作路径的命令是__pwd______。
查看目录下的文件的命令是___ls____,如果希望查看隐藏文件则加入参数___-a_____,
希望递归访问目录下所有文件的参数_-r____,想要列出文件详细信息则输入参数_-l________。
创建目录的命令为______mkdir___。复制、移动、删除的

命令分别为_cp mv rm ______。重命名文件的命令为__mv+新文件名_____。

42 在Unix中设置一个文件权限的命令为____chmod____,644表示该文件的权限是___(权限)rwx 421 拥有者wr 组成员r 其他 r_______。
进入一个目录文件需要拥有的权限是__x______,查看一个目录下的文件应该对该目录拥有的权限是___r____,
想要在一个目录中创建、删除文件或目录需要具有改用的权限为__w(可写)_______。

43 在Unix中,想要将执行某命令执行结果不输出在屏幕上,而是输出到一个文件中。那么使用_>>(>)_____来实现。
想要将前一条命令的执行结果作为后一条命令的输入,则使用__|-(管道符号)___来实现。

44 可以查看一个文件内容的四个常用命令为_____cat more head tail __________。

45 在vi的使用中,在命令模式下转入输入模式,在当前光标位置插入按键为_i______,在光标所在下一行插入一个空行按键为__o______,
在命令模式下删除一个字符按键为_x_____,删除一行的按键为____dd______。
在命令模式下拷贝一行的按键为___yy___,粘贴为___p____。在底行模式(Last-line Model)下拷贝,则输入命令为___co_____。
在底行模式下,保存文件使用___w___,退出___q____,强制退出__q!__
46 在Unix中想要在家(home)目录及子目录中查找文件名为 web.xml的文件则输入命令___find ~ -name wed.xml___________,
想查看当前系统中运行的进程中和java相关的有哪些以及看到他们的进程id,则输入命令__ps -e|grep java___________。

47 xml,可扩展标记语言。验证一个xml的有效性的技术主要有两种,分别是__dtd_____和___schema_____。

48 Java解析Xml的技术,主要有两种。其中顺序的读取xml,基于事件处理的技术是___SAX_______。
将整个文档读取进入内存,构建成一个文档树的技术是___DOM_________。
其中______DOM__________技术可以对xml进行增删改。

49 泛型与增强for循环(for-each)是jdk1.5(Java5)新增加的特性,用于简化程序员编程操作,提高代码可读性。
下面要求构建一个有序的集合,手工添加若干字符串“aaaa”,"bbb","ccc","dd"。然后按输入顺利遍历集合,并打印出字符串。
请使用传统没有泛型和传统的循环语句,以及泛型和增强for循环分别实现代码。















50 请编写一个方法,功能是实现传入两个正整数,返回他们的最大公约数
public static int math(int a,int b){
if(a<=0||b<0)throw new ||legalArgument Exception("正数!!!");
int max, min;
if(a-b<0)
{
max = a;
min = b;
}
else
{
max = b;
min = a;
}
if(max%min==0)
return min;

int result = -1;
for(int i=1;i{
if(max%i = 0 && min%i = 0)
}
return result;
}

相关主题
文本预览
相关文档 最新文档