数码视讯2015校园招聘Java测试题

一、选择题

1、访问修饰符作用范围从大到小是()

A. private-default-protected-public

B.public-default-protected-private

C,private-protected-default-public

D,public-protected-default-private

2、以下()不是Object类的方法?

A.clone()   B.finalize()  C.toString()  D.hasNext()

3、在Java中,以下()接口以键-值的方式对存储对象?

A. java.util.Collection

B.java.util.Map

C.java.util.List

D.java.util.Set

4、指出下列程序运行的结果是()

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 ok and gbc

二、填空题

5、Java基本数据类型包括____________________。

解答:byte、short、int、long、char、boolean、float、double

6、Math.round(11.5)等于______;Math.round(-11.5)等于_______。

解答:采用四舍五入计算,11.5的四舍五入为12,-11.5的四舍五入为-11

7、程序String str1 = "hello"; String str2 = "he"+new String("llo");System.out.println(str1==str2)的结果是______。

解答:false

8、字符串分为两大类,一类是字符串常量,使用______类的对象表示;另一类是字符串变量,使用_______类的对象表示。

解答:常量用String,变量用StringBuffer(线程安全)或StringBuiler(非线程安全)

三、问答题

9、接口与抽象类的区别是什么?

解答:1、接口的所有方法都是抽象的,抽象类可以包含具体方法

2、接口的所有方法和属性都是public,抽象类允许私有

3、接口的实现中必须实现所有方法,而抽象类的继承者中,可以实现,也可以不实现

4、实现多个接口类似于实现多重继承,但是抽象类只能实现单继承

10、利用递归方法求5!

解答:

public class Test{
	public static void main(String[] args){
		System.out.println(JC(5));
	}
	public static int JC(int n){
		if( n== 0 || n== 1)
			return 1;
		if( n > 1)
			return n*JC(n-1);
		return 0;
	}
}


11、编写多线程代码有几种实现方法?请用代码分别举例说明。

解答:两种:继承Thread类和实现Runnable接口。

class MyThread1 extends Thread{
	public void run(){
		//do Stuff
	}
}
class MyThread2 implements Runnable{
	public void run(){
		//do Stuff
	}
}


12、编程题:写一个观察者模式(先画类图,再用代码实现)。

解答:(下图及代码均来源于网络,使用请注明出处)观察者模式的类图:

代码实现:

//抽象主题
public interface Subject
{
	public void attach(Observer observer);
	public void detach(Observer observer);
	void notifyObservers();
}

//具体主题
public class ConcreteSubject implements Subject
{
	public void attach(Observer observer)
	{
		observers.add(observer);
	}

	public void detach(Observer observer)
	{
		observers.remove(observer);
	}

	public void notifyObservers()
	{
		for(Observer observer:observers){
			
		}
	}
	private List<Observer> observers = new ArrayList<Observer>();
}

//抽象观察者
public interface Observer
{
	void update();
}
//具体观察者
public class ConcreteObserver implements Observer
{
	public void update()
	{
		// doUpdate
	}
}


四、选作题

一个由10亿条记录的文本文件中,已按照关键字排序存储,设计算法,客户以快速的从文件中查找指定关键字的记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值