Java软件工程师企业测评测试题.docx

上传人:b****5 文档编号:28494409 上传时间:2023-07-15 格式:DOCX 页数:22 大小:647.99KB
下载 相关 举报
Java软件工程师企业测评测试题.docx_第1页
第1页 / 共22页
Java软件工程师企业测评测试题.docx_第2页
第2页 / 共22页
Java软件工程师企业测评测试题.docx_第3页
第3页 / 共22页
Java软件工程师企业测评测试题.docx_第4页
第4页 / 共22页
Java软件工程师企业测评测试题.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

Java软件工程师企业测评测试题.docx

《Java软件工程师企业测评测试题.docx》由会员分享,可在线阅读,更多相关《Java软件工程师企业测评测试题.docx(22页珍藏版)》请在冰豆网上搜索。

Java软件工程师企业测评测试题.docx

Java软件工程师企业测评测试题

 

Java 软件工程师企业测评测试题

 

一、选择题:

(每题 2 分)

1.名为 HelloWorld.java 的 Java 应用程序如下:

(B)

public class HelloWorld

{

public static void main(String args[])

{

System.out.println("Hello World!

");

}

}

将这个程序放在 C:

\Test 下,然后在命令行窗口中,进入到 C:

\Test 路径执行如下指令:

javac helloworld.java 将得到什么结果?

A.  编译出错。

B.  编译成功,生成名为 HelloWorld.class 的文件。

C.  编译成功,生成名为 helloworld.class 的文件。

D. 找不到名为 helloworld.java 的文件。

2.下面的程序名为 Student.java:

B

public class Student

{

private String name;

public Student(String s_name)//1

{

name = s_name;//2

}

 

public static void main(String args[])

{

Student s = new Student();//3

}

}

使用如下指令编译:

javac Student.java。

将会得到什么结果?

A.  将会顺利通过编译,并将产生一个 Student.class 的类文件。

B.  编译时在//3 处出错。

1

C.编译时在//2 处出错。

D. 编译时在//1 处出错。

3.关于下面的类描述中正确的是:

C

class Test {// 1

void test(int i) {// 2

System.out.println("I am an int.");// 3

}// 4

void test(String s) {// 5

System.out.println("I am a string.");// 6

}// 7

// 8

public static void main(String args[]) {// 9

Test t=new Test();// 10

char ch='y';// 11

t.test(ch);// 12

}// 13

}// 14

A.  编译出错

B.  编译通过,运行出错

C.  编译通过,运行时输出“I am an int”?

D.  编译通过,运行时输出“I am a string”

4.关于下述程序:

C

public class Test3

{

public static void main(String[] agrs)

{

byte b = 2,e =3;//1

byte f = b+e;//2

System.out.println(f);  //3

}

}

描述正确的是?

A.  编译通过,运行时打印出 5。

B.  编译通过,运行时打印出 23。

C.  编译不通过,在//2 处有错误,因为此处 f 必须是一个 int 类型的变量。

D. 编译不通过,在//1 处有错误,不能这样定义变量

2

 

5.关于下述程序:

public class Divide

{

public static void main(String args[])

{

System.out.println("17.0/0 = "+17.0/3);//1

System.out.println("17/0 = "+17/3);//2

}

}

描述正确的是?

编译通过,运行 17.0/0=5.66666666666666?

