Java工程师认证工信部考试2doc.docx
《Java工程师认证工信部考试2doc.docx》由会员分享,可在线阅读,更多相关《Java工程师认证工信部考试2doc.docx(13页珍藏版)》请在冰豆网上搜索。
Java工程师认证工信部考试2doc
工业和信息化产业部
中级JAVA软件工程师考试
学校:
____________学号:
____________姓名:
______________
注意:
考试时间为120分钟,试卷总分100分,闭卷考试,请遵守考场纪律,考试严禁作弊,作弊者立即停止考试,成绩按0分处理。
到时间收卷,延迟交卷按作弊处理。
多项选择会在题目后提示多选,没有提示说明默认是单选,并将选择题答案填入最后的答题卡中。
一、选择题(共20题,每题2分,共40分)
1)以下代码编译报错的是?
D
A.doublea=129; B.inta=129;
C.shorta=129; D.bytea=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.throwreturn
4)以下哪个异常类型描述的是引用未初始化?
A
A.NullPointerException
B.ClassCastException类型转换异常
C.NumberFormatException数据不匹配
D.IndexOutOfBoundsException下标越界
5)执行下面程序,输出的结果是?
B
1,publicclassTest{
2,publicstaticvoidmain(String[]args){
3,inta=5;
4,doubleb=8;
5,a=a+++b;int型不够装入double型
6,System.out.println(a);
7,}
8,}
A.第4行编译报错
B.第5行编译报错
C.编译成功,输出13
D.编译成功,输出14
6)在JavaAPI文档中哪些节是包含在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
publicclassTest{
StringgetStr(Strings){
returns+“hello”;
}
publicstaticvoidmain(Stringarg[]){
Testt=newTest();
System.out.println(t.getStr(“LiLei\n”));
}
}
A.编译报错
B.LiLei
hello
C.LiLeihello
D.无任何输出
10)下面程序的输出结果是?
A
publicclassTest{
publicstaticvoidmain(String[]args){
Strings=“abcdsfghi”;
String[]arr=s.split(“\s”);//变成\\s
System.out.println(arr.length);
}
}
A.编译报错
B.2
C.1
D.3
11)以下的程序的执行结果为?
C
1publicclassDemo{
2publicdoublegetHeight(){
3return171.0;
4}
5publicintgetHeight(){
6return171;
7}
8publicstaticvoidmain(String[]args){
9Demodemo=newDemo();
10System.out.println(demo.getHeight());
11}
12}
A.输出171.0
B.输出171
C.第2行和第5行编译报错
D.第10行编译报错
12)执行以下代码后,下面哪些描述是正确的?
C
1publicclassStudent{
2privateStringname=“Jema”;
3publicvoidsetName(Stringname){
4this.name=name;
5}
6publicStringgetName(){
7returnthis.name;
8}
9publicstaticvoidmain(String[]args){
10Students;
11System.out.println(s.getName());
12}
13}
A.输出null
B.第10行编译报错
C.第11行编译报错
D.输出Jema
13)JAVA面向对象的特征有?
(多选)ACD
A.封装;
B.类;
C.继承;
D.多态;
14)以下是JAVA中正确的入口方法是?
A
A.publicstaticvoidmain(String[]args){}
B.publicstaticvoidmain(Stringargs){}
C.publicvoidmain(String[]args){}
D.publicstaticintmain(String[]args){}
15)关于JAVA赋值,下面哪些值的说明是正确的(多选)?
ABC
A.'\n'是表示char类型的换行字符; B.010是表示8进制的int类型值;
C.1.0f表示float类型的值; D.20L是表示int类型的值;//L表示long
16)阅读以下代码:
D
publicclassTest{
publicstaticvoidmain(){
System.out.println(“x=”+x);
}
}
请问,代码运行的结果是?
A.x
B.x=x
C.“x=”+5
D.编译报错
17)执行以下代码,输出结果的结果是?
C//静态的只能调用静态的,非静态的可调用静态的
publicclassTest{
publicString[]ss=newString[5];
publicstaticvoidmain(String[]args){
System.out.println(ss[1]);//报错
}
}
A.null
B.-1
C.编译时出错
D.运行时报错
18)如下代码:
publicvoidTest(){
try{
oneMethod();
System.out.println("condition1");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("condition2");
}catch(Exceptione){
System.out.println("condition3");
}finally{
System.out.println("finally");
}
}
如果oneMethod正常运行,则输出结果中是?
A
A.condition1finally
B.condition2finally
C.condition3finally
D.finally//用于异常捕捉,无论是否会报异常,finally语句块都会执行。
final修饰变量,修饰成常量,值不可以改变。
修饰方法,该方法不能被重写,但能被重载。
修饰类,该类不能被继承。
19)关于JAVA中数据类型描述正确的是?
(多选)AD
A.double型是基本数据类型
B.Double型是基本数据类型
C.double型是引用数据类型
D.Double型是引用数据类型
20)下面哪段语法执行正确?
(多选)AC
A.Strings="Gonewiththewind";
Stringt="good";
Stringk=s+t;
B.Strings="Gonewiththewind";
Stringt;
t=s[3]+"one";
C.Strings="Gonewiththewind";
Stringstandard=s.toUpperCase();变大写
D.Strings="homedirectory";
Stringt=s-"directory";
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
二、简答题(共5题,每题5分,共25分)
1)请简述final和finally的区别,并说明各自的用途。
finally用于异常捕捉,无论是否会报异常,finally语句块都会执行。
final修饰变量,该变量就成常量,值不可以改变。
修饰方法,该方法不能被重写,但能被重载。
修饰类,该类不能被继承。
2)请描述什么是方法的重写、什么是方法的重载。
重写:
重载:
3)String如何与字节数组相互转换?
请写出相应的方法。
//字符串转换成字节数组
Strings="welcometozjxy";
char[]array=s.toCharArray();
for(chararr:
array){
System.out.print(arr);
}
System.out.println();
//将字节数组转换成字符串
char[]array1={'a','t','r','a'};
Strings1=newString(array1);
System.out.print(s1);
4)请写出面向对象的三大特征,并做简要说明。
封装:
将功能封装成一个个独立的单元,减小耦合,方便对程序的修改
继承:
代码重用,减少编码量,间接减少维护成本。
多态:
不同的场合做出不同相应
5)请描述一下JAVA中抽象类与接口的异同点。
1.一个类只能继承一个抽象类,一个类可以实现多个接口
2.接口中不能含有静态代码块和静态方法,而抽象类可以
3.抽象类可以提供成员方法的实现细节,而接口中只能存在抽象方法
4.抽象类中的成员变量可以是各种类型,而接口中的成员变量只能是publicstaticfinal类型
三、编程题(共2题,共35分)
1)现有一个数组fromNums,数组的值为{76,23,98,65,21},要求实现将该数组中的值复制到另一个数组toNums中。
(15分)
提示:
使用System.arraycopy();
/**
*1)现有一个数组fromNums,数组的值为{76,23,98,65,21},
*要求实现将该数组中的值复制到另一个数组toNums中。
(15分)
*@authorAdministrator
*
*/
publicclassTest7{
publicstaticvoidmain(String[]args){
int[]fromNums={76,23,98,65,21};
int[]toNums=newint[fromNums.length];
//第一种
/*for(inti=0;itoNums[i]=fromNums[i];
}*/
System.arraycopy(fromNums,0,toNums,0,fromNums.length);
//遍历数组
for(intto:
toNums){
System.out.print(to+"");
}
}
}
2)现有一个字符串:
“welcometoChina!
”,要求使用代码实现将该字符串转换成以下格式:
“WelcomeToChina!
”。
(20分)
提示:
首先对字符串按空格(\s)进行分割,再将首字母变成大写。
**
*现有一个字符串:
“welcometoChina!
”,
*要求使用代码实现将该字符串转换成以下格式:
“Welcome_To_China!
”
*@authorAdministrator
*
*/
publicclassTest8{
publicstaticvoidmain(String[]args){
Strings="welcometoChina!
";
//对字符串进行分割
String[]array=s.split("\\s");
/*Stringss="";
for(inti=0;iss+=array[i].substring(0,1).toUpperCase()+array[i].substring
(1);
}
System.out.println(ss);*/
/*for(Stringa:
array){
System.out.println(a);
}*/
//方法二
StringBuffersb=newStringBuffer();
for(inti=0;isb.append(array[i].substring(0,1).toUpperCase()).append(array[i].substring
(1)).append("");
}
System.out.println(sb.substring(0,sb.length()-1));
}
}
补充
/**
*定义一个数组,在中间位置添加一个数
*@authorAdministrator
*
*/
publicclassTest9{
publicstaticvoidmain(String[]args){
int[]array={34,5,112,55,783,23,899};
int[]newArray=newint[array.length+1];
//前半部分
for(inti=0;inewArray[i]=array[i];
}
//中间部分
newArray[array.length/2]=119;
//后半部分
for(inti=array.length/2;inewArray[i+1]=array[i];
}
for(inta:
newArray){
System.out.println(a);
}
}
}