Java工程师认证工信部考试2

更新时间:2023-10-10 07:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

工业和信息化产业部 中级JAVA软件工程师考试

学校:____________ 学号:____________ 姓名:

______________

注意:

考试时间为120分钟,试卷总分100分,闭卷考试,请遵守考场纪律,考试严禁作弊,作弊者立即停止考试,成绩按0分处理。到时间收卷,延迟交卷按作弊处理。

多项选择会在题目后提示多选,没有提示说明默认是单选,并将选择题答案填入最后的答题卡中。

一、选择题 (共20题,每题2分, 共40分)

1) 以下代码编译报错的是?D

A. double a = 129; B.int a = 129; C. short a = 129; D.byte a = 129;

2) 以下是JAVA基本数据类型的是?(多选)AC

A. int B. String

C. double D. Boolean 基本数据类型short,boolean,开头大写为引用数据类型。除Integer为int的改写

3) 下面不是JAVA关键字的是? BC

A. break B. string C. retrun

D. throw return

4) 以下哪个异常类型描述的是引用未初始化? A

A. NullPointerException

B. ClassCastException 类型转换异常 C. NumberFormatException 数据不匹配 D. IndexOutOfBoundsException 下标越界

5) 执行下面程序,输出的结果是?B

1,public class Test{

2, public static void main(String[] args){ 3, int a = 5; 4, double b = 8;

5, a = a++ + b; int型不够装入double型

1 / 9

6, System.out.println(a); 7, } 8, }

A. 第4行编译报错 B. 第5行编译报错 C. 编译成功,输出13 D. 编译成功,输出14

6) 在 Java API 文档中哪些节是包含在class 文档内的?(多选)ABC

A、class的描述以及相关内容 B、成员变量列表 C、类的层次结构图 D、父类的方法列表

7) 关于被保护访问控制符protected修饰的成员变量,以下说法错误的是? B

A、能被同一包内的类访问,也能被同一包内的子类访问 B、只可以被两种类访问和引用:该类本身、该类的所有子类

C、可以被三种类所引用:该类本身、与它在同一个包中的其他类、在所有继承该类的子类

D、能被同一包内的类访问,也能被其它包内的子类访问

//prptected可以被同一包的类、该类的所有子类(同包&不同包)访问, 可以被该类本身,同一包的其他类和其所有继承的子类引用

8) 以下哪个可以用来描述文件和目录对象? A

A、File

B、Directory

C、FileDescriptor D、FileNameFilter

9) 执行以下代码会输出什么结果? B

public class Test { StringgetStr(String s){

return s + “hello”;

}

public static void main(String arg[]) { Test t= new Test();

System.out.println(t.getStr(“LiLei\\n”)); } }

A. 编译报错 B. LiLei hello C. LiLeihello

2 / 9

D. 无任何输出

10) 下面程序的输出结果是? A

public class Test{

public static void main(String[] args){ String s = “abc dsf ghi”;

String[] arr = s.split(“\\s”);//变成\\\\s System.out.println(arr.length); } }

A. 编译报错 C. 1 B. 2 D. 3 11) 以下的程序的执行结果为? C 1 public class Demo{

2 public double getHeight(){ 3 return 171.0; 4 }

5 public int getHeight (){ 6 return 171; 7 }

8 public static void main(String[] args){ 9 Demo demo = new Demo();

10 System.out.println(demo.getHeight()); 11 } 12 }

A.输出171.0 B. 输出171

C. 第2行和第5行编译报错 D. 第10行编译报错12) 执行以下代码后,下面哪些描述是正确的? C

1 public class Student{

2 private String name = “Jema”; 3 public void setName(String name){ 4 this.name = name; 5 }

6 public String getName(){ 7 return this.name; 8 }

9 public static void main(String[] args){ 10 Student s;

11 System.out.println(s.getName()); 12 }

3 / 9

13 }

A. 输出null

B.第10行编译报错 C.第11行编译报错 D. 输出Jema 13) JAVA面向对象的特征有? (多选)ACD

A. 封装; C. 继承; B. 类; D. 多态;

14) 以下是JAVA中正确的入口方法是? A A. public static void main(String[] args){} B. public static void main(String args){} C. public void main(String[] args){}

D. public static int main(String[] args){} 15) 关于JAVA赋值,下面哪些值的说明是正确的(多选)? ABC

A. '\\n'是表示char类型的换行字符; B. 010是表示8进制的int类型值; C. 1.0f表示float类型的值; D. 20L是表示int类型的值;//L表示long 16) 阅读以下代码:D

public class Test{

public static void main(){

System.out.println(“x=”+x); } }

请问,代码运行的结果是? A. x B. x=x C. “x=”+5 D. 编译报错 17) 执行以下代码,输出结果的结果是? C//静态的只能调用静态的,非静态

