android笔试题.docx

上传人:b****8 文档编号:10909389 上传时间:2023-02-23 格式:DOCX 页数:25 大小:21.19KB
下载 相关 举报
android笔试题.docx_第1页
第1页 / 共25页
android笔试题.docx_第2页
第2页 / 共25页
android笔试题.docx_第3页
第3页 / 共25页
android笔试题.docx_第4页
第4页 / 共25页
android笔试题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

android笔试题.docx

《android笔试题.docx》由会员分享,可在线阅读,更多相关《android笔试题.docx(25页珍藏版)》请在冰豆网上搜索。

android笔试题.docx

android笔试题

1:

本试卷为高难度试题,大部分摘自华为,中兴,腾讯,XX,阿里巴巴等试题

2:

知识点涵盖Java基础,面向对象,异常,多线程,输入输出流,集合,数据结构与算法

3:

注意本试卷分满分为100分,60分为及格分数线

4:

本试卷分为以下部分:

选择题,简答题,改错与分析题,编程算法题

5:

本试卷时间为100分钟,请抓紧时间做题

 

一:

选择题【有四个选项,只有一个选项正确,每道题1.5分,共20道,总计30分】

 

【】1:

下面的表达式错误的是

 

A:

floatf=(1.9+0.1)/(int)1.0

B:

floatf=1.0F

C:

floatf=(float)1.0F

D:

floatf=(int)(0.73+0.27);

 

【】2:

设x和y均为int型变量,则以下语句:

x+=y,y=x-y;x-=y;的功能是

A:

把x和y按从大到小排列

B:

把x和y按从小到大排列

C:

无确定结果

D:

交换x和y中的值

 

【】3:

请写出下面程序运行的结果()

intx=0;

inty=1;

inta=x+++++x;

intb=y–––y;

System.out.println(++a+b++);

 

A:

3    B:

4   C:

5    D:

6

 

【】4:

选择下列程序运行的结果

 

inttotal=0;

for(inti=0,j=5;total<10||j>3;++i,–j){

total+=(i+j);

System.out.println(total);

}

A:

结果为5,因为一个i自加,一个j自减抵消等于没有自加

B:

结果为10,因为正常运算了

C:

有语法错误,不能写多个变量

D:

有语法错误,条件表达式不能写多个

 

【】5:

请问总共创建了多少个对象?

 

Stringaa,b,c;

aa=”bb”;

b=”dd”+aa;

c=”cc”+b+aa;

StringBufferd=newStringBuffer(c);

 

A:

4          B:

5         C:

7           D:

8

 

【】6:

接口A中有2个方法,接口B中有2个方法,以下正确的是 ( )

 

A:

若接口C继承A,B两个接口,则C一定继承了四个方法

B:

若类C实现接口A,B,则C中必须至少实现A、B中各一个方法

C:

若类C要继承接口A,B,则必须要定义接口D来继承接口A、B,由类C实现接口D,才能达到目的

D:

若抽象的接口C继承了接口A,B;抽象的D类实现C接口,此时必须要实现累加接口中的所有方法

 

【】7:

关于类,抽象,接口,继承综合说法错误的是?

 

A:

类与类之间有关联,继承,聚合的关系;

B:

抽象类可以继承实例类,抽象类可以实现接口,抽象接口可以继承多个接口

C:

抽象类是类和接口的并集与接口继承的补集

D:

在应用开发中,功能类的继承是平行结构,实现功能的接口是树型结构

 

【】8:

请判断下面程序运行的结果:

