25道Java面试题集合.docx

上传人:b****8 文档编号:10278783 上传时间:2023-02-09 格式:DOCX 页数:6 大小:20.07KB
下载 相关 举报
25道Java面试题集合.docx_第1页
第1页 / 共6页
25道Java面试题集合.docx_第2页
第2页 / 共6页
25道Java面试题集合.docx_第3页
第3页 / 共6页
25道Java面试题集合.docx_第4页
第4页 / 共6页
25道Java面试题集合.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

25道Java面试题集合.docx

《25道Java面试题集合.docx》由会员分享,可在线阅读,更多相关《25道Java面试题集合.docx(6页珍藏版)》请在冰豆网上搜索。

25道Java面试题集合.docx

25道Java面试题集合

25道Java面试题集合

4.JAVA中的标识符有什么作用和特点5.JAVA中的关键字有什么特点,列举出至少20个关键字6.JAVA中数据类型如何分类?

7.JAVA中运算符的分类及举例8.super,this关键字的作用及用法9.什么是JAVA中的表达式?

有什么作用?

10.做表列出JAVA中所有修饰符和他们的适用范围(能不能修饰构造器,属性,自由块等)11.写一个方法,用一个for循环打印九九乘法表12.给定一个java.util.Date对象,如何转化为”2007-3-2220:

23:

22”格式的字符串13.写一个方法,能够判断任意一个整数是否素数14.写一个方法,输入任意一个整数,返回它的阶乘15.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-116.做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处packagecom.softeem.demo;17.描述JAVA中异常处理的机制18.做一个单子模式的类,只加载一次属性文件packagecom.softeem.demo;19.拷贝一个目录(文件)到指定路径20.用JAVA中的多线程示例银行取款问题packagecom.softeem.demo;21.用JAVA中的多线程示例火车站售票问题packagecom.softeem.demo;22.用JAVA中的多线程示例生产者和消费者问题packagecom.softeem.demo;23.编程实现序列化的Student(sno,sname)对象在网络上的传输packagecom.softeem.demo;24.用dom4j组件解析如下XML格式的文件:

25.写出JSP的内置对象并说明他们的作用答案:

1.a:

免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台,无线应用2.a:

包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型3.Java.lang;java.util;java.io;java.sql;java.awt;;java.applet;javax.swing4.作用:

标识符用作给变量、类和方法命名特点:

可以以字母、下划线“_”和”$”符开头首字符外,可以跟上字母、下划线“_”和”$”符或数字Java是大小写敏感的,标识符也不例外5.Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字;goto和const虽然从未被使用,但也作为Java关键字保留;中一共有51个关键字Javaabstractassertbooleanbreakbytecontinuecasecatchcharclassconstdoubledefaultdoextendselsefinalfloatforgotolongifimplementsimportnativenewnullinstanceofintinterfacepackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthiswhilevoidthrowthrowstransienttryvolatile6.可分为简单数据类型和引用数据类型:

简单数据类型:

数值型(byte,short,int,long,floatdouble),字符型(char),布尔型(boolean);引用数据类型:

类,接口,数组.7.分割符:

,;,[],()算术运算符:

+,―,*,/,%,++,――关系运算符:

>,=,>,>>赋值运算符:

=扩展赋值运算符:

+=,―=,*=,/=字符串连接运算符:

+造型操作符:

()8.在Java类中使用super来引用父类的成分–可用于访问父类中定义的属性super–可用于调用父类中定义的成员方法super–可用于在子类构造器中调用父类的构造器super–的追溯不仅于直接父类super中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。

Java–构造器中指该构造器所创建的新对象–方法中指调用该方法的对象关键字的用法this–在类本身的方法或构造器中引用该类的实例变量和方法–将当前对象作为参数传递给其它方法或构造器–用来调用其他的重载的构造器9.表达式是运算符和操作数的结合,它是任何一门编程语言的关键组成部分表达式允许程序员进行数学计算、值的比较、逻辑操作以及在Java中进行对象的操作。

一些表达式的例子:

