分类:
2012-02-10 10:56:52
原文地址:android 面试题 总结 作者:moonfish11
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
解析:
A、public class ArithmeticException extends RuntimeException
当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。
B、public class IllegalArgumentException extends RuntimeException
抛出的异常表明向方法传递了一个不合法或不正确的参数。
C、public class NullPointerException extends RuntimeException
空指针。
D、public class BufferUnderflowException extends RuntimeException
数组下溢异常。
举个例子:定义数组 a[10] ;即 a[0],a[1],a[2]...a[8],a[9] 一共十个,上溢出指访问下标小于0,下溢出访问下标大于9.例如 a[-1],a[10]都是错的。总之一句话 上溢出就是访问下标小于0,下溢出是访问下标大于等于数组长度。
2、Math.round(11.5)等于多少(), Math.round(-11.5)等于多少。( C )
A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12
解析:
Math.round
语法:
Math.round(x);
参数:
x 为一数值。
解释:
方法。返回对参数x四舍五入后所得的整数近似值。
再来看:math.round(-4.4)=-4;
math.round(-4.5)=-4;
math.round(4.4)=4;
math.round(4.5)=5;
如何解释?
4.3<4.4<4.5 so
math.round(4.3)=4
math.round(4.4)=4
math.round(4.5)=5
-4.6<-4.5 <-4.4 so
math.round(-4.6)=-5
math.round(-4.5)=-4
math.round(-4.4)=-4
-4.51 |-4.50 -4.49
4.49 | 4.50 4.51
因为是负数,所以临界点都是在5的左侧,文字上的“四舍五入”,让人容易糊涂。
3、下列程序段的输出结果是:(b )
void complicatedexpression_r(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
A、true B、false C、1 D、011.activity
解析:b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60,该表达式在判定x>50为假时,就不会再对后面的表达式进行计算了,因为 && 运算,只要有一方为false最终表达式就为false。
4、对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d)
A、onPause() B、onCreate() C、 onResume() D、onStart()
5、Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选)
A、Serializable B、charsequence C、Parcelable D、Bundle
6、下列属于SAX解析xml文件的优点的是(b)
A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能
B、不用事先调入整个文档,占用资源少
C、整个文档调入内存,浪费时间和空间
D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会
消失
解析:A 是 DOM解析xml文件的优点;B是 SAX解析xml文件的优点;C是 DOM解析XML文件的缺点,D是SAX解析XML文件的缺点,详细解析请参照以下网址:
http://blog.chinaunix.net/space.php?uid=24448954&do=blog&id=3069373
7、下面的对自定style的方式正确的是 (a)
8、下列哪些语句关于回收的说明是正确的? (b )
A、 程序员必须创建一个线程来释放
B、 内存回收程序负责释放无用内存
C、 内存回收程序允许程序员直接释放内存
D、 内存回收程序可以在指定的时间释放内存对象
9、android 中下列属于Intent的作用的是(c)
A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
10、在android中使用Menu时可能需要重写的方法有(ac)(多选)
A、onCreateOptionsMenu()
B、onCreateMenu()
C、onOptionsItemSelected()
D、onItemSelected()
11、在SQL Server Management Studio 中运行下列T-SQL语句:SELECT @@IDENTITY ,其输出值(c)。 A、 可能为0.1 B、 可能为3
C、 不可能为-100 D、 肯定为0
解析:
@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值, 是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。 比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至 101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后, 执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。12、在SQL Server 2005中运行如下T-SQL语句,假定SALES表中有多行数据,执行查询之后的结果是(d)。
BEGIN TRANSACTION A
Update SALES Set qty=30 WHERE qty<30
BEGIN TRANSACTION B
Update SALES Set qty=40 WHEREqty<40
Update SALES Set qty=50 WHEREqty<50
Update SALES Set qty=60 WHEREqty<60
COMMIT TRANSACTION B
COMMIT TRANSACTION A
A、SALES表中qty列最小值大于等于30
B、SALES表中qty列最小值大于等于40
C、SALES表中qty列的数据全部为50
D、SALES表中qty列最小值大于等于60
13、在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是(ab)
A、getWriteableDatabase()
B、getReadableDatabase()
C、getDatabase()
D、getAbleDatabase()
14、android 关于service生命周期的onCreate()和onStart()说法正确的是(ad)(多选题)
A、当第一次启动的时候先后调用onCreate()和onStart()方法
B、当第一次启动的时候只会调用onCreate()方法
C、如果service已经启动,将先后调用onCreate()和onStart()方法
D、如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法
15、下面是属于GLSurFaceView特性的是(abc)(多选)
A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图view上。
B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。
C、让渲染器在独立的线程里运作,和UI线程分离。
D、可以直接从内存或者DMA等硬件接口取得图像数据
16、下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的(a)
17、关于ContenValues类说法正确的是(a)
A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的
名是String类型,而值都是基本类型
B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的
名是任意类型,而值都是基本类型
C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的
名,可以为空,而值都是String类型
D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中
的名是String类型,而值也是String类型
18、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(a)
A、onDestroy()
B、onClear()
C、onFinish()
D、onStop()
解析:请参阅该链接: