JAVA超的笔试题目.docx
- 文档编号:10090585
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:27
- 大小:27KB
JAVA超的笔试题目.docx
《JAVA超的笔试题目.docx》由会员分享,可在线阅读,更多相关《JAVA超的笔试题目.docx(27页珍藏版)》请在冰豆网上搜索。
JAVA超的笔试题目
1.
(单选题)如果要按照特定顺序保存元素,应当使用的容器是()
A.HashMap
B.ArrayList
C.TreeSet
D.数组
正确答案:
C
本题考查TreeSet保存元素,会以特定的顺序保存元素选项C正确。
2.
(单选题)下列关于变量作用域的说法中,正确的是()。
A.在main()方法中任何位置定义的变量,其作用域为整个main()方法
B.块中定义的变量,在块外也是可以使用的
C.变量的作用域为:
从定义处开始,到变量所在块结束位置
D.变量的作用域不受块的限制
正确答案:
C
本题考查变量的作用域Java中变量的作用域以语句块为标志,变量只在定义它的语句块内有效。
选项C正确。
3.
(单选题)在Java中,如下代码的正确结果为()。
doubledou=5/2;System.out.println(dou);
A.2
B.2.5
C.0
D.2.0
正确答案:
D
此题目考查的是Java中的算术运算符。
在本题是,因为5和2都是int类型,所以相除的结果会舍弃小数位,只保留整数位的2,将int类型的2赋值给double型的变量,进而结果为2.0,所以本题选项D是正确的。
4.
(单选题)关于构造方法,下面说法正确的是()。
A.构造方法不能带有参数
B.构造方法的名称必须和类名相同
C.构造方法可以定义返回值类型
D.构造方法不能重载
正确答案:
B
本题考查构造方法的概念Java中的构造方法,是用来初始化成员变量和创建对象的。
构造方法的语法要求如下:
*构造方法方法名必须与类名相同*构造方法可以有参数,可以根据传参的方式,初始化对象的成员变量*构造方法的定义不能有返回值类型,即使void也不可以使用*一个类可以定义多个构造方法,方法名都与类名相同,参数不同,即为重载根据以上描述,本题只有选项B正确
5.
(单选题)在Java中,关于抽象方法的说法正确的是()。
A.抽象方法可以有方法体。
B.抽象类中的方法都是抽象方法。
C.抽象方法可以出现在非抽象类中。
D.抽象方法是没有方法体的方法。
正确答案:
D
此题目考查的是Java的抽象方法。
在Java语言中,抽象方法指的是只有方法的定义,没有方法的具体实现的方法(没有方法体)。
所以选项D是正确的,选项A是错误的。
Java规定,包含抽象方法的类必须是抽象类,所以选项C是错误的。
抽象类中可以有抽象方法也可以有非抽象方法。
所以选项B是错误的。
6.
(单选题)下面的程序输出的结果是()//已知'T'的int值为84,'t'的int值为116Strings1="TEDU",s2="tedu";System.out.println(pareTo(s2));
A.-32
B.32
C.false
D.true
正确答案:
A
本题考查compareTo()方法。
String类实现了Comparable接口,并实现了compareTo()方法方法在实现中,将两个字符串内容中的字符进行ASCII码值减的操作,从前往后减,如果第一个字符相同,就操作第二个字符,再次减,直到运行到不相同的字符,将结果返回,如果字符内容和大小写都相同,则返回0本题程序中,字符‘T’-‘t’值为-32。
选项A正确。
7.
(单选题)实现Point类的equals方法,具体逻辑为:
“成员变量x和y分别相等的Point对象被视为相等”。
publicclassPoint{privateintx;privateinty;...publicbooleanequals(Objectobj){《填入代码》}}《填入代码》处应填入的代码正确的是:
A.if(obj.x==this.x||obj.y==this.y){returntrue;}returnfalse;
B.if(!
(objinstanceofPoint))returnfalse;if(((Point)obj).x==((Point)obj).y&&this.x==this.y){returntrue;}returnfalse;
C.if(!
(objinstanceofPoint))returnfalse;if(((Point)obj).x==this.x&&((Point)obj).y==this.y){returntrue;}returnfalse;
D.if(obj.x==this.x&&obj.y==this.y){returntrue;}returnfalse;
正确答案:
C
本题考查equals方法的重写。
选项A错误,必须将参数强制转换到Point类型,才能访问Point类中的x和y选项B错误,不符合题目中的需求,需要比较的是两个对象的x和y选项C正确选项D错误必须将参数强制转换到Point类型,才能访问Point类中的x和y
8.
(单选题)Java源程序经过编译会生成相应的字节码文件,这些字节码文件的扩展名为()。
A..java
B..class
C..exe
D..html
正确答案:
B
此题目考查的是Java的行业知识。
在Java语言中,字节码文件的后缀名为.class。
所以本题正确选项为B。
9.
(单选题)Java中给一个boolean变量赋值时,可以使用()方式:
A.booleanb1="真";
B.booleanb1==true;
C.booleanb1=1;
D.booleanb1=(10>5);
正确答案:
D
此题目考查的是对boolean变量的赋值。
boolean类型为布尔型,只允许取值为true和false,true表示条件成立而false表示条件不成立。
适用于关系运算和逻辑运算,一般用于程序的流程控制。
因为boolean只允许取值为true和false,所以选项A赋值为"真"是错误的。
在java中=号是在赋值,而==意为相等的判断,因此选项B是错误的。
将boolean变量赋值为1也是不合法,故而选项C是错误的。
10>5为关系运算,返回的结果就是boolean型,所以选项D是正确的。
10.
(单选题)下列Java代码的输出结果是()。
publicclassTest{publicstaticvoidmain(String[]args){int[]arr=newint[5];arr[5]=88;System.out.println(arr[5]);}}
A.0
B.88
C.编译错误
D.运行异常
正确答案:
D
此题目考查的是Java中的数组。
在Java语言中,数组的下标从0开始,最大下标为数组的长度-1,本题中,arr数组包含5个元素,所以最大下标为4,故而在使用下标5时会出现数组下标越界的异常,本题选项D是正确的。
11.
(单选题)在Java中,下面代码段的输出结果是()。
publicclassTest{publicstaticvoidmain(String[]args){Aooaoo=newAoo(8);aoo.show();}}classAoo{intnum;publicAoo(intnum){this.num=num;}publicstaticvoidshow(){System.out.println(num);}}
A.0
B.8
C.编译错误
D.运行异常
正确答案:
C
此题目考查的是Java中的静态方法。
在Java语言中,通常的方法都会涉及到对具体对象的操作,这些方法在调用时,需要隐式的传递对象的引用this,而有一些方法不需要针对某些对象进行操作,其运行结果仅仅与输入的参数有关,这时此方法需要由static修饰为静态方法。
因为静态方法没有隐式的this传递,所以在静态方法中不能直接访问实例成员,所以本题在静态方法show()中访问实例成员num是不正确的,所以本题正确选项为C。
12.
(单选题)对保存在List中的数据进行查找,方法不正确的是()。
A.对元素进行遍历,依次比较
B.对内容有序的List可以进行二分法查找
C.调用indexOf方法查找
D.无论是否有序都可以用二分法查找,比线性查找快很多
正确答案:
D
本题考查对List集合元素的查找选项D说法不正确,二分查找法,必须是对有序的元素。
13.
(单选题)System.out.println(34"tedu"34);的打印结果:
()
A.34tedu34
B.7tedu7
C.7tedu34
D.34tedu7
正确答案:
C
本题考查程序的执行顺序。
输出语句中,先执行34,结果是7,再执行7"tedu",结果是7tedu再3,结果是7tedu3,在加4,结果是7tedu34选项C正确
14.
(单选题)给出下面的代码段:
publicclassBase{intw,x,y,z;publicBase(inta,intb){x=a;y=b;}publicBase(inta,intb,intc,intd){//...w=d;z=c;}}在代码//...处写入如下哪个代码是正确的?
()。
A.Base(a,b);
B.x=a,y=b;
C.this(a);this(b);
D.this(a,b);
正确答案:
D
本题考查this关键字的使用。
在构造函数中,调用构造函数的时候,必须使用this调用,而且必须是构造函数中的第一条语句,选项AC错误,选项B中,x=a必须使用分号结尾。
选项D正确。
15.
(单选题)阅读如下代码:
List
for(/*待填入*/){System.out.print(str);}
A.Listlist:
Stringstr
B.Stringstr:
Listlist
C.list:
Stringstr
D.Stringstr:
list
正确答案:
D
本题考查使用增强的for循环,迭代集合ArrayList增强的for循环使用如下:
For(Stringstr:
list){.....}选项D正确
16.
(单选题)阅读下列代码:
classEmp{privateintempNo;privateStringename;publicintgetEmpNo(){returnempNo;}publicvoidsetEmpNo(intempNo){this.empNo=empNo;}publicStringgetEname(){returnename;}publicvoidsetEname(Stringename){this.ename=ename;}publicinthashCode(){returnempNo;}publicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!
=obj.getClass())returnfalse;Empother=(Emp)obj;if(empNo!
=other.empNo)returnfalse;returntrue;}publicstaticvoidmain(String[]args){Empe1=newEmp();e1.setEmpNo(1001);e1.setEname("刘苍松");Empe2=newEmp();e2.setEmpNo(1001);e2.setEname("Robin");System.out.println(e1==e2);System.out.println(e1.equals(e2));}}运行该类,输出结果是();
A.falsefalse
B.falsetrue
C.truefalse
D.truetrue
正确答案:
B
本题考查equals和==的区别Object类中默认equals()方法和==没有区别,本类中重写了equals()方法,如果empNo相同,两个Emp对象的equals()方法,即会返回true。
选项B正确。
17.
(单选题)如下程序:
Stringstr="IcandoitbecauseIthinkIcan";intindex1=str.indexOf("can");intindex2=str.lastIndexOf("can");intresult=index1index2;result结果是:
()。
A.2
B.30
C.32
D.-1
正确答案:
C
本题考查字符串检索intindexOf(Stringstr)在字符串中检索str,返回其第一次出现的位置,如果找不到返回-1.intlastIndexOf(Stringstr)str在字符串中多次出现时,将返回最后一个出现的位置。
本题中index1=2;index2=30;result=230=32;选项C正确。
18.
(单选题)以下程序运行结果是:
classDemo{intx;publicstaticvoidmain(String[]args){Demod=newDemo();d.x=8;show(d);System.out.println("x="d.x);}publicstaticvoidshow(Demod){d.x=7;}}
A.x=8
B.会出现语法编译错误
C.x=7
D.以上都不对
正确答案:
C
本题考查调用带有引用类型的参数调用带有引用类型的参数,传递的是对象的引用,方法中操作该参数,操作的是传递到该方法中的具体对象。
本题目中,创建一个对象,变量d存储了该对象在内存中的地址信息,通过d.x=8,修改了该对象的x值,然后调用show()方法,将该引用传递给show方法show()方法中,再次修改了该对象的x值为7,所以最后运行结果x=7选项C正确
19.
(单选题)Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式正确的是()。
A.Innerin=newInner();
B.Innerin=newOuter.Inner();
C.Outer.Innerin=newOuter.Inner();
D.Outer.Innerin=newOuter().newInner();
正确答案:
D
本题考查静态方法创建实例内部类对象内部类的最重要的一个特点就是它可以直接访问它外部类的成员变量。
成员变量是对象身上的。
对象创建完成了,才会为成员变量分配空间。
能调用成员变量,意味着一定有了实例对象.main方法是静态的,它执行的时候可以不用创建那个对象。
这就矛盾了。
main方法运行的时候没有任何外部类的实例对象。
我们的内部类的实例对象创建了它又可以访问外部类的成员变量,外部类的实例对象在哪儿了?
所以这个原因,要想创建内部类的实例对象,必须创建外部类的实例对象选项D正确。
20.
(单选题)分析如下Java代码,如果想在控制台上输出"B类的test()方法",则在1处应填入()。
classA{publicvoidtest(){System.out.println("A类的test()方法");}}classBextendsA{publicvoidtest(){System.out.println("B类的test()方法");}publicstaticvoidmain(Stringargs[]){//1}}
A.Aa=newB();a.test();
B.Aa=newA();a.test();
C.Bb=newA();b.test();
D.B.test();
正确答案:
A
本题考查面向对象的特性之一多态。
实现多态的条件是继承和重写,定义父类型的引用指向子类的对象本题中类B继承了类A,子类中重写了父类的方法test()。
选项A,在继承和重写的前提下,父类A类型的引用变量a指向了子类B创建的对象。
a.test(),会调用子类中的test()方法,会满足题目要求选项A正确。
21.
(单选题)score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是()。
inttemp=score[0];for(intindex=1;index<5;index){if(score[index] A.求最大数 B.求最小数 C.找到数组最后一个元素 D.编译出错 正确答案: B 本题考查对数组元素遍历的操作循环体中,依次访问数组中第一个元素之后的每个元素,并与第一个元素比较如果小于第一个元素,将该元素赋值给变量temp,最后temp的值为数组中的最小元素结果为选项B,求最小数。 22. (单选题)Java代码的运行结果是()。 classAccount{privateStringname;//名字privateintstate;//账号状态privateStringidCard;//身份证号publicvoidAccount(){name="李强";state=0;idCard="109...";System.out.println("执行构造方法。 ");}publicvoidshow(){System.out.println("账务账号的名字是"name",状态是"state",身份证号是"idCard"。 ");}publicstaticvoidmain(String[]args){Accountacc=newAccount();acc.show();}} A.账务账号的名字是null,状态是1,身份证号是109...。 B.执行构造方法。 账务账号的名字是null,状态是1,身份证号是null。 C.账务账号的名字是null,状态是0,身份证号是null。 D.执行构造方法。 账务账号的名字是李强,状态是1,身份证号是109...。 正确答案: C 本题考查构造方法的特点和作用构造方法必须与类名相同,没有返回值类型。 如果没有定义构造方法,系统会提供无参的构造方法。 构造方法用来初始化成员变量和创建对象。 当使用某个构造方法,创建对象的时候,系统会自动调用该构造方法。 构造方法在初始化成员变量的时候,给成员变量添加初值。 整型为0,字符串类型为null。 本题中,定义的Account()方法,与类名相同,但并非是构造方法,只是普通的方法。 所以,该类中的成员变量还是默认的初值。 选项C正确 23. (单选题)在JAVA中,下面关于String类和StringBuilder类的描述正确的是()。 A.StringBuilder类的对象调用tostring()方法将转换为String类型 B.两个类都有append()方法 C.可以直接将字符串“test”赋值给声明的Stirng类和StringBuilder类的变量 D.两个类的实例的值都能够被改变 正确答案: A 本题考查StringBuilder和String类的区别选项A正确,toString()方法,即是转换到字符串类型的方法。 选项B错误,String类没有append()方法选项C错误,字符串对象一旦创建,内容不可变选项D错误,字符串对象一旦创建,内容不可变 24. (单选题)下列程序的输出结果是()。 classPerson{publicPerson(){System.out.println("IamaPerson! ");}publicvoidstudy(){System.out.println("PersonisStuding");}}classWorkerextendsPerson{publicWorker(){System.out.println("IamaWorker! ");}publicvoidstudy(){System.out.println("WorkerisStuding");}publicstaticvoidmain(String[]args){Personp=newWorker();p.study();}} A.IamaPerson! IamaWorker! WorkerisStuding B.IamaWorker! WorkerisStuding C.IamaPerson! IamaWorker! PersonisStuding D.IamaWorker! PersonisStuding 正确答案: A 本题考查继承中的构造函数和父类的引用指向子类的对象继承中,子类的构造函数,默认一定会调用父类的无参构造函数,本题中使用子类的构造函数创建了对象,那么子类的构造函数首先调用父类的构造函数,所以会输出IamaPerson! IamaWorker! Personp=newWorker();父类的引用指向了子类的对象,子类重写了父类的study()方法,在运行期,实际调用的一定是子类中的study()方法,会输出WorkerisStuding。 所以选项A正确。 25. (单选题)下列方法被调用后,变量result的结果是()。 publicstaticvoidmain(String[]args){StringBuilderstr=newStringBuilder("abc");intresult=getResult(str);System.out.println(result);}publicstatici
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 笔试 题目