publicclassParamTest{

 

intnum=1;

publicvoidchange(){

num=2;

}

publicvoidchange(intnum){

num=3;

}

publicvoidchange(ParamTestpt){

pt.num=4;

}

publicstaticvoidmain(String[]args){

 

ParamTestpt=newParamTest();

intnum=5;

pt.change();

System.out.println(“1->:

”+pt.num);

pt.change(num);

System.out.println(“2->:

”+pt.num);

pt.change(pt);

System.out.println(“3->:

”+pt.num);

}

A:

                 B:

             C:

          D:

1->:

1           1->:

2           1->:

2         1->:

2

2->:

5           2->:

5           2->:

2         2->:

5

3->:

4           2->:

5           3->:

4         3->:

4

 

【】9:

下面方法不可以共存的是:

()

已知:

classA{

publicA(){

}

publicvoidA(){

}

publicvoidA(intx){

}

}

classBextendsA{

//填入一个方法

}

 

A:

publicvoidA(){}

B:

publicvoidA(intx,inty){}

C:

publicintA(intx,chary){

returnx+y;

}

D:

publicStringA(intx){

return“hello”+x;

}

 

【】10:

已知类Foo的定义如下:

publicclassFoo{

intvalue;

Foo(intvalue){

this.value=value;

}

}

运行下面程序段:

Foo[]a1={newFoo

(1),newFoo

(2),newFoo(3)};

Foo[]a2=newFoo[a1.length];

System.arraycopy(a1,0,a2,0,a1.length);

System.out.println((a1==a2)+“,”+(a1[1]==a2[1]));

控制台输出的结果是()。

A.false,false      B.false,true      C.true,true        D.true,false

 

【】11:

哪种说话阐明了垃圾收集和终结化机制锁承诺的行为?

()

A对象直到没有任何引用指向自己时才会立即被销毁

B对一个对象调用的finalize()方法永远不会多于一次

C适用于收集的对象会最终由垃圾收集器销毁

D对象一但适用于垃圾收集,就再无法由存活线程访问了

 

【】12:

下面执行的结果是

 

staticbooleanloop(charc){

System.out.print(c);

returntrue;

}

publicstaticvoidmain(String[]args){

inti=0;

for(loop(‘A’);loop(‘B’)&&(i<2);loop(‘C’)){

i++;

loop(‘D’);

}

}

A.ABDCBDCB

B.ABCDABCD

C.Compilationfails[编译失败].

D.Anexceptionisthrownatruntime[抛出一个运行例外].

 

【】13:

下面异常执行的结果是:

 

try{

intx=0;

floaty=0;

floatz=x/y;

System.out.println(“11″);

try{

inta[]=newint[3];

a[3]=x;

System.out.println(“22″);

return;

}catch(Exceptione){

System.out.println(“33″);

return;

}finally{

System.out.println(“44″);

System.exit(0);

return;

}

}catch(ArithmeticExceptione){

System.out.println(“55″);

return;

}finally{

System.out.println(“66″);

return;

}

A:

               B:

            C:

       D:

11               55             11         11

55               66             33         33

66                               44         44

66

 

【】14:

阅读下面程序段:

bytea[]={‘a’,65,‘#’,‘B’};

byteb[]=newbyte[a.length];

System.arraycopy(a,1,b,1,2);

 

BufferedOutputStreambos;

bos=newBufferedOutputStream(newFileOutputStream(“C:

\\file.txt”));

bos.write(b,1,2);

bos.flush();

bos.close();

假设file.txt原先不存在,运行该程序段后,文件file.txt的内容为()。

 

A.65              B.65#          C.A#            D.A

 

【】15:

假设以数组A[n]存放循环队列的元素,其头、尾指针分别为head和end。

若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为

 

A:

(end-head-1)%n     B:

(end-head)%n

C:

(head-end+1)%n  D:

(end-head+n)%n

 

【】16:

对线性链表和线性表分析错误的是()

A:

线性链表分为单链表、双向链表和循环链表

B:

线性链表是一种物理存储单元上连续但非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的

C:

线性表插入或删除的运算效率很低。

在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素

D:

线性表的顺序存储结构不便于对存储空间的动态分配

 

【】17:

以下属于java.util包中集合类具体实现类的是?

A:

Map          B:

Collection       C:

TreeMap        D:

SortedMap

 

【】18:

下面对集合不能正确创建实例化是()

A:

List>list=newLinkedList>();

B:

ArrayList>list=newArrayList>();

C:

TreeSet> tree=newTreeSet>();

D:

TreeSet> tree=newTreeSet>();

 

【】19:

下面可以删除list中所有的“java”的代码是:

ArrayListlist=newArrayList();

list.add(“java”);

list.add(“aaa”);

list.add(“java”);

list.add(“java”);

list.add(“bbb”);

A:

for(inti=list.size()–1;i>=0;i–){

if(“java”.equals(list.get(i))){

list.remove(i);

}

}

B:

for(inti=0;i

if(“java”.equals(list.get(i))){

list.remove(i);

}

}

C:

Iteratori=list.iterator();

while(i.hasNext()){

if((i.next().toString()).equals(“java”)){

i.removeAll();

}

}

D:

Iteratori=list.listIterator();

while(i.hasNext()){

if(((String)i.next()).equals(“Java”))

i.remove();

}

}

【】20:

题示代码的功能为:

将两个有序的ArrayList合并为一个有序的ArrayList。

对于两个存放Integer对象的ArrayList,

内容分别为:

list1:

{1,3,4,6,8}和list2:

{2,5,9}

合并后的list3:

{1,2,3,4,5,6,8,9}

……

Listlist3=newArrayList();

intsize=list1.size()+list2.size();

for(inti=0,j=0,k=0;k

<填入的代码>

}

System.out.println(list3);

……

完成该功能应该填入的代码是()。

A.

if(j>=list2.size()||i>list1.size():

&&list1.get(i)

list3.add(list1.get(i++));

}else{

list3.add(list2.get(j++));

}

B.

if(j>=list2.size()||i

list3.add(list1.get(i++));

}else{

list3.add(list2.get(j++));

}

C.

if(j>=list2.size()||ilist2.get(j)){

list3.add(list1.get(i++));

}else{

list3.add(list2.get(j++));

}

D.

if(j>=list2.size()||i

list3.add(list1.get(i++));

}else{

list3.add(list2.get(j++));

}

 

二:

简答题【本环节中每道题3分,共5道,总计15分】

 

1:

String和StringBuffer有什么差别?

在什么情况下使用它们?

【3分】

答:

 

 

 

 

 

 

2:

new一个类对象和使用类名创建一个对象有什么区别?

二者使用时应该注意什么?

【3分】

答:

 

 

 

 

 

 

 

 

3:

在异常当中throw和throws有什么区别和联系?

【3分】

答:

 

 

 

 

 

 

 

 

 

 

 

 

 

4:

LinkList和ArrayList的区别?

如果是在集合的开头插入一个对象,使用哪种效率高些,在集合的末尾插入一个对象,使用哪种效率高些,为什么?

【3分】

 

 

 

 

 

 

 

 

 

 

5:

介绍JAVA开发中常用的CollectionFrameWork(写出Java集合的框架结构,加上必要的名称注释)?

【3分】

答:

 

 

 

 

 

 

 

 

 

 

 

 

 

三:

改错与分析题【本环节中每道题3分,共7道,总计21分】

 

<第一题>

 

1.interface A{

2.    intx=0;

3.}

4.classB{

5.    intx=1;

6.}

7.classCextendsBimplementsA{

8.    publicvoidpX(){

9.       System.out.println(x);

10.}

11.publicstaticvoidmain(String[]args){

12.       newC().pX();

13.      }

14.   }

 

请问哪一行有错?

为什么?

【3分】

答:

 

 

<第二题>

 

1.abstractclassAnimal{

2.publicvoidsaySomething(){

3.    System.out.println(“你想说什么就说吧!

”);

4.    }

5.}

6.classDogextendsAnimal{

7.publicvoidsaySomething(){

8.     System.out.println(“我现在有了第二职业:

捉耗”);

9.     }

10.}

11.publicclassTest{

12.     publicstaticvoidmain(String[]args){

13.           Animalani=newDog();

14.           ani.saySomething();

15.     }

16.}

请问哪一行有错?

为什么?

【3分】

答:

 

 

 

<第三题>

 

publicclassTest{

   privatestaticvoidprintArray(int[]arr)  {

       for(inti=0;i

           System.out.print(arr[i]+”,”);

       System.out.println(”“);

   }

   privatestaticvoidchangeValue(intvalue){

       value*=2;

   }

   privatestaticvoidchangeValue(int[]arr){

           for(inti=0;i

               arr[i]*=2;

   }

  publicstaticvoidmain(String[]args){

        int[]arr={1,2,3,4,5};

        changeValue(arr[0]);

        printArray(arr);

        changeValue(arr);

        printArray(arr);

       }

 }

 请问结果是什么?

并详细解释原因【3分】

 答:

 

 

 

 

<第四题>

publicclassA{

static{

System.out.println(“11″);

}

{

System.out.println(“22″);

}

publicA(){

System.out.println(“33″);

}

public voiddeal(){

System.out.println(“44″);

}

}

publicclassBextendsA{

static{

System.out.println(“55″);

}

{

System.out.println(“66″);

}

publicB(){

System.out.println(“77″);

}

public voiddeal(){

System.out.println(“88″);

}

}

publicclassC{

publicstaticvoidmain(String[]args){

Ab=newB();

b.deal();

}

}

请问结果是什么?

并详细分析原因【3分】

答:

 

 

 

 

<第五题>

publicclassTest{

publicstaticvoidso(String[]name){

      Stringtemp=name[0];

      Name[0]=name[1];

      Name[1]=temp;

}

publicstaticvoidso(Stringname0,Stringname1){

Stringtemp=name0;

Name0=name1;

Name1=temp;’

}

publicstaticvoidmain(String[]wewe){

      String[]name=newString[]{“mike”,”Lily”};

      Stringname0=“mike”;

Stringname1=”Lily“;

So(name);

System.out.println(name[0]+”,”+name[1]);

So(name0,name1);

System.out.println(name0+”,”+name1);

}

请输出结果?

并详细解释为什么?

【3分】

答:

 

 

 

 

<第六题>

publicclassPerson{

 

staticclassUser{

intid;

Stringname;

publicUser(intid,Stringname){

this.id=id;

this.name=name;

}

publicintgetId(){

returnthis.id;

}

publicStringgetName(){

returnthis.name;

}

 

classStudent{

publicvoidsetid(intnewId){

id=newId;

}

publicvoidsetName(StringnewName){

name=newName;

}

}

}

publicv

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

当前位置:首页 > PPT模板 > 动态背景

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

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