java基础知识笔试题实用word文档 17页.docx
《java基础知识笔试题实用word文档 17页.docx》由会员分享,可在线阅读,更多相关《java基础知识笔试题实用word文档 17页.docx(28页珍藏版)》请在冰点文库上搜索。
![java基础知识笔试题实用word文档 17页.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/214db3c1-1669-4a5b-bbd8-58cb49107f6e/214db3c1-1669-4a5b-bbd8-58cb49107f6e1.gif)
java基础知识笔试题实用word文档17页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
java基础知识笔试题
面试java工程师的时候有些公司会用一些基础知识题检测以下应聘人员是否有认真掌握java知识原理。
下面是小编为大家整理的关于java基础知识笔试题,希望大家喜欢!
java基础知识笔试题
1.Java中提供了名为()的包装类来包装原始字符串类型:
A.IntegerB.CharC.DoubleD.String
答案:
D
2.java.lang包的()方法比较两个对象是否相等,相等返回true。
A.toString()B.equals()C.compare()D.以上所有选项都不正确
答案:
B
3.使用()方法可以获得Calendar类的实例。
A.get()B.equals()C.getTime()D.getInstance()
答案:
D
4.下面的集合中,()不可以存储重复元素。
A.SetB.CollectionC.MapD.List
答案:
C
5.关于Map和List,下面说法正确的是()。
A.Map继承ListB.List中可以保存Map或List
C.Map和List只能保存从数据库中取出的数据
D.Map的value可以是List或Map
答案:
D
6.给定如下Java代码,编译运行的结果是()。
importjava.util.*;
publicclassTest{
publicstaticvoidmain(String[]args){
LinkedListlist=newLinkedList();
list.add(“A”);
list.add(2,”B”);
Strings=(String)list.get
(1);
System.out.println(s);
}
}
A.编译时发生错误B.运行时引发异常C.正确运行,输出:
AD.正确运行,输出:
B
答案:
B
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
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{
publicstaticvoidmain(String[]args){
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{
publicstaticvoidmain(String[]args){
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{
publicstaticvoidmain(String[]args){
Stackstack=newStack();
stack.add(“1″);
stack.add(“2″);
stack.add(“3″);
System.out.println(stack.get());
stack.delete();
System.out.println(stack.get());
}
}
14.编写程序,计算任意两个日期之间间隔的天数。
参考代码:
importjava.util.Calendar;
publicclassEx14{
publicstaticvoidmain(String[]args){
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{
publicstaticvoidmain(String[]args){
HashMapmap=newHashMap();
map.put(“张三“,90);
map.put(“李四“,83);
System.out.println(“修改前的成绩:
“);
System.out.println(map);
map.put(“李四“,100);
System.out.println(“修改后的成绩:
“);
System.out.println(map);
}
}
16.编写一个程序,用parseInt方法将字符串200由十六进制转换为十进制的int型数据,用valueOf方法将字符串123456转换为float型数据。
参考代码:
publicclassEx16{
publicstaticvoidmain(String[]args){
Stringstr1=”200″;
System.out.println(Integer.parseInt(str1,16));
Stringstr2=”123456″;
System.out.println(Float.parseFloat(str2));
}
}
17.编写程序,将long型数据987654转换为字符串,将十进制数365转换为十六进制数表示的字符串。
参考代码:
publicclassEx17{
publicstaticvoidmain(String[]args){
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);
x=change(d);
for(intj=m.length-1;j>=0;j–){
x+=m[j];
}
}
returnx;
}
//判断是否为10-15之间的数,如果是则进行转换
publicstaticStringchange(intd){
Stringx=”";
switch(d){
case10:
x=”A”;
break;
case11:
x=”B”;
break;
case12:
x=”C”;
break;
case13:
x=”D”;
break;
case14:
x=”E”;
break;
case15:
x=”F”;
break;
default:
x=String.valueOf(d);
}
returnx;
}
}
18.编写一个程序,接收以克为单位的一包茶叶的单位重量、卖出的包数和每克的价格,计算并显示出销售的总额。
其中三个数据一行输入,数据间用“-”分隔。
比如:
输入“3-100-2.1”,表示每包的重量为3克,共卖出100包,每克的价格为2.1元。
此时的销售总额为630元。
参考代码:
importjava.util.Scanner;
publicclassEx18{
publicstaticvoidmain(String[]args){
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 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.编写一个泛型方法,接受对象数组和集合作为参数,将数组中的对象加入集合中。
并编写代码测试该方法。
参考代码:
importjava.util.*;
publicclassEx20{
staticvoidfromArrayToCollection(T[]a,Collectionc){
for(To:
a){
c.add(o);
}
}
publicstaticvoidmain(String[]args){
Integer[]ia=newInteger[100];
Collectioncn=newArrayList();
fromArrayToCollection(ia,cn);//T是Number类型
System.out.println(cn);
}
}
21.试编写一个List类型的对象只能存储通讯录(存储同学的姓名和联系方式),并输出通讯录的列表到控制台。
参考代码:
importjava.util.*;
classStudent{
privateStringname;
privateStringphone;
publicStudent(Stringname,Stringphone){
this.name=name;
this.phone=phone;
}
publicStringtoString(){
returnname+”:
”+phone;
}
}
publicclassEx21{
publicstaticvoidmain(String[]args){
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个英文单词的汉语翻译,即通过单词得到它的中文含义。
参考代码:
importjava.util.*;
publicclassEx22{
publicstaticvoidmain(String[]args){
String[]eng={“Apple”,”Orange”,”Green”};
String[]chs={“苹果“,”桔子“,”绿色“};
Mapmap=newHashMap();
for(inti=0;i
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
答案:
B
4.下列()操作不会抛出异常。
A.除数为零B.用负数索引访问数组C.打开不存在的文件D.以上都会抛出异常
答案:
D
5.能单独和finally语句一起使用的块是()。
A.tryB.throwsC.throwD.catch
答案:
A
6.在多重catch块中同时使用下列类时,()异常类应该最后列出。
A.ExceptionB.ArrayIndexOutOfBoundsException
C.NumberFormatExceptionD.Arith