java基础知识笔试题实用word文档 17页文档格式.docx
《java基础知识笔试题实用word文档 17页文档格式.docx》由会员分享,可在线阅读,更多相关《java基础知识笔试题实用word文档 17页文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
}
A.编译时发生错误B.运行时引发异常C.正确运行,输出:
AD.正确运行,输出:
7.请写出下列语句的输出结果
char[]data={‘a’,'
b’,'
c’,'
d’};
System.out.println(String.valueOf(10D));
System.out.println(String.valueOf(3>
2));
System.out.println(String.valueOf(data,1,3));
参考答案:
10.0
true
bcd
8.写出下面代码运行后的输出结果是。
publicclassArrtest{
publicstaticvoidmain(Stringkyckling[]){
inti[]=newint[5];
System.out.println(i[4]);
amethod();
Objectobj[]=newObject[5];
System.out.println(obj[2]);
publicstaticvoidamethod(){
intK[]=newint[4];
System.out.println(K[3]);
0
null
9.什么是封装?
Java语言中的封装类有哪些?
封装是表示把数据项和方法隐藏在对象的内部,把方法的实现内容隐藏起来。
Java中的封装类有Double、Integer、Float、Byte、Long、Character、Short和Boolean等类。
10.什么是泛型?
使用泛型有什么优点?
泛型List和普通List有什么区别?
泛型是对Java语言的数据类型系统的一种扩展,以支持创建可以按类型进行参数化的类。
可以把类型参数看做是使用参数化类型时指定的类型的一个占位符。
优点:
提高Java程序的类型安全;
消除强制类型转换;
提高代码的重用率。
泛型List可以实例化为只能存储某种特定类型的数据,普通List可以实例化为存储各种类型的数据。
通过使用泛型List对象,可以规范集合对象中存储的数据类型,在获取集合元素时不用进行任何强制类型转换。
11.编写一个程序,实现下列功能:
?
测试两个字符串Stringstr1=”Itis”和Stringstr2=”Itis”;
是否相等
将”abook.”与其中的str1字符串连接
用m替换新字符串中的i
参考代码:
publicclassEx11{
Stringstr1=”Itis”;
Stringstr2=”Itis”;
//比较字符串
System.out.println(“str1==str2的结果:
“+(str1==str2));
System.out.println(“str1.equals(str2)的结果:
“+str1.equals(str2));
//连接字符串
Stringstr3=str1.concat(“abook”);
System.out.println(“连接后的字符串为:
“+str3);
//替换字符
Stringstr4=str3.replace(‘i’,'
m’);
System.out.println(“替换后的字符串为:
“+str4);
12.编程计算距当前时间10天后的日期和时间,并用“xxxx年xx月xx日”的格式输出新的日期和时间。
importjava.util.Calendar;
publicclassEx12{
Calendarcal=Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR,10);
StringstrDate=cal.get(Calendar.YEAR)+”年“
+(cal.get(Calendar.MONTH)+1)+”月“
+cal.get(Calendar.DATE)+”日“;
System.out.println(“10天后的日期为:
“+strDate);
13.创建一个类Stack,代表堆栈(其特点为:
后进先出),添加方法add(Objectobj)、方法get()和delete(),并编写main方法进行验证。
importjava.util.LinkedList;
importjava.util.List;
classStack{
LinkedListlist;
publicStack(){
list=newLinkedList();
publicvoidadd(Objectobj){
list.addFirst(obj);
publicObjectget(){
returnlist.getFirst();
publicvoiddelete(){
list.removeFirst();
publicclassEx13{
Stackstack=newStack();
stack.add(“1″);
stack.add(“2″);
stack.add(“3″);
System.out.println(stack.get());
stack.delete();
14.编写程序,计算任意两个日期之间间隔的天数。
publicclassEx14{
Calendarc1=Calendar.getInstance();
c1.set(201X,7,1);
Calendarc2=Calendar.getInstance();
longca1=c1.getTimeInMillis();
longca2=c2.getTimeInMillis();
//计算天数
longdays=(ca2-ca1)/(24*60*60*1000);
System.out.println(days);
15.创建一个HashMap对象,添加一些学生的姓名和成绩:
张三:
90分,李四,83分。
接着从HashMap中获取并他们的姓名和成绩,然后把李四的成绩改为100分,再次输出他们的信息。
参考代码:
importjava.util.HashMap;
publicclassEx15{
HashMapmap=newHashMap();
map.put(“张三“,90);
map.put(“李四“,83);
System.out.println(“修改前的成绩:
“);
System.out.println(map);
map.put(“李四“,100);
System.out.println(“修改后的成绩:
16.编写一个程序,用parseInt方法将字符串200由十六进制转换为十进制的int型数据,用valueOf方法将字符串123456转换为float型数据。
publicclassEx16{
Stringstr1=”200″;
System.out.println(Integer.parseInt(str1,16));
Stringstr2=”123456″;
System.out.println(Float.parseFloat(str2));
17.编写程序,将long型数据987654转换为字符串,将十进制数365转换为十六进制数表示的字符串。
publicclassEx17{
longnum=987654L;
inti=365;
System.out.println(“Long类型转换为String:
“+String.valueOf(num));
StringHexI=DtoX(i);
System.out.println(HexI);
//转换函数
publicstaticStringDtoX(intd)
{
Stringx=”"
;
if(d<
16){
x=change(d);
else{
intc;
ints=0;
intn=d;
while(n>
=16){
s++;
n=n/16;
String[]m=newString[s];
inti=0;
do{
c=d/16;
//判断是否大于10,如果大于10,则转换为A-F的格式
m[i++]=change(d%16);
d=c;
}while(c>
=16);
for(intj=m.length-1;
j>
=0;
j–){
x+=m[j];
returnx;
//判断是否为10-15之间的数,如果是则进行转换
publicstaticStringchange(intd){
switch(d){
case10:
x=”A”;
break;
case11:
x=”B”;
case12:
x=”C”;
case13:
x=”D”;
case14:
x=”E”;
case15:
x=”F”;
default:
x=String.valueOf(d);
18.编写一个程序,接收以克为单位的一包茶叶的单位重量、卖出的包数和每克的价格,计算并显示出销售的总额。
其中三个数据一行输入,数据间用“-”分隔。
比如:
输入“3-100-2.1”,表示每包的重量为3克,共卖出100包,每克的价格为2.1元。
此时的销售总额为630元。
importjava.util.Scanner;
publicclassEx18{
Scannerscan=newScanner(System.in);
System.out.println(“请依次输入重量、包数、价格,并以-分隔:
StringstrIn=scan.nextLine();
Scannersc=newScanner(strIn);
sc.useDelimiter(“-”);
//设置分隔符
intnum=sc.nextInt();
intbag=sc.nextInt();
floatprice=sc.nextFloat();
doubletotal=price*num*bag;
System.out.println(“销售总额为:
“+total);
19.编写一个泛型方法,能够返回一个int类型数组的最大值和最小值、String类型数组的最大值和最小值(按字典排序)。
classPair{
privateTmin;
privateTmax;
publicPair(){min=null;
max=null;
}
publicPair(Tmin,Tmax){this.min=min;
this.max=max;
publicTgetMin(){returnmin;
publicTgetMax(){returnmax;
publicvoidsetMin(TnewValue){min=newValue;
publicvoidsetMax(TnewValue){max=newValue;
classArrayAlg{
publicstaticPairminmax(T[]a){
if(a==null||a.length==0){
returnnull;
Tmin=a[0];
Tmax=a[0];
for(inti=1;
i<
a.length;
i++){
if(pareTo(a[i])>
0){min=a[i];
}
if(pareTo(a[i])<
0){max=a[i];
returnnewPair(min,max);
publicclassEx19{
publicstaticvoidmain(String[]args){//测试整型数组
Integer[]arrI={1,2,3,4,5,6};
Pairp1=ArrayAlg.minmax(arrI);
System.out.println(“整型数组的最小值:
“+p1.getMin().intValue());
System.out.println(“整型数组的最大值:
“+p1.getMax().intValue());
//测试字符串数组
String[]words={“able”,”word”,”excel”,”course”,”java”,”c#”};
Pairp2=ArrayAlg.minmax(words);
System.out.println(“字符串数组的最小值:
“+p2.getMin());
System.out.println(“字符串数组的最大值:
“+p2.getMax());
20.编写一个泛型方法,接受对象数组和集合作为参数,将数组中的对象加入集合中。
并编写代码测试该方法。
publicclassEx20{
staticvoidfromArrayToCollection(T[]a,Collectionc){
for(To:
a){
c.add(o);
Integer[]ia=newInteger[100];
Collectioncn=newArrayList();
fromArrayToCollection(ia,cn);
//T是Number类型
System.out.println(cn);
21.试编写一个List类型的对象只能存储通讯录(存储同学的姓名和联系方式),并输出通讯录的列表到控制台。
classStudent{
privateStringname;
privateStringphone;
publicStudent(Stringname,Stringphone){
this.name=name;
this.phone=phone;
publicStringtoString(){
returnname+”:
”+phone;
publicclassEx21{
Studentst1=newStudent(“John”,”23214″);
Studentst2=newStudent(“Alice”,”4563″);
Listlist=newArrayList();
list.add(st1);
list.add(st2);
for(inti=0;
i
System.out.println(list.get(i));
22.设计一个程序,基于泛型Map实现10个英文单词的汉语翻译,即通过单词得到它的中文含义。
publicclassEx22{
String[]eng={“Apple”,”Orange”,”Green”};
String[]chs={“苹果“,”桔子“,”绿色“};
Mapmap=newHashMap();
map.put(eng[i],chs[i]);
Stringtest=”Orange”;
System.out.println(test+”翻译:
“+map.get(test));
1.什么是异常?
什么是Java的异常处理机制?
参考答案:
异常是指程序运行过程中产生的错误,它出现在程序运行过程中。
异常处理机制是为程序提供错误处理的能力。
根据这个机制,对程序运行时可能遇到的异常情况,预先提供一些处理的方法。
在程序执行代码的时候,一旦发生异常,程序会根据预定的处理方法对异常进行处理,处理完成后,程序进行运行。
2.Java中的异常分为哪几类?
Java中的异常分为两种类型:
内部错误:
又称为致命错误。
硬盘损坏、软驱中没有软盘
运行时异常:
比如除数为0、数组下标越界
3.所有异常的父类是()。
A.ErrorB.ThrowableC.RuntimeExceptionD.Exception
4.下列()操作不会抛出异常。
A.除数为零B.用负数索引访问数组C.打开不存在的文件D.以上都会抛出异常
5.能单独和finally语句一起使用的块是()。
A.tryB.throwsC.throwD.catch
A
6.在多重catch块中同时使用下列类时,()异常类应该最后列出。
A.ExceptionB.ArrayIndexOutOfBoundsException
C.NumberFormatExceptionD.Arith