JAVA开发基础练习题及答案20_2023_背题版.pdf
《JAVA开发基础练习题及答案20_2023_背题版.pdf》由会员分享,可在线阅读,更多相关《JAVA开发基础练习题及答案20_2023_背题版.pdf(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、试题说明本套试题共包括1套试卷每题均显示答案和解析J AV A开发基础练习题及答案20(500题)J AV A开发基础练习题及答案201.单选题 S u p p o s e x=10 a n d y=10.Wh a t i s x a f t e r e v a l u a t i n g t h e e x p r e s s i o n (y 10)&(x 10)?()A)9B)10O i l答案:B解析:2.单选题 有如下代码段,请问下面选项结果为f a l s e 的是:S t r i n g s i =a bc ;S t r i n g s 2=s i;S t r i n g s 3
2、=n e w S t r i n g(a bc);A)s i.i n t e r n ()=s 3B)s i.i n t e r n()=s 2.i n t e r n()C)s i.i n t e r n ()=s 2D)s 2.i n t e r n ()=s 3.i n t e r n ()答案:A解析:3.单选题 关于J S P 中的a p p l i c a t i o n 对象,以下说法错误的是:A)对于所有用户来说,a p p l i c a t i o n 对象是同一个B)a p p l i c a t i o n 生命周期更长,重启服务器后仍然有效C)服务器启动后会自动创建a
3、 p p l i c a t i o n 对象D)通过a p p l i c a t i o n.g e t R e a l P a t h 方法可以获取虚拟路径的真实路径答案:B解析:4.单选题 J a v a Ap p l e t 中,用来向Ap p l e t 窗口输出字符或图形的常用方法为()。A)p a i n tB)i n i tC)d r a wD)p l a y答案:A解析:5.单选题 在J a v a中,下面属于合法标识符的是()A)$n a m eB)t h i sC)3n a m eD)t t n a m e答案:A解析:6.单选题 请阅读下列示例代码,选择程序的输出结果
4、i n t a =1;i n t b=a+;i n t c =+a;i n t d =a+a;S y s t e m.o u t.p r i n t (a +b+c +d);A)5,1,3,9B)5,2,3,905,1,2,9D)5,1,3,8答案:D解析:7.单选题 下列哪一个关键字用于实现接口来定义类?A)i m p l e m e n t sB)a bs t r a c tC)i n t e r f a c eD)e x t e n d s答案:A解析:8.单选题 下面哪个选项可以获取R u n t i m e类 的 实 例()A)R u n t i m eB)R u n t i m e
5、C)R u n t i m eD)以上选项都不能获取R u n t i m e实例答案:B解析:R u n t i m e类是单例设计模式类,获取实例的方法是g e t R u n t i m e方法。9.单选题 下列哪一个关键字用于实现接口来定义类?()A)e x t e n d sB)i m p l e m e n t sC)a bs t r a c tD)i n t e r f a c e答案:B解析:略10.单选题 下 列 关 于f o r e a c h循环的描述,错 误 的 是()A)f o r e a c h循环只能用于遍历数组或集合中的元素B)f o r e a c h循环可以
6、直接用于遍历M a p集合中的元素C)相当于传统f o r循环来说,f o r e a c h循环简化了书写D)f o r e a c h循环遍历过程中不能对集合或数组元素进行修改答案:B解析:11.单选题 下面那些单词是J a v a语言的关键字?()A)a bs t r a c tB)S t r i n gC)n u l lD)a i z e o f答案:A解析:12.单选题T r e e S e t集合类保存不重复对象,要求实现Co n p a r a bl e接口。其中不重复元素的定义是O oA)在实现Co m p a r a bl e接口中,重写c o m p a r e T o O
7、实现类对象的比较B)对象中的第一个成员变量C)对象中所有成员变量D)在添加到T r e e S e t类对象时给定答案:A解析:13.单选题 以下描述不正确的有()A)t r y块不可以省略B)可以使用多重c a t c h块O f i n a l l y块可以省略D)c a t c h块和f i n a l l y块可以同时省略答案:D解析:c a t c h块和f i n a l l y块不能同时省略,否则无法处理异常。14.单选题 下面程序段输出的是什么?()in t a=3;in t b=l;if(a=b)S y s t e m,o ut.p r in t in (a=+a);A)a=
8、lB)a=3C)编译错误,没有输出。D)正常运行,但没有输出。答案:D解析:15.单选题 下面关于配置一个W EB应用的默认页面时,说法正确的是()A)一个W e b应用最多只能配置一个默认页面B)一个W e b应用最多只能配置两个默认页面C)一个W e b应用最多只能配置三个默认页面D)一个W e b应用最多只能配置三个默认页面答案:D解析:16.单选题 以下关于继承的叙述正确的是()。A)在J av a中类只允许单一继承B)在J av a中接口只允许单一继承C)在J av a中一个类不能同时继承一个类和实现一个接口D)在J av a中一个类只能实现一个接口答案:A解析:17.单选题 下列关
9、键字中,用于创建类的实例对象的是()。A)c l as sB)n e wC)p r iv at eD)v o id答案:B解析:18.单选题 在J av a中,下列关于数组说法正确的是()A)数组最后一个元素的下标是数组长度B)数组最后一个元素的下标是数组长度减1C)数组最后一个元素的下标是0D)以上说法都不对答案:B解析:概念理解19.单选题In e t A d d r e s s类中能获取IP地址及主机名的方法是()A)g e t H o s t N am e()B)g e t L o c al H o s t()C)g e t H o s t A d d r e s s()D)g e t
10、 A d d r e s s()答案:B解析:G e t H o s t N am e O只能获取主机名,g e t H o s t A d d r e s s()只能获取IP地址,g e t A d d r e s s()获取IP地址的字节数组,g e t L o c al H o s t O获取到In e t A d d r e s s对象,里面包含IP地址及主机名,因此答案B正确。20.单选题S e r v l e t R e q ue s t对象被销毁时,将会调用S e r v l e t R e q ue s t L is t e n e r接 口 中 的()方法A)r e q ue
11、 s t C r e at e d()B)r e q ue s t In it ial iz e d ()C)r e q ue s t D e s t r o y e d()D)d e s t r o y e d R e q ue s t()答案:C解析:21.单选题 给出以下的代码,请问该程序的运算结果是什么?c l as s Ex am p l e p ub l ic s t at icv o id m ain (S t r in g ar g s )if(S t r in g ”.t r im().e q ual s(S t r in g”.t r im()S y s t e m,o u
12、t.p r in t l n(Eq ual );e l s e S y s t e m,o ut.p r in t in(aN o t Eq ual );请选择一个正确的答案:A)打印输出Eq ualB)打印输出N o t Eq ualC)代码编译失败D)代码运行失败答案:A解析:22.单选题 存储过程p r o有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的是()A)C al l ab l e S t at e m e n tB)C al l ab l e S t at e m e n tC)C al l ab l e S t at e m e n tD)C al l ab l
13、 e S t at e m e n t答案:Cc s t=c o n.p r e p ar e C al l (a(c al lc s t=c o n.p r e p ar e C al l(u(c al lc s t=c o n.p r e p ar e C al l (c al lc s t=c o n.p r e p ar e C al l(c al lp r o(?,?)w);p r o (?);p r o(?,?);p r o(?.?,?)!);解析:C al l ab l e S t at e m e n t对象为所有的D B M S提供了 一种以标准形式调用已储存过程的方法。已储
14、存过程储存在数据库中。对已储存过程的调用是C al l ab l e S t at e m e n t对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一 种 输 出(O U T)参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(I N参 数)、输 出(O U T参 数)或 输 入 和 输 出(I N 0 U T参数)的参数。问号将用作参数的占位符。在J D B C中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方括号本身并非语法的组成部份。c a l l 过程名(?,?.)返回结果参数的过程的语法为:
15、?=c a l l 过程名(?,?,.)不带参数的已储存过程的语法类似:call过程名通常,创 建C allableStatement对象的人应当知道所用的DBM S是支持已储存过程的,并且知道这些过程都是些什么。然而,如果需要检查,多种DatabaseM etaData方法都可以提供这样的信息。例如,如 果DBM S支持已储存过程的调用,贝UsupportsStoredProcedures方法将返回true,而getProcedures方法将返回对已储存过程的描述。C allableStatement继 承Statement的 方 法(它们用于处理一般的SQL语句),还继承了 Prepare
16、dStatement的 方 法(它们用于处理I N参)。C allableStatement中定义的所有方法都用于处理OUT参 数 或IN 0UT参数的输出部分:注 册OUT参 数 的JDBC类 型(一 般SQL类型)、从这些参数中检索结果,或者检查所返回的值是否为JDBCN ULLo1、创建 C allableStatement 对象C allableStatement对 象 是 用C onnection方 法prepareC all创建的。下例创建C allableStatement的实例,其中含有对已储存过程getTestData调用。该过程有两个变量,但不含结果参数:C allable
17、Statement cstmt=con.prepareC all(Hcall getTestData(?,?);其中?占位符为IN、OUT还是IN OUT参数,取决于已储存过程getTestData。2、IN和OUT参数将IN参 数 传 给C allableStatement对象是通过setXXX方法完成的。该方法继承自PreparedStatemento所传入参数的类型决定了所用的setXXX方 法(例如,用setFloat来传入float 值等)o如果已储存过程返回OUT参数,则 在 执 行C allableStatement对象以前必须先注册每个OUT参数的JDBC类 型(这是必需的,因
18、为某些DBM S要 求JDBC类型)。注 册JDBC类型是用registerOutParameter方法来完成的。语句执行完后,C allableStatement的getXXX方法将取回参数值。正 确 的getXXX方法是为各参数所注册的JDBC类型所对应的Java类型。换言之,registerOutParameter使 用 的 是JDBC类 型(因此它与数据库返回的JDBC类型匹配),而getXXX将之转换为Java类型。作为示例,下述代码先注册OUT参数,执 行 由cstmt所调用的已储存过程,然后检索在OUT参数中返回的值。方 法getByte从 第 一 个OUT参数中取出一个Java
19、字节,而getBigDecimal从第二个OUT参数中取出一个BigDecimal对 象(小数点后面带三位数):C allableStatement cstmt=con.prepareC all(Hcall getTestData(?,?);cstmt.registerOutParameter(1,java.sql.Types.TIN YIN T);cstmt.registerOutParameter(2,java.sql.Types.DEC IM AL,3);cstmt.executeQuery();byte x=cstmt.getByte(1);java.math.BigDecimal n
20、=cstmt.getBigDecimal(2,3);C allableStatement与ResultSet不同,它不提供用增量方式检索大OUT值的特殊机制。3、IN OUT参数既支持输入又接受输出的参数(IN OUT参数)除 了 调 用registerOutParameter方法外,还要求调用 适 当 的setXXX方 法(该方法是从PreparedStatement继承来的)。setXXX方法将参数值设置为输入参数,而registerOutParameter方法将它的JDBC类型注册为输出参数。setXXX方法提供一 个Java值,而驱动程序先把这个值转换为JDBC值,然后将它送到数据库中
21、。这 种I N值的JDBC类型和提供给registerOutParameter方 法 的JDBC类型应该相同。然后,要检索输出值,就要用对应的g e t X X X方法。例如,J a v a类型为b y t e的参数应该使用方法s e t B y t e来赋输入值。应该给r e g i s t e r O u t P a r a m e t e r提供类型为T I N Y I N T的J D B C类型,同时应使用g e t B y t e来检索输出值。下例假设有一个已储存过程r e v i s e T o t a l,其唯一参数是I N O U T参数。方法s e t B y t e把此参数
22、设为2 5,驱动程序将把它作为J D B C T I N Y I N T类型送到数据库中。接着,r e g i s t e r O u t P a r a m e t e r将该参数注册为J D B C T I N Y I N T o执行完该已储存过程后,将返回一个新的J D B C T I N Y I N T值。方法g e t B y t e将把这个新值作为J a v a b y t e类型检索。C a l l a b l e S t a t e m e n t c s t m t =c o n.p r e p a r e C a l l(H c a l l r e v i s e T o
23、t a l(?)M);c s t m t.s e t B y t e(1,2 5);c s t m t.r e g i s t e r O u t P a r a m e t e r(1,j a v a.s q l.T y p e s.T I N Y I N T);c s t m t.e x e c u t e U p d a t e ();b y t e x =c s t m t.g e t B y t e(1);4、先检索结果,再检索O U T参数由于某些D B M S的限制,为了实现最大的可移植性,建议先检索由执行C al l ab l eSt at em en t对象所产生的结果,然后
24、再用C al l ab l eSt at em en t.g et XXX方法来检索O U T参数。如果C al l ab l eSt at em en t对象返回多个Res u l t Set对象(通过调用exec u t e方 法),在检索O U T参数前应先检索所有的结果。这种情况下,为确保对所有的结果都进行了访问,必须对St at em en t方法g et Res u l t Set g et Up dat eC o u n t 和g et M o r eRes u l t s 进行调用,直到不再有结果为止。检索完所有的结果后,就可用C al l ab l eSt at em en
25、t.g et XXX方法来检索O U T参数中的值。5、检索作为O UT参数的N UL L值返回到O U T参数中的值可能会是J D B C N UL L o当出现这种情形时,将 对J D B C N UL L值进行转换以使g et XXX方法所返回的值为n u l l、0或f al s e,这取决于g et XXX方法类型。对 于Res u l t Set对象,要知道0或f al s e是否源于J D B C N UL L的唯一方法,是用方法w as N u l l进行检测。如 果g et XXX方法读取的最后一个值是J D B C N UL L,则该方法返回t r u e,否则返回f l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 开发 基础 练习题 答案 20 _2023_ 背题版
限制150内