Android应用开发笔试题.docx
- 文档编号:25695787
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:27
- 大小:24.92KB
Android应用开发笔试题.docx
《Android应用开发笔试题.docx》由会员分享,可在线阅读,更多相关《Android应用开发笔试题.docx(27页珍藏版)》请在冰豆网上搜索。
Android应用开发笔试题
Android应用开发试题1
一:
选择题【有四个选项,只有一个选项正确,每道题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:
3B:
4C:
5D:
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:
4B:
5C:
7D:
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->:
11->:
21->:
21->:
2
2->:
52->:
52->:
22->:
5
3->:
42->:
53->:
43->:
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,falseB.false,trueC.true,trueD.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:
11551111
55663333
664444
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.65B.65#C.A#D.A
【】15:
假设以数组A[n]存放循环队列的元素,其头、尾指针分别为head和end。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为
A:
(end-head-1)%nB:
(end-head)%n C:
(head-end+1)%nD:
(end-head+n)%n
【】16:
对线性链表和线性表分析错误的是()
A:
线性链表分为单链表、双向链表和循环链表
B:
线性链表是一种物理存储单元上连续但非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的
C:
线性表插入或删除的运算效率很低。
在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素
D:
线性表的顺序存储结构不便于对存储空间的动态分配
【】17:
以下属于java.util包中集合类具体实现类的是?
A:
MapB:
CollectionC:
TreeMapD:
SortedMap
【】18:
下面对集合不能正确创建实例化是()
A:
List
B:
ArrayList
C:
TreeSet
D:
TreeSet
【】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} ……List for(inti=0,j=0,k=0;k 完成该功能应该填入的代码是()。 A.if(j>=list2.size()||i>list1.size(): &&list1.get(i) D.if(j>=list2.size()||i 二: 简答题【本环节中每道题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.interfaceA{ 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"); } publicvoiddeal(){ System.out.println("44"); } } publicclassBextendsA{ static{ System.out.println("55"); } { System.out.println("66"); } publicB(){ System.out.println("77"); } publicvoiddeal(){ 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; } } } publicvoidprint(intid,Stringname){ Useruser=newUser(id,name); System.out.println(user.getId()+"\t"+user.getName()); } publicstaticvoidmain(String[]args){ //...手写补充代码 } } 要求: 先对User进行创建实例化学号为: 1001姓名为: 张三之后进行修改学号为: 1002姓名为: 李四调用Person类的打印输出方法显示修改后的结果。 【3分】 答: <第七题> 列举几个你常去的IT技术型的网站,类型不限,个数不限,写中文名亦可,并解释为什么值得你去? 【3分】 答: 四: 编程算法题,将代码下在每道题的下面[共5道题,第一,二题为5分,第三题为6分,第四题为8分,第五题为10分,总计34分] 1: 请用递归算法写一个方法求出两个数字的最大公约数和最小公倍数【5分】 【安徽科大讯飞2012届武汉大学校园招聘试题】 2: 请将一个链表反序【5分】 【华为2011届华中科技大学校园招聘试题】 3: 现在有一个有趣的游戏: 称为杀人游戏! 游戏规则是: 输入参加的总人数,在输入一个基数,然后每个人依次报数, 当前选手报的数能被基数整除的话,就判为死亡出局,剩下的再继续数数,当数到最后一个时候,再接着从1开始从头数数。 。 。 一直到活下的人小于基数为止,整个游戏结束,打印最后存活选手的编号;【6分】 例子: 总数: 6基数2 MMMMMM 123456 MXMXMX 123456 MMM 123 MXM 12 MX 1 存活的人数是: 1 存活的编号是: 1 【微软,中兴的笔试题,要求不限制语言编写实现】 4: 比较两个字符串,要求从字符串的最后一个元素开始逐个向前比较,如果两个字符串的长度不等,则只比较短长度字符串的元素。 请编程实现下面给出的比较方法,并返回比较中发现的不相等元素的个数。 【8分】 publicintgetDiffNum(intlen1,Stringstr1,intlen2,Stringstr2) 例如: len1=3str1="acd"len2=5str2="zhacd"函数返回为0 len1=3str1="acd"len2=6str2="zhacdv"函数返回为3 5: 任何一个自然数m的立方均可写成m个连续奇数之和。 【10分】 例如: 1^3=12^3=3+53^3=7+9+114^3=13+15+17+19请编程实现: 输入一自然数n,求组成n^3的n个连续奇数,格式必须按照上面进行输出。 Androi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 应用 开发 笔试