  17/0=5

A.  编译出错

B.  编译通过,运行时//1、//2 处均出现异常

C.  编译通过,运行时//1 处得到一个无穷大值,//2 处将出现异常

D. 编译通过,运行时//1 处出现异常,//2 处将得到一个无穷大值

6.关于下述程序:

D

public class Test4

{

public static void main(String[] agrs)

{

double x = 1.234;//1

double y = 2;//2

System.out.println(""+x+y);//3

System.out.println(x+y+"");//4

}

}

描述正确的是?

A.  编译出错。

B.  编译通过,执行的时候在//2 处报错。

C.  编译通过,执行时在//3 处打印出 3.234,在//4 处打印出 3.234。

D.  编译通过,执行时在//3 处打印出 1.2342.0,在//4 处打印出 3.234。

 

8.下述程序:

C

public class Test9

{

static int i = 1;

static

3

{

i++;

}

public Test9()

{

i++;

}

public static void main(String[] args)

{

Test9 t1 = new Test9();

System.out.println(t1.i);  //12

 

Test9 t2 = new Test9();

System.out.println(t2.i);  //2

}

}

编译运行后在//1 和//2 处分别打印出什么值?

A.2 和 2B.  3 和 3C.  3 和 4D.  4 和 3

9.关于下述三个接口:

A

public interface IA

{

public void methodA();

}

public interface IB

{

public void methodB();

}

public interface IC extends IA,IB

{

public void methodA();

}

正确的是?

A.  接口 IC 不能通过编译,因为它继承了两个接口。

4

B.  接口 IC 不能通过编译,因为它定义了一个和 IA 中一样的方法 methodA()。

C.  接口 IC 不能通过编译,因为它继承了两个接口,并且还定义了一个和 IA 一样的 methodA()方法。

D. 接口 IC 能够顺利通过编译。

10.下述语句执行结果为:

A

int[] arr = new int[10];

A.arr[0] 是 0B.  arr[9] 是 0

C.arr[10]是 0D.  arr[0] 是 null

11.关于 break 和 continue 语句,下面哪些说法是错误的?

AD

A.  break 只能用于循环语句中。

B.  continue 只能用于循环语句中。

C.  在循环语句中,break 语句将终止循环;而 continue 是略过当前循环中剩余的语句进入下一次循环。

D.  在循环语句中,continue 语句将终止循环;而 break 是略过当前循环中剩余的语句进入下一次循环。

12.下面哪些标识符是合法的?

ABD

A.IAMAClassB.  $byteC.  constD.  _year

13.关于垃圾收集的哪些叙述是对的?

B

A.  程序开发者必须自己创建一个线程进行内存释放的工作。

B.  垃圾收集将检查并释放不再使用的内存。

C.  垃圾收集允许程序开发者明确指定并立即释放该内存。

D. 垃圾收集能够在期望的时间释放被 java 对象使用的内存。

14.下面的程序的输出结果是:

()B

class SuperClass {

static {

System.out.println("---SuperClass---");

}

SuperClass() {

System.out.println("SuperClass()");

}

public static void main(String[] args) {

SubClass sc = new SubClass();

}

}

class SubClass extends SuperClass {

static {

System.out.println("---SubClass---");

}

SubClass() {

System.out.println("SubClass()");

5

}

}

A.  SuperClass/SubClass/SuperClass()/SubClass()/

B.  SuperClass/ SuperClass()/SubClass /SubClass()/

C.  SubClass / SuperClass / SubClass()/SuperClass()/

D. SubClass/ SubClass()/SuperClass / SuperClass()/

15.下面程序的运行结果是:

( A )

class SuperClass {

public void f() {

System.out.print("SuperClass.f()/");

}

}

class SubClass extends SuperClass {

public void f() {

System.out.print("SubClass.f()/");

}

}

 

class ThirdClass {

public void g(SuperClass arg) {

System.out.print("g(SuperClass)/");

arg.f();

}

public void g(SubClass arg) {

System.out.print("g(SubClass)/");

arg.f();

}

public static void main(String[] args) {

ThirdClass tc = new ThirdClass();

SuperClass sc = new SubClass();

tc.g(sc);

}

}

A.g(SubClass)/SubClass.f()/B.  g(SuperClass)/SuperClass.f()/

C.g(SuperClass)/SubClass.f()/D. g(SubClass)/SuperClass.f()/

 

6

16.取出字符串 String target = "IbmSunJavaBeaWeblogicOracle..."中的子串“Java”的语句是:

(B )

A.target.substring(5,10);B.  target.substring(6,10);java

C.target.substring(5,9);D.  target.substring(6,9);  jav

17.下列描述正确的是:

( B )

A.  hashCode 返回是对象在内存唯一的标识,对象不同,hashCode 返回值一定不同。

B.  hashCode 方法可以重写,但重写的逻辑要和 equals 保持一致性。

C.  语句 System.out.println("java"=="java");打印出的结果为“false”。

D. HashSet 容器在存放某一类的对象时,改变该类的 hashCode 方法可能会影响到 HashSet 容器的效率

18.属于 Collection 容器的方法是:

( AC)

A.iteratorB.hasNextElementC.toArrayD. next

19.下列三条输出语句输出的结果为:

( C )

System.out.print(Math.floor(156.1)+"/");

System.out.print(Math.ceil(-166.3)+"/");

System.out.print(Math.round(-123.5)+"/");

A.156.0/-167.0/-124/B.  157.0/-167.0/-123/

C.157.0/-166.0/-124/D. 156.0/-166.0/-123/

20.下面的程序会有编译错误,更正的方法为:

( ABC )

class OuterClass {

public void f() {

String s1 = "inner";

class InnerClass {

public void g() {

System.out.println(s1);

}

}

}

}

A.将变量 s1 声明为 staticB.  将变量 s1 声明为 public

C.将变量 s1 声明为 finalD. 将内部类 InnerClass 声明为 static

21.已有接口定义:

B

package test;

public interface Role {

public void action() throws java.io.IOException;

}

 

7

下面的类定义不会有编译错误的是:

A.

package test;

public class A implements Role {

public void action() throws java.io.FileNotFoundException {}

}

B.

package test;

public class B implements Role {

public void action() throws java.io.IOException {}

}

C.

package test;

public class C implements Role {

public void action() {};

}

D.

package test;

public class D implements Role {

public void action() throws Exception {}

}

 

22.下面的程序输出的结果为:

public class Test {

public static void main(String[] args) {

StringBuffer buffer = new StringBuffer();

int value = 18;

do {

int temp = value & 0x07;

buffer.append(temp);

}while((value>>>=3)!

=0);

System.out.println(buffer.reverse());

}

}

A.24B.23C.25D. 22?

?

?

 

8

二、简答题:

(每题 4 分)

1. 简述单例模式的思路,并且写出一种实现方案:

 

2. 接口,抽象类,具体类如何搭配使用

 

3. 简述 java 的异常处理机制

 

4.写出 private、public、protected 以及 Default 各自的访问范围:

 

5.用简短的语言解释下列词汇

a)JVM