–X–X+10–Y=x+10–Arr[10]–student.geName()10.class属性方法构建器自由块内部类publicYYYYYprotectedYYYY(Default)YYYYYYprivateYYYYfinalYYYYabstractYYYstaticYYY11./***一个for循环打印九九乘法表*/publicvoidnineNineMultiTable(){for(inti=1,j=1;jendIndex)return-1;if(data{returnbinarySearch(dataset,data,beginIndex,midIndex-1);}elseif(data>dataset[midIndex]){returnbinarySearch(dataset,data,midIndex+1,endIndex);}else{returnmidIndex;}}/***二分查找特定整数在整型数组中的位置(非递归)*@paramdataset*@paramdata*@returnindex*/publicintbinarySearch(int[]dataset,intdata){intbeginIndex=0;intendIndex=dataset.length–1;intmidIndex=-1;if(datadataset[endIndex]||beginIndex>endIndex)return-1;while(beginIndexdataset[midIndex]){beginIndex=midIndex+1;}else{returnmidIndex;}}return-1;}16.做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处packagecom.softeem.demo;/***@authorleno*动物的接口*/interfaceAnimal{publicvoideat(Foodfood);}/***@authorleno*一种动物类:

猫*/classCatimplementsAnimal{publicvoideat(Foodfood){System.out.println(“小猫吃”+food.getName());}}/***@authorleno*一种动物类:

狗*/classDogimplementsAnimal{publicvoideat(Foodfood){System.out.println(“小狗啃”+food.getName());}}/***@authorleno*食物抽象类*/abstractclassFood{protectedStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}/***@authorleno*一种食物类:

鱼*/classFishextendsFood{publicFish(Stringname){this.name=name;}}/***@authorleno*一种食物类:

骨头*/classBoneextendsFood{publicBone(Stringname){this.name=name;}}/***@authorleno*饲养员类**/classFeeder{/***饲养员给某种动物喂某种食物*@paramanimal*@paramfood*/publicvoidfeed(Animalanimal,Foodfood){animal.eat(food);}}/***@authorleno*测试饲养员给动物喂食物*/publicclassTestFeeder{publicstaticvoidmain(String[]args){Feederfeeder=newFeeder();Animalanimal=newDog();Foodfood=newBone(“肉骨头”);feeder.feed(animal,food);//给狗喂肉骨头animal=newCat();food=newFish(“鱼”);feeder.feed(animal,food);//给猫喂鱼}}17.描述JAVA中异常处理的机制?

程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。

Java?

当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

?

如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。

?

程序员通常只能处理违例(Exception),而对错误(Error)无能为力。

18.做一个单子模式的类,只加载一次属性文件packagecom.softeem.demo;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.util.Properties;/***@authorleno*单子模式,保证在整个应用期间只加载一次配置属性文件*/publicclassSingleton{privatestaticSingletoninstance;privatestaticfinalStringCONFIG_FILE_PATH=“E:

\\config.properties”;privatePropertiesconfig;privateSingleton(){config=newProperties();InputStreamis;try{is=newFileInputStream(CONFIG_FILE_PATH);config.load(is);is.close();}catch(FileNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}publicstaticSingletongetInstance(){if(instance==null){instance=newSingleton();}returninstance;}publicPropertiesgetConfig(){returnconfig;}publicvoidsetConfig(Propertiesconfig){this.config=config;}}lJ2SE19.拷贝一个目录(文件)到指定路径/***拷贝一个目录或者文件到指定路径下*@paramsource*@paramtarget*/publicvoidcopy(Filesource,Filetarget){Filetarpath=newFile(target,source.getName());if(source.isDirectory()){tarpath.mkdir();File[]dir=source.listFiles();for(inti=0;i=money){System.out.println(“被取走”+money+”元!

”);try{Thread.sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}balance-=money;}else{System.out.println(“对不起,余额不足!

”);}}}/***@authorleno*银行卡*/classTestAccount1extendsThread{privateAccountaccount;publicTestAccount1(Accountaccount){this.account=account;}@Overridepublicvoidrun(){account.withdrawals(800);System.out.println(“余额为:

”+account.getBalance()+”元!

”);}}/***@authorleno*存折*/classTestAccount2extendsThread{privateAccountaccount;publicTestAccount2(Accountaccount){this.account=account;}@Overridepublicvoidrun(){account.withdrawals(700);System.out.println(“余额为:

”+account.getBalance()+”元!

”);}}publicclassTest{publicstaticvoidmain(String[]args){Accountaccount=newAccount();TestAccount1testAccount1=newTestAccount1(account);testAccount1.start();TestAccount2testAccount2=newTestAccount2(account);testAccount2.start();}}21.用JAVA中的多线程示例火车站售票问题packagecom.softeem.demo;/***@authorleno*售票类*/classSaleTicketimplementsRunnable{inttickets=100;publicvoidrun(){while(tickets>0){sale();//或者下面这样实现//synchronized(this){//if(tickets>0){//System.out.println(Thread.currentThread().getName()+“卖第”//+(100–tickets+1)+“张票”);//tickets–;//}//}}}publicsynchronizedvoidsale(){if(tickets>0){System.out.println(Thread.currentThread().getName()+“卖第”+(100–tickets+1)+“张票”);tickets–;}}}publicclassTestSaleTicket{publicstaticvoidmain(String[]args){SaleTicketst=newSaleTicket();newThread(st,“一号窗口”).start();newThread(st,“二号窗口”).start();newThread(st,“三号窗口”).start();newThread(st,“四号窗口”).start();}}22.用JAVA中的多线程示例生产者和消费者问题packagecom.softeem.demo;classProducerimplementsRunnable{privateSyncStackstack;publicProducer(SyncStackstack){this.stack=stack;}publicvoidrun(){for(inti=0;i>”+stu);ois.close();s.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}classMyServerextendsThread{@Overridepublicvoidrun(){try{ServerSocketss=newServerSocket(9999);Sockets=ss.accept();ObjectOutputStreamops=newObjectOutputStream(s.getOutputStream());Studentstu=newStudent(1,“赵本山”);ops.writeObject(stu);ops.close();s.close();ss.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}publicclassTestTransfer{publicstaticvoidmain(String[]args){newMyServer().start();newMyClient().start();}}lJDBC24.用dom4j组件解析如下XML格式的文件:

aaa1231bbb4444规则:

operation1表insert,2表update,3表delete.handle1表作为where条件,0表作为操作字段。

要求:

按照规则生成三条SQL语句!

(即做一个方法解析xml文件生成一个含有三条SQL语句的字符串)/***解析XML文件生成一个含有可执行SQL语句的字符串*@paramxmlFileName*@returnSQL*/publicStringparseXmltoSQL(StringxmlFileName){StringBuffersbsql=newStringBuffer();SAXReaderreader=newSAXReader();try{Documentdocument=reader.read(newFile(xmlFileName));Elementelement=document.getRootElement();Iteratorit=element.elementIterator(“table”);while(it.hasNext()){element=(Element)it.next();//获得对表的操作Stringoper=element.attributeValue(“operation”);//获得表名StringtableName=element.attributeValue(“name”);if(“1″.equals(oper)){sbsql.append(“insertinto“).append(tableName);Iteratorit2=element.elementIterator(“column”);StringcolumnName1=null;StringcolumnValue1=null;StringcolumnName2=null;StringcolumnValue2=null;if(it2.hasNext()){element=(Element)it2.next();columnName1=element.attributeValue(“name”);columnValue1=element.getText();}if(it2.hasNext()){element=(Element)it2.next();columnName2=element.attributeValue(“name”);columnValue2=element.getText();}sbsql.append(“(“+columnName1+”,”+columnName2+”)”+”values(‘”+columnValue1+”‘,’”+columnValue2+”‘)\n”);}elseif(“2″.equals(oper)){sbsql.append(“update“).append(tableName);Iteratorit2=element.elementIterator(“column”);StringcolumnName1=null;StringcolumnValue1=null;StringcolumnName2=null;StringcolumnValue2=null;StringcolumnName3=null;StringcolumnValue3=null;if(it2.hasNext()){element=(Element)it2.next();columnName1=element.attributeValue(“name”);columnValue1=element.getText();}if(it2.hasNext()){element=(Element)it2.next();columnName2=element.attributeValue(“name”);columnValue2=element.getText();}if(it2.hasNext()){element=(Element)it2.next();columnName3=element.attributeValue(“name”);columnValue3=element.getText();}sbsql.append(”set“+columnName2+”=’”+columnValue2+”‘,”+columnName3+”=’”+columnValue3+”‘where“+columnName1+”=”+columnValue1+”\n”);}elseif(“3″.equals(oper)){sb

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1