入学测试题Java答案.docx
- 文档编号:13324286
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:19
- 大小:56.83KB
入学测试题Java答案.docx
《入学测试题Java答案.docx》由会员分享,可在线阅读,更多相关《入学测试题Java答案.docx(19页珍藏版)》请在冰点文库上搜索。
入学测试题Java答案
[A类答案]
第一部分数字推理题
1.B2.B3.B4.C5.D6.D7.B8.B9.B10.B
第二部分数字运算
11.A12.C13.A14.D15.B
第三部分计算机基础知识
1.D2.D3.D4.A5.B6.A7.D8.A9.B10.D
11.B12D13.A14.D15.B16.A17.A18.D19.C20.C
21.D22.C23.B24.B25.A
第四部分问答题
26.答:
不正确,应为floatf=3.4f
27.答:
是引用传递。
28.答:
Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,程序基本无能为力,除了退出运行外别无选择。
Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。
29.答:
final是修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。
因此一个类不能既被声明为abstract,又被声明为final.将变量或方法声明为final,可以保证它们在使用中不被改变。
被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
被声明为final的方法也同样只能使用,不能重载。
Finally是在异常处理时提供finally块来执行任何清除操作。
如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话),只要有finally语句块,无论程序如何运行,它都必然被执行到。
30.答:
创建了两个,一个字符对象,一个引用对象
31.答:
insertintostudent(No,Name,Age,Address)
Values(‘4’,’myName’,’18’,’大连’);
32.答:
updatestudentsetage=‘25’wherename=‘张三’
33.答:
deletestudentwherename=‘李四’
34.答:
selectcount(*)fromstudentwhereaddress=‘大连’
35.答:
声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义staticfinal成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口
[B类答案]
一.填空
1.答:
document.write("HelloWorld!
");
2.①___name.value_____________________________
②___false_____________________________
③___0_____________________________
④___hobby[i].checked_____________________________
⑤___false_____________________________
⑥___true_____________________________
A.___检查是否已填写“姓名”_____________________________
B.___检查是否至少选择了一项“爱好”_____________________________
二.Java与J2EE
3.运行结果是:
____abdcbdcb_________________________
4.___inti=4_____
5.HttpSession的作用:
用于跟踪来自同一个用户的请求;主要应用于需要确定用户身份的应用,例如:
购物车;每个客户端会被分配一个sessionID用于确定身份;在服务器端会为其分配一个Session对象。
(2分)
session可以从request对象中得到:
HttpSessionsession=request.getSession();(2分)
setAttribute("","")设置属性
getAttribute("")获得已设置的属性
removeAttribute("")删除属性
invalidate()使session失效
6.forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;在客户端浏览器地址栏中不会显示出转向后的地址。
redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,浏览器将会得到跳转的地址,并重新发送请求链接。
forward会将requeststate,bean等等信息带往下一个jsp。
redirect是送到client端后再一次request,所以资料不被保留。
使用forward你就可以用getAttribute()来取的前一个jsp所放入的bean等等资料。
7.EGFDACB
8.X√√X√X√XX√
9.2种
1)继承Thread类
2)实现runnable接口
10.(3个以上给分)
1)ClassCastException
2)IndexOutOfBoundsException
3)NullPointerException
4)ArithmeticException
5)NumberFormatException
11.(3个以上给分)
toString();notify();finalize();clone();wait();
12.PrimeRunp=newPrimeRun()
newThread(p).start();
13.第一步:
实现Comparable接口
第二步:
排序Collections.sort(ls);
14.反射Reflection是Java被视为动态语言的一个关键性质.这个机制允许程序在运行时通过ReflectionAPIs得到任何一个已知名称的类的相关信息,包括其构造方法,父类,实现的接口,成员变量(field)和成员方法(method)的相关信息,并可在运行时改变成员变量的值或调用其方法.
15.true
false
true
true
三.Oracle不部分
16.答案:
a)SELECTSNAME,AGEFROMSTUDENTSWHEREBPLACE='河北'ANDSEX='男'
b)SELECTSNO,SNAME,AGEFROMSTUDENTSWHEREAGEBETWEEN20AND30ORDERBYAGEASC
c)SELECTSNAME,SEXFROMSTUDENTSWHEREAGE<23ANDBPLACELIKE'湖%'
或者
SELECTSNAME,SEXFROMSTUDENTSWHEREAGE<23ANDBPLACEIN('湖南','湖北')
或者
SELECTSNAME,SEXFROMSTUDENTSWHEREAGE<23AND(BPLACE='湖南'ORBPLACE='湖北')
d)SELECTSNAME,SEXFROMSTUDENTSWHEREBPLACEISNOTNULL
e)SELECTSNAMEFROMSTUDENTSWHERESNOIN(SELECTSNOFROMENROLLSWHEREGRADE>90)
或者
SELECTSNAMEFROMSTUDENTSWHERESNO=ANY(SELECTSNOFROMENROLLSWHEREGRADE>90)
f)SELECTSNAME,CNO,GRADEFROMSTUDENTSSJOINENROLLSEONS.SNO=E.SNOWHERESNOIN(SELECTSNOFROMENROLLSWHEREGRADE>80)ANDSEX='女'
g)SELECTCOUNT(*)FROMSTUDENTSWHEREAGE<=22
h)SELECTSNO,AVG(GRADE),COUNT(*)FROMENROLLSGROUPBYSNO
i)SELECTSNAMEFROMSTUDENTSWHEREAGE>(SELECTAVG(AGE)FROMSTUDENTS)
j)INSERTINTOSTUDENTS(SNO,SNAME,AGE,SEX,BPLACE)VALUES(SEQ_STUDENTS.NEXTVAL,'董佳',22,'女','辽宁')
k)UPDATEENROLLSSETGRADE=95WHERESNO=(SELECTSNOFROMSTUDENTSWHERESNAME='程会军')
l)DELETEFROMENROLLSWHEREGRADE<80
[C类答案]
一、简答题(10*3)
1.线程的Start函数和Run函数各自的作用是什么?
线程真正执行的代码是书写在那一个函数中?
Thead.start()是启动一个线程的方法,调用了这个方法后,线程的Run函数才会得到执行.
run()函数容纳线程启动后执行的代码块,线程启动起来,run函数中的代码会得到执行.
2.synchronized修饰符起什么作用?
当它修饰一个非静态函数时线程进入时将会锁定的对象是?
当此函数是静态函数时锁定的对象是?
一次只让一个线程进入修饰的函数或者同步块。
this
此类的类对象
3.Object的wait,nofity和nofityAll三个方法各能起到什么作用?
wait是主动让进入的线程等待,
notify激活等待中的一个线程,它获得锁定后即能执行
notifyAll则是激活等待中的所有线程,但只有一个能获得锁定
4.SQL命令的三种类别是什么?
请写出这三种类别的缩写,中文意思及写出其中的一个常用命令?
DML(DataManipulationlanguage,数据处理语言):
Select,Insert,Update和Delete
DFL(DataDefinitionLanguage,数据定义语言):
Createtable,Altertable。
DCL(DataControlLanguage,数据控制语言):
Grant,Revoke。
5.请简述数据库设计三范式?
第一范式(1NF)要求信息必须是原子级的,信息不可再分。
第二范式(2NF)要求数据符合第一范式的标准,另外数据元素被组织成组以消除冗余的数据。
每个组包含一个主键和非关键数据,非关键数据必须在功能上依赖于主键。
第三范式(3NF)要求数据元素符合第二范式的标准,同时非关键数据不能包含依赖性。
6.两个数据表之间的关联/引用关系有哪三种?
如何去实现这三种关系?
一对一:
两表拥有同一主键
一对多:
主表的主键是从表的外键或形成事实上的主键外键关系。
多对多:
使用连接表实现,连接表的两个连接字段分别是两主表主键的外键。
7.JDBC中的Connection,Statement(PreparedStatement)和ResultSet各自的意义和作用是什么?
Connection:
代表了到物理数据库的连接,它能产生Statement(PreparedStatement)对象。
Statement(PreparedStatement):
通过数据库接连发送SQL语句,获得和修改结果集的对象。
ResultSet:
结果集,表示查询语句查询数据库所返回的结果集。
8.在BS系统中,数据库连接池的意义是?
在业务逻辑需要大量的,短时数据库连接时,多层结构的应用程序中通过连接池(Connectionpooling)技术可以使系统的性能明显得到提升,连接池意味着当应用程序需要调用一个数据库连接时,数据库相关的接口通过返回一个重用的数据库连接来代替重新连接一个数据库连接。
通过这种方式,应用程序可以减少对数据库连接操作的要求,尤其是在多层环境中多个客户端可以通过共享少量的物理数据库连接来满足系统要求。
通过连接池技术,Java应用程序不仅可以提高系统性能,同时也为系统提高了可测量性。
9.现在Oracle数据库中实现查询结果分页是通过什么关键字来完成的?
在MySql数据库中又是通过什么关键字来完成的?
Rownum,Limit
10.现有一张表Employee包含id,name,sex,salary四个字段,id和salary字段是长整形,name和sex是可变字符型。
请写出完成下列任务的SQL语句:
a)向此表中插入一条雇员记录,数据为(2606,‘张三’,‘男’,18000)
b)将所有雇员的薪水下调25%。
c)删除薪水高于30000的员工数据。
insertintoemployee(ID,NAME,sex,salary)values('2606','张三','男','18000')
updateemployeesetsalary=salary*0.75
deletefromemployeewheresalary>30000
二、问答题(20分)
1.请写出创建线程的两种方式的代码并比较这两种方式的优劣(5分)?
//继承Thread类
publicclassThread1extendsThread{
publicvoidrun(){
//dosomething
}
}
优势:
创建此类示例可直接运行线程。
劣势:
无法继承别的类。
//实现Runnable接口
publicclassThread2implementsRunnable{
publicvoidrun(){
//dosomething
}
}。
优势:
对类继承体系没有影响。
劣势:
运行线程需要Thread类的帮助。
2.请写出线程安全的Singleton模式的代码(5分)。
publicclassSingleton{
privatestaticSingletoninstance=null;
publicstaticsynchronizedSingletongetInstance()
{
if(instance==null){
instance=newSingleton();
}
returninstance;
}
}
3.请指出CS架构和BS架构的优缺点(6分)
C/S架构的优缺点
优点:
1.C/S架构的界面和操作可以很丰富。
2.安全性能可以很容易保证,实现多层认证也不难。
3.由于只有一层交互,因此响应速度较快。
缺点:
1.适用面窄,通常用于局域网中。
2.用户群固定。
由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
3.维护成本高,发生一次升级,则所有客户端的程序都需要改变。
B/S架构的优缺点
优点:
1)客户端无需安装,有Web浏览器即可。
2)BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
3)BS架构无需升级多个客户端,升级服务器即可。
缺点:
1)在跨浏览器上,BS架构不尽如人意。
2)BS架构的表现要达到CS程序的程度需要花费不少精力。
3)在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
4)客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意去做的。
4.有一张表table01如下。
(4分)
Col1
Col2
Col3
Col4
Col5
1
2
3
4
5
5
4
3
2
1
2
2
2
3
4
6
7
8
9
0
3
4
6
7
8
其中,Col1,Col2,Col3,Col4,Col5都是字段,下边的是数据。
1.请写出得出Col1字段中值为2的所有记录的SQL语句。
2.请写出得出Col3字段中值大于3的记录个数的SQL语句。
3.请写出得出按Col1分组的组个数的SQL语句。
4.请写出得出Col4字段高于Col5平均数的各记录的SQL语句.
1)select*fromtable01wherecol1=2
2)selectcount(*)fromtable01whereCol3>3
3)selectcount(*)fromtable01groupbycol1
4)select*fromtable01wherecol4>(selectround(avg(col5))fromtable01)
三、编写一个函数完成下列任务,可以调用其它自己书写的辅助函数(10分)
1.请写出对一个整形数组进行冒泡排序的代码,函数签名如下:
(3分)
publicstaticvoidbuddleSort(int[]arr);
publicstaticvoidbuddleSort(int[]arr){
inti,j,temp;
for(i=0;i for(j=0;j //大数靠后放置 if(arr[j]>arr[j+1]){ //换值过程 temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } 2.使用PL/SQL书写一个函数,用于求圆的面积。 (3分) CREATEORREPLACEFUNCTIONcircle_area( p_radiusINNUMBER )RETURNNUMBERAS v_piNUMBER: =3.1415926; v_areaNUMBER; BEGIN v_area: =v_pi*POWER(p_radius,2); RETURNv_area; ENDcircle_area; 3.请写出一个工具函数,它的功能是能返回一个字符串链表中重复的元素的链表,如传入的链表是[“A”,”BC”,”123”,”BC”,”A”,“中国”],则应该返回的链表为[“A”,“BC”],其中“A”和“BC”都是原链表中重复的元素。 函数签名如下: (4分) publicstaticList publicstaticList List Set for(Stringstr: ls){ if(! set.add(str)){ retval.add(str); } } returnretval; } 注: 使用哈希表做也可,使用双重循环至多得三分。 四、请完成SQL语句,书写时请注意格式。 1.(16分)以下是某贸易公司的订单表。 包含五个字段,ID是订单流水号,name是订单中的商品名称,total是订货数量,customer是订货客户名,price是商品单价。 请写出完成以下任务需要的SQL语句: 1)得出北京客户需要支付的总货款。 (2分) 2)找出上海客户的最大一次订货数量。 (2分) 3)得到衬衣销售的平均价格。 (3分) 4)得出每位客户需要支付的总货款。 (3分) 5)得到每种商品销售总金额。 (3分) 6)找到总订货数量最大的两种商品名。 (3分) 答: 1)selectsum(total*price)fromordertablewherecustomer='北京客户' 2)selectmax(total)fromordertablewherecustomer='上海客户' 3)selectround(sum(total*price)/sum(total))fromordertablewherename='衬衣' 4)selectsum(total*price),customerfromordertablegroupbycustomer 5)selectsum(total*price),namefromordertablegroupbyname 6)selectsum(total)asalltotal,namefromordertablegroupbynameorderbyalltotaldesclimit2 2.(5分)下表为某公司的员工表Employee,由于重复录入的原因致使存在冗余的数据即员工的姓名,年龄和邮件地址都相同,如张三的数据有三条多余,李四有三条,王五有两条。 请编写一段去除重复记录的SQL语句,它能在重复记录中删除多余的部分,只留下一条合理的员工记录。 如上表中张三的记录,留下任意一条均可。 最后Employee表中剩下的数据示例如下: 答: •deletefrom •employee •whereidnotin( •select •min(id) •fromemployee •groupbyconcat(concat(name,age),email) •) •以上为Oracle的方案,MySql数据库使用临时表也可 3.(4分)某青年歌手大奖赛中,使用了一张数据表sin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 入学 测试 Java 答案