b)垃圾回收机制

c)多态

d)动态绑定

e)关键字 synchronized(同步代码块)

 

三、编程题(每题 8 分)

1.写一个类,当该类的实例创建时即启动一个线程,按照指定格式每隔 5 秒循环打印出当前的时间(提

示:

使用 Runnable 接口或内部类创建线程。

(结合 run 接口和 thread)

public class ThreatDemo implements Runnable{

public ThreatDemo(){

Thread t=new Thread(this);

t.start();

}

public void run() {

while (true){

Date date=new Date();

9

SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:

mm:

ss");

try{

Thread.sleep(5000);

}catch(InterruptedException e){

e.printStackTrace();

}

System.out.println(s.format(date));

}

}

public static void main(String[] args) {

ThreatDemo fg = new ThreatDemo();

}

System.out.println("打印当前时间——>");

}

2.写一个程序统计输入字符串中以“,”分隔的各种单词出现的次数。

例如:

输入的字符串为

“java,java,j2ee,ibm,j2ee,ibm,j2me,java”,则该程序的输出结果应该为:

java3 个;j2ee2 个;ibm2 个;j2me1 个。

public static void main(String[] args) {

String str = "java,java,j2ee,ibm,j2ee,ibm,j2me,java";

String s[] = str.split(",");

int a[] = new int[s.length];

for(int i = 0;i

String temp = new String((String) s[i]);

for(int j = 0;j

if(temp.equals(s[j]))a[i]++;

}

}

Set set = new HashSet();

for(int i = 0;i

set.add(s[i]+a[i]);

}

Iterator iter = set.iterator();

while(iter.hasNext()){

}

}

System.out.println(iter.next()+"个");

}

3.已知在文件路径“c:

\temp\target.bmp”,写出 Java 程序将该文件同名拷贝到路径“c:

\bak”下。

注意:

由于文件较大,应考虑到程序的效率问题。

public class CopyDemo {

public static void main(String[] args) throws Exception {

File f1=new File("d:

"+File.separator+"demo.txt");

File f2=new File("c:

"+File.separator+"demo.txt");

InputStream input=null;

input=new FileInputStream(f1);

OutputStream out=null;

out=new FileOutputStream(f2);

if(input!

=null&&out!

=null){

int temp=0;

while((temp=input.read())!

=-1){ 1.f2必须有所考文件名吗 是的2.c盘不需要提前创建所

拷贝的文件  是的3.d盘中所要考文件输入内容能否被写入c盘呢,可以4.f1中的文件名必须与f2中的文件名

一致吗  可以不一样。

out.write(temp);

}

System.out.println("拷贝完成!

");

10

}else{

System.out.println("拷贝失败!

");

}

input.close();

out.close();

}

}

4.写出一段程序,从备选字符串“red”、“green”、“blue”、“black”、“white”中随机选出 3 个不同

的字符串,并打印到控制台。

public class Color {

public static void main(String[] args) {

String str="red,green,blue,black,white";

Random r=new Random();

String[] s=str.split(",");

Set set=new HashSet();

for(int i=0;i

set.add(r.nextInt(5));

if(set.size()==3)

break;

}

Iterator i=set.iterator();

while(i.hasNext()){

//System.out.println(i.next());

System.out.println(s[(Integer)i.next()]);

}

}

}

 

11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1