的可调用静态的 public class Test{

public String[] ss = new String[5]; public static void main(String[] args){ System.out.println(ss[1]);//报错 } }

A. null C. 编译时出错 B. -1 D. 运行时报错

4 / 9

18) 如下代码:

public void Test() { try {

oneMethod();

System.out.println(\

} catch (ArrayIndexOutOfBoundsException e) { System.out.println(\ } catch(Exception e) {

System.out.println(\} finally {

System.out.println(\} }

如果oneMethod正常运行,则输出结果中是?A A. condition 1 finally B. condition 2 finally C. condition 3 finally

D. finally //用于异常捕捉,无论是否会报异常,finally语句块都会执行。

final修饰变量,修饰成常量,值不可以改变。修饰方法,该方法不能被重写,但能被重载。修饰类,该类不能被继承。 19) 关于JAVA中数据类型描述正确的是?(多选)AD

A.double型是基本数据类型 B.Double型是基本数据类型 C.double型是引用数据类型 D.Double型是引用数据类型 20) 下面哪段语法执行正确? (多选)AC

A. String s = \ String t = \ String k = s + t;

B. String s = \ String t;

t = s[3] + \

C. String s = \

String standard = s.toUpperCase();变大写 D. String s = \ String t = s - \ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 5 / 9

二、简答题(共5题,每题5分,共25分)

1) 请简述final和finally的区别,并说明各自的用途。

finally用于异常捕捉,无论是否会报异常,finally语句块都会执行。

final修饰变量,该变量就成常量,值不可以改变。修饰方法,该方法不能被重写,但能被重载。修饰类,该类不能被继承。

2) 请描述什么是方法的重写、什么是方法的重载。 重写:

重载:

3) String如何与字节数组相互转换?请写出相应的方法。 //字符串转换成字节数组

4) 请写出面向对象的三大特征,并做简要说明。

封装:将功能封装成一个个独立的单元,减小耦合,方便对程序的修改 继承:代码重用,减少编码量,间接减少维护成本。 多态:不同的场合做出不同相应

5) 请描述一下JAVA中抽象类与接口的异同点。

6 / 9

String s = \; char[] array = s.toCharArray(); for(char arr : array){ System.out.print(arr); }

System.out.println(); //将字节数组转换成字符串

char[] array1 = {'a','t','r','a'}; String s1 = new String(array1); System.out.print(s1);

1.一个类只能继承一个抽象类,一个类可以实现多个接口 2.接口中不能含有静态代码块和静态方法,而抽象类可以

3.抽象类可以提供成员方法的实现细节,而接口中只能存在抽象方法

4.抽象类中的成员变量可以是各种类型,而接口中的成员变量只能是public static final类型

三、编程题(共2题,共35分)

1) 现有一个数组fromNums,数组的值为{76,23,98,65,21},要求实现将该数组中的值复制到另一个数组toNums中。(15分) 提示:使用System.arraycopy();

/**

* 1) 现有一个数组fromNums,数组的值为{76,23,98,65,21}, * 要求实现将该数组中的值复制到另一个数组toNums中。(15分) * @author Administrator * */

publicclass Test7 {

publicstaticvoid main(String[] args) { int[] fromNums = {76,23,98,65,21};

int[] toNums = newint[fromNums.length];

//第一种

/*for(int i = 0; i

System.arraycopy(fromNums, 0, toNums, 0, fromNums.length);

//遍历数组

for(int to : toNums){

System.out.print(to+\); } }

}

7 / 9

2) 现有一个字符串:“welcome to China!”,要求使用代码实现将该字符串转换成以下格式:“WelcomeToChina!”。(20分)

提示:首先对字符串按空格(\\s)进行分割,再将首字母变成大写。 **

* 现有一个字符串:“welcome to China!”,

* 要求使用代码实现将该字符串转换成以下格式:“Welcome_To_China!” * @author Administrator * */

publicclass Test8 {

publicstaticvoid main(String[] args) {

String s = \!\; //对字符串进行分割

String[] array = s.split(\); /*String ss = \

for(int i = 0; i< array.length;i++){ ss += array[i].substring(0, 1).toUpperCase()+array[i].substring(1); }

System.out.println(ss);*/ /*for(String a : array){ System.out.println(a); }*/

//方法二

StringBuffer sb = new StringBuffer(); for(int i = 0; i< array.length;i++){ sb.append(array[i].substring(0,

1).toUpperCase()).append(array[i].substring(1)).append(\);

}

System.out.println(sb.substring(0, sb.length()-1)); }

} 补充 /**

* 定义一个数组,在中间位置添加一个数 * @author Administrator

8 / 9

* */

publicclass Test9 {

publicstaticvoid main(String[] args) {

int[] array = {34,5,112,55,783,23,899}; int[] newArray = newint[array.length+1]; }

}

//前半部分

for(int i = 0; i< array.length/2;i++){ newArray[i] = array[i]; }

//中间部分

newArray[array.length/2] = 119; //后半部分

for(int i = array.length/2;i

for(int a : newArray){ System.out.println(a); }

9 / 9

本文来源:https://www.bwwdw.com/article/r40f.html

Top