admin 管理员组文章数量: 1086019
2023年12月17日发(作者:霹雳兵烽决之玄象裂变百科)
JavaEE结项考试试卷(后附答案)
一、单选题(共15小题,每小题2分,满分30分)
1、Java是从( )语言改进重新设计。
A. Ada
B. C++
C. Pasacal
D. BASIC
2、下列语句哪一个正确( )
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D. 以上都不正确
3、已知如下定义: String s = "story"; 下面哪个表达式是合法的?(A. s += "books";
B. char c = s[1];
C. int len = ;
D. String t = 100;
4、执行如下程序代码
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
后,C的值是( )
A.0
B.1
C.-1
D.死循环
5、String s=new String(“xyz”); 创建了几个String对象?(
A. 1个
B. 2个
C.3个
D.4个
6、当你执行以下查询语句:
SELECT empno,ename FROM emp WHERE empno=7782 OR empno=7876;
在WHERE语句中,以下哪个操作符可以取代OR?( )
)
)
A. IN
B. BETWEEN ……
C. LIKE
D. <=
E. >=
7、下面关于Spring的说法中错误的是( )?
A. Spring是一系列轻量级Java EE框架的集合
B. Spring中包含一个“依赖注入”模式的实现
C. 使用Spring可以实现声明式事务
D. Spring提供了AOP方式的日志系统
8、下列语句正确的是( )
A.形式参数可被视为local variable
B.形式参数可被字段修饰符修饰
C.形式参数为方法被调用时,真正被传递的参数
D.形式参数不可以是对象
9、下列哪种说法是正确的( )
A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
C.实例方法可直接调用其他类的实例方法
D.实例方法可直接调用本类的类方法
10、下面关于AOP的说法错误的是?( )
A. AOP将散落在系统中的“方面”代码集中实现
B. AOP有助于提高系统的可维护性
C. AOP已经表现出了将要替代面向对象的趋势
D. AOP是一种设计模式,Spring提供了一种实现
11、关于以下application的说明,正确的是( )
class StaticStuff
{
static int x=10;
static { x+=5;}
Public static void main(String args[ ])
{
n(“x=” + x);
}
static { x/=3;}
}
A. 4行与9行不能通过编译,因为缺少方法名和返回类型
B. 9行不能通过编译,因为只能有一个静态初始化器
C. 编译通过,执行结果为:x=5
D. 编译通过,执行结果为:x=3
12、下列哪些语句关于Java内存回收的说明是正确的? ( )
A. 程序员必须创建一个线程来释放内存
B. 内存回收程序负责释放无用内存
C. 内存回收程序允许程序员直接释放内存
D. 内存回收程序可以在指定的时间释放内存对象
13、有如下代码段:
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?( )
A. public IOException methodName()
B. public void methodName()
C. public void methodName() throw IOException
D. public void methodName() throws IOException
14、 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是( )
A. 配置客户和订单关联的cascade属性为save-update
B. 配置客户和订单关联的cascade属性为all
C. 设置多对一关联的inverse属性为true
D. 设置多对一关联的inverse属性为false
15、 下列哪一种叙述是正确的( )
A.abstract修饰符可修饰字段、方法和类
B.抽象方法的body部分必须用一对大括号{ }包住
C.声明抽象方法,大括号可有可无
D.声明抽象方法不可写出大括号
二、不定项多选题(共10小题,每小题2分,满分20分)
1.Java程序的种类有( )
A.类(Class)
B.Applet
C.Application
D.Servlet
2.下列说法正确的有( )
A.环境变量可在编译source code时指定
B.在编译程序时,所能指定的环境变量不包括class path
C. javac一次可同时编译数个Java源文件
D. 能指定编译结果要置于哪个目录(directory)
3.下列标识符不合法的有( )
A.new
B.$Usdollars
C.1234
D.
4.下列说法错误的有( )
A.数组是一种对象
B.数组属于一种原生类
C. int number=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变
5.不能用来修饰interface的有( )
A.private
B.public
C.protected
D.static
6、在EL表达式中,与范围有关的EL隐含对象有( )?
A. pageScope
B. requestScope
C. sessionScope
D. applicationScope
E. pageContextScope
7.下列说法错误的有( )
A.在类方法中可用this来调用本类的类方法
B.在类方法中调用本类的类方法时可直接调用
C.在类方法中只能调用本类中的类方法
D.在类方法中绝对不能调用实例方法
8. Stust2 Action类得到requestsession对象的方式( )
A. 与servlet无关的 非IOC
B. 与servlet相关的 非IOC
C. 与serlvet相关的 IOC
D. 与servlet无关的 IOC
9.下列说法错误的有( )
A.能被成功运行的java class文件必须有main()方法
B. J2SDK就是Java API
C. 可利用jar选项运行.jar文件
D.能被Appletviewer成功运行的java class文件必须有main()方法
10. 编译并运行下面的程序,运行结果为( )
public class Example{
public static void main(String args[] ){
int l=0;
do{
n(“ Doing it for l is:” +l);
}while(--l>0)
n(“ Finish” );
}
}
A. Doing it for l is 3
B. Doing it for l is 1
C. Doing it for l is 2
D. Doing it for l is 0
E. Doing it for l is –1
F. Finish
三、填空题(本大题共20空,每空 1 分,共 20分)
1. 一个Java源程序是由若干个 组成。
2. 对于int型变量,内存分配 个字节。
3. 在同一个switch语句中,case后的 必须互不相同。
4. do-while循环和while循环的区别是 。
5. 面向对象编程序主要有封装性、继承性、 的特点。
6. 一个类通过使用new运算符和类的 为声明的对象分配内存。
7. 类不能被继承,即不能有子类。
8. 是相同类型的数据按顺序组成的一种引用数据类型。
9. 类是所有Java 类的最终祖先,如果一个类在声明时没有包含extends 关键词,那么这个类直接继承Object类。
10. 类能够进行浮点数的精确加法、减法和乘法运算,对于浮点数的除法运算,可以满足用户指定的精度。
11. 捕捉异常方式是通过 结构处理异常。
12. 抛出异常可以利用 语句。
13. 在java中要想实现多线程,必须在主线程中创建新的 。
14. 一个正在执行的线程可能被人为地中断,让出CPU 的使用权,暂时中止自己的执行,进入 状态。
15. 一个实现了 接口的类实际上定义了一个主线程之外的新线程的操作。
16. 可以通过使用 关键词修改方法来同步化对方法的访问。
17. Struts2文件上传,数据验证等功能是基于 技术实现的。
18. 事务隔离级别是由 实现的。
19. Hibernate持久化层中,对象分为 ,游离状态以及持久化状态。
20. Hibernate中的悲观锁与乐观锁, 具有较好的并发性能?
四、 简答题(本大题共4小题,共 20分,每题 5分)
1 . Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
2. 线程的基本概念、线程的本状态以及状态之间的关系
3. jsp有哪些内置对象?作用分别是什么?
4.项目中为什么使用SSH?
五、根据题目要求编写程序(共3小题,满分10分)
1. 写一个猜数字游戏,随机生成一个0到100的数字,在控制台中输入数字,如果输入数字比随机数大,输出“大了”,如果输入数字比随机数小,输出小了“小了”,如果输入正确,那么输出“中了”并且退出。(4分)
2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (3分)。
3.输出 9*9 口诀(3分)。
答案
一、选择题(本大题共15题,每小题2分,共30分)
1----5: B B A C B 6------10:A D A A C
11---15: C B D A D
二、不定项多选题(本大题共10题,每小题2分,共20分)
1----5:BCD BCD ACD BCD
ACD
6----10:ABCD
CD ABCD
BCD DF
三、填空题(本大题共20空,每空 1 分,共 20分)
1.
类
2.
4
3.
常量值
4.
do-while循环体至少被执行一次
5. 多态性
6.
构造方法
7.
final
8.
数组
9.
Object
10.
BigDecimal
11. try-catch-finally
12. throw
13. 线程对象
14. 阻塞
15. Runnable
16. Synchronized
17. 拦截器
18. 数据库
19. 临时状态
20. 乐观锁
四、简答题
1 . Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
4. 线程的基本概念、线程的本状态以及状态之间的关系?
答:
•新建 (Born) : 新建的线程处于新建状态
•就绪 (Ready) : 在创建线程后,它将处于就绪状态,等待 start() 方法被调用
•运行 (Running) : 线程在开始执行时进入运行状态
•睡眠 (Sleeping) : 线程的执行可通过使用 sleep() 方法来暂时中止。在睡眠后,线程将进入就绪状态
•等待 (Waiting) : 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。
•挂起 (Suspended) : 在临时停止或中断线程的执行时,线程就处于挂起状态。
•恢复 (Resume) : 在挂起的线程被恢复执行时,可以说它已被恢复。
•阻塞 (Blocked) – 在线程等待一个事件时(例如输入/输出操作),就称其处于阻塞状态。
•死亡 (Dead) – 在 run() 方法已完成执行或其 stop() 方法被调用之后,线 程就处于死亡状态。
串行化的注意事项以及如何实现串行化答:如果有循环引用是不可以串行化的。对象输出流的WriteObject方法和 对象输入流的ReadObect 方法
共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外
4. 使用Struts是因为struts是基于MVC模式的,很好的将应非用程序进行了分层,使开发者更关注于业务逻辑的实现;第二,struts有着丰富的taglib,如能灵活运用,则能大大提高开发效率。
使用Hibernate:因为hibernate为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,功能丰富。
使用Spring:因为spring基于IoC(Inversion of Control,反向控制)和AOP构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现事务管理(Transcation Managment),等等
五、根据题目要求编写程序
1. 写一个猜数字游戏,随机生成一个0到100的数字,在控制台中输入数字,如果输入数字比随机数大,输出“大了”,如果输入数字比随机数小,输出小了“小了”,如果输入正确,那么输出“中了”并且退出。(4分)
package ;
import r;
public class GuessNum {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner();
int max = 100,min = 1;
int goal = (int) (()*100+1);
n("请输入" + min + "到" + max + "的数");
while(true){
int guessNum = t();
if(guessNum>=min&&guessNum<=max){ //判断输入的数字是否在需要的区间内
if(guessNum>goal){
n("大了");
max = guessNum;
n("请输入" + min + "到" + max + "的数");
}else if(guessNum n("小了"); min = guessNum; n("请输入" + min + "到" + max + "的数"); }else{ n("中了"); break; } }else{ n("你输入的数不在范围之内," + "请输入" + min + "到" + max + "的数"); } } } } 2. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 public class Test7 { public static void main(String[] args) { int abcCount = 0;// 英文字母个数 int spaceCount = 0;// 空格键个数 int numCount = 0;// 数字个数 int otherCount = 0;// 其他字符个数 Scanner scan = new Scanner(); n("请输入一个字符串:"); String str = ne(); char[] ch = Array(); for (int i = 0; i < ; i++) { if (er(ch[i])) { // 判断是否字母 abcCount++; } else if (t(ch[i])) { // 判断是否数字 numCount++; } else if (eChar(ch[i])) { // 判断是否空格键 spaceCount++; } else { // 以上都不是则认为是其他字符 otherCount++; } } n("字母个数:" + abcCount); n("数字个数:" + numCount); n("空格个数:" + spaceCount); n("其他字符个数:" + otherCount); } 3分) ( } 4.输出 9*9 口诀(3分)。 public class Test16 { public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++) { (j + "*" + i + "=" + j * i + " "); if (j * i < 10) { (" "); } } n(); } } }
版权声明:本文标题:javaee 结项考试试卷(含答案) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1702795158a431206.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论