传智播客Java基础综合测试题.docx
- 文档编号:17536409
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:17
- 大小:20KB
传智播客Java基础综合测试题.docx
《传智播客Java基础综合测试题.docx》由会员分享,可在线阅读,更多相关《传智播客Java基础综合测试题.docx(17页珍藏版)》请在冰点文库上搜索。
传智播客Java基础综合测试题
传智播客Java基础综合测试题
第一关
1.动手完成Java开发包的安装,并设置环境变量Path。
2.编写一个程序,要求程序运行后在屏幕上输出:
***************************
Thisismyfirstjavaprogram!
***************************
3.编写一个程序,该程序从命令行接收4个参数,并将接收的4个参数打印输出到屏幕。
第二关
1.指出下列哪些变量名称是不合法的?
tomSalary,float,1people,people1,price_per_m,price-per_m,$root,@test
2、写出intmin=x>y?
y:
x的等价if语句。
If(x>y){min=y}elsemin=x;
3、利用javaAPI帮助文档,找到一个可以将给定的字符串转化为小写的方法。
String
toLowerCase()
4、打印出成绩等级,如果成绩大于等于90分,输出“优秀”,如果成绩大于等于80分,输出“良好”,如果大于等于70分,输出“中等”,如果大于等于60分,输出“及格”,其它输出“不及格”。
5、用冒泡和选择两种方式对数组进行排序。
第三关
1、选择题
(1)程序TestSketch.java代码如下,4个选项中正确的描述是()
ClassA
{
}
ClassBextendsA
{
}
PublicclassTestSketch
{
Publicstaticvoidmian(String[]args)
{
Aa=newA();
Bb=(B)a;
}
}
A.通过编译并正常运行
B.编译时出现异常
C.编译通过,运行时出现异常
D.编译器报告找不到TestSketch.java
(2)下面有关类Demo的描述正确的有()
PublicclassDemoextendsBase
{
Privateintcount;
PublicDemo()
{
System.out.println(“ADemoobjecthasbeencreated”);
}
Protectedvoidassone()
{
Count++;
}
}
A.当创建一个Demo类的实例对象时,count的值为0
B.当创建一个Demo类的实例对象时,count的值是不确定的
C.Base类型的对象中可以包含改变count值的方法
D.Demo的子类对象可以访问count
3)阅读下面的程序,正确的选项为()
Classperson
{
Stringname;
Stringnickname;
Publicperson(Strings,Stringt)
{
name=s;
nickName=t;
}
PublicStringtoString()
{
returnname+“nickname=“+nickName;
}
}
publicclassTeacherextendsPerson
{
Stringrank;
PublicTeacher(Strings,Stringt,Stringr)
{
super(s,t);
rank=r;
}
publicStringtoString()
{
returnname+”nickname=”+nickName+”rank=”+rank;
}
publicstaticvoidmain(Stringargs[])
{
persona=newPerson(“Tom”,”Tiger”);
personb=newTeacher(“Jack”,”Horse”,”Professor”);
Teacherc=newTeacher(“Bobby”,”Elephant”,”Lecture”);
System.out.println(“ais“+a.toString());
System.out.println(“bis”+b.toString());
System.out.println(“cis”+c.toString());
}
}
•编译时会出现错误
•运行时会出现错误
•运行结果为:
aisTomnickname=Tiger
bisJacknickname=Horserank=Professor
cisBobbynickname=Elephantrank=Lecture
D.运行结果为:
aisTomenickname=Tiger
bisJacknickname=Horse
cisBobbynickname=Elephantrank=Lecturer
2.假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:
姓名、工号以及工资。
经理也是员工,除了含有员工的属性外,另为还有一个
奖金属性。
请使用继承的思想设计出员工类和经理类。
要求类中提供必要的方
法进行属性访问。
(从各个对象向上抽取的方式思考)
3、定义一个自己的数学类MyMath.类中提供静态方法max,该方法接受3个同
类型的参数(例如整型),返回其中的最大值。
Intsum=0;a,b,c
Max=((sum=a>b?
a:
b)>c)?
sum:
c;
classMyMath
{
publicstaticintmax(inta,intb,intc){
intmax=0;
if(a>b){
max=a;
}else
max=b;
if(max max=c; } returnmax; } } 4、定义一个Car类,保证该类对象在内存中只存在一个。 写出例程。 classPerson { privateStringname; privateintage; privatestaticPersonp=newPerson("zhangsan",18); privatePerson(Stringn,inta){ this.name=n; this.age=a; } publicstaticPersongetPerson(){ returnp; } publicstaticStringgetName(Personp){ returnp.name; } publicstaticintgetAge(Personp){ returnp.age; } } publicclassTestSketch{ publicstaticvoidmain(String[]args){ System.out.println(Person.getName(Person.getPerson())); } } 第四关 1、接口和抽象类的区别 2、选择题 (1).在使用interface声明一个接口时,可以使用()修饰符修饰该接口。 A.private B.protected C.privateorprotected D.public (2)虽然接口和抽象类不能创建对象,但它们的对象引用仍可指向该类型的对象。 这种说法() A.正确 B.不正确 C.不能确定 D.接口和抽象类不能说明其对象引用 (3).接口中说明了一组公共的抽象方法,其中是否包含公共的静态方法? 答案是() A.可以 B.不可以 C.不能肯定 D.因静态方法不能被改写,故不能出现在接口中 4)当我们说明一个类C实现一个接口I,下面说法()不正确 A.接口I是类C一个超类型 B.类C也实现了接口I的超接口 C.类C的子类也实现接口I D.接口I类型的对象引用所指定的对象一定是类C或其子类的一个对象。 3.填空题 (1)我们可以通过______接口______,使得处于不同层次,甚至互不相关的类具 有相同的行为,然后由每个类分别去实现这些行为。 (2)接口声明的关键字是______________。 (3)在声明类的同时,我们可通过关键字__________________实现接口。 (4)使用类实现接口时,必须__________该接口的所有方法。 (6)创建包的关键字是: ____________。 (7)引入包grade的best类,可使用语句: ____________________________。 第五关 1.下面这种捕获异常的方式适当么? 说明理由 Try{ … }catch(Exceptione){ .. }catch(FileNotFoundExceptiona){ … } 2.编写程序,越界访问数组元素的下标,捕获并打印异常信息。 3.描述模板方法设计模式。 写出例程。 第六关 1.编写一个线程使得4个线程同时运行。 publicclassTest{ publicstaticvoidmain(String[]args){ Threadt1=newThread(newA()); Threadt2=newThread(newB()); Threadt3=newThread(newC()); Threadt4=newThread(newD()); t1.start(); t2.start(); t3.start(); t4.start(); } } classAimplementsRunnable{ publicvoidrun(){ for(inti=0;i<50;i++){ System.out.println("AisStarted"); } } } classBimplementsRunnable{ publicvoidrun(){ for(inti=0;i<50;i++){ System.out.println("BisStarted"); } } } classCimplementsRunnable{ publicvoidrun(){ for(inti=0;i<50;i++){ System.out.println("CisStarted"); } } } classDimplementsRunnable{ publicvoidrun(){ for(inti=0;i<50;i++){ System.out.println("DisStarted"); } } } 2.请在程序中创建一个HashSet实例对象,并向这个对象中添加三个自定义的Student类的实例对象(Student类有两个属性,姓名和年龄)。 要求: 如果两个Student对象相当,即两个Student对象的姓名和年龄相等时,必须保证HashSet里面只能有一个对象。 importjava.util.*; publicclassTest{ publicstaticvoidmain(String[]args){ HashSeths=newHashSet(); hs.add(newStudent("zhangsan",20)); hs.add(newStudent("lisi",20)); hs.add(newStudent("wangwu",30)); hs.add(newStudent("zhaoliu",25)); hs.add(newStudent("zhaoliu",25)); Iteratoriter=hs.iterator(); Studentstr=null; while(iter.hasNext()){ str=(Student)iter.next(); System.out.println(str); } } } classStudent{ Stringname; intage; Student(Stringname,intage){ this.name=name; this.age=age; } publicStringgetName(){ returnname; } publicintgetAge(){ returnage; } publicinthashCode(){ returnname.hashCode()+age*17; } publicbooleanequals(Objectobj){ Studentstu=(Student)obj; returnthis.name.equals(stu.name)&&this.age==stu.age; } publicStringtoString(){ returnname+": : : : : : : "+age; } } 3.请利用System.getProperties()方法,打印出java虚似机的环境信息。 4.简述ArrayList、Vecor、LinkedList之间的区别? Collection和Map之间的区别? HashSet和TreeSet之间的区别? HashTable和HashMap之间的区别? 然后编程向HashSet中保存自定义的类(Student),并取出打印。 5.写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文 件中。 用户输入”quit”表示输入完毕,程序退出。 6.有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括姓名,三门课成绩), 计算出总成绩,并把学生的信息和计算出的总分数存放在磁盘文件"stud.txt"中。 第七关 1、写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文 件中。 用户输入”quit”表示输入完毕,程序退出。 2、File类型的对象既可以表示文件,也可以表示目录。 编写一个程序,当用户输入 一个文件或是目录信息后,该程序能够完成如下工作: (1).判断该文件或目录是否存在 (2).如果不存在则给出出错信息 (3).如果存在,则给出其相对路径、绝对路径、文件长度 (4).如果存在并且是文件,则显示文件内容 (5).如果存在并且是目录,则显示目录内的所有文件名 importjava.io.*; publicclassTest{ publicstaticvoidmain(String[]args){ Inputin=newInput(); in.dealInput(); } } classInput{ publicvoiddealInput(){ BufferedReaderbufr= newBufferedReader(newInputStreamReader(System.in)); Strings=null; try{ s=bufr.readLine(); }catch(IOExceptione){ e.printStackTrace(); } if(s! =null){ Filefile=newFile(s); if(file.isFile()){ System.out.println("此文件的绝对路径是: "+file.getAbsolutePath()+"\r\n"+ "相对路径是: "+file.getPath()+"\r\n"+ "文件长度是: "+file.length()+"KB"); try{ Stringline=null; BufferedReaderbuf= newBufferedReader(newInputStreamReader(newFileInputStream(s))); BufferedWriterbufw= newBufferedWriter(newOutputStreamWriter(System.out)); while((line=buf.readLine())! =null){ bufw.write(line); bufw.newLine(); bufw.flush(); } buf.close(); bufw.close(); }catch(IOExceptione){ e.printStackTrace(); } }elseif(file.isDirectory()){ String[]lists=file.list(); for(Stringstr: lists){ System.out.println(str); } }elseif(s.equals("")){ System.out.println(s+"您输入了空串"); } }else{ System.out.println("您的输入有误"); } } } 3、编写一个程序,在控制台接收数据,程序会让用户输入名字,并检查用户的输入: 不允许输入空名字。 一旦用户完成输入,程序会向该用户发出问候: “Hello,你输入的名字。 ” 4、请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装, 让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时, 能够在读取的每行前面都加上有行号和冒号。 第八关 1.填空题 (1)我们使用包中有两个类___________和________________,分别用于 在客户机和服务器上创建Socket通信。 (2)我们可分别使用Socket的方法______________和_________________来创建 输入/输出流。 (3)在服务器端程序中,可使用ServerSocket对象的__________方法,接收来自 客户机程序的连接请求,待通信任务完毕后,用Socket对象的____________方法来 关闭通信Socket。 (4)我们可以通过_____________________类来建立数据报通信的Socket;用______________________类来创建数据报文包。 (5)我们可通过DatagramPacket类的方法____________从实例中取得报文的Byte 数组编码;而通过_____________来返回一个发送或接收此数据报包文的机器的IPXXX。 (6)我们可通过调用DatagramSocket对象的____________方法来完成接收数据报的工 作,通过调用DatagramSocket对象的____________方法实现发送数据报。 (7)待通信任务完毕后,用DatagramSocket对象的____________方法来关闭 数据报通信Socket。 2、利用Socket套接字进行面向连接通信的编程。 客户端发送文件;服务器端接收 并显示客户机XXX,然后返回信息“文件已收到”给客户端。 3、客户端输入并发送用户名;服务器端接收并显示其用户名,并检验它们的正确性,错则返回“对不起,你不是我们的用户。 ”,对则返回“你好,欢迎光临”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传智播客 Java 基础 综合测试