2023年java应届生面试题和答案3篇

时间:2023-03-30 11:30:05 公文范文 来源:网友投稿

java应届生面试题和答案1  1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。  Java语言提供了八种基本类型:  六种数字类型(四个整数型,两个浮点型)  字节型下面是小编为大家整理的2023年java应届生面试题和答案3篇,供大家参考。

2023年java应届生面试题和答案3篇

java应届生面试题和答案1

  1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。

  Java语言提供了八种基本类型:

  六种数字类型(四个整数型,两个浮点型)

  字节型byte 8位 短整型short 16位 整型int 32位

  长整型long 64位 单精度float 32位 双精度double 64位

  一种字符类型

  字符型char 8位

  还有一种布尔型

  布尔型:boolean 8位 可存储"True"和"false"。

  String本身就是一个对象而不是基本数据类型,String的变量名是对String类的引用。

  2.字符串的操作:

  写一个方法,实现字符串的反转,如:输入abc,输出cba

  public static String reverse(String s){

  int length=s.length();

  StringBuffer result=new StringBuffer(length);

  for(int i=length-1;i>=0;i--)

  result.append(s.charAt(i));

  return result.toString();

  }

  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 String s = "bbbwlirbbb";s.replaceAll("wlirbbb","hhtccc");

  3.数据类型之间的转换

  如何将数值型字符转换为数字(Integer,Double)

  使用Integer.parseInt()和Double.parseDouble()方法。

  如何将数字转换为字符

  class my

  {

  int a=12;

  Label label=new Label();

  label.setText(String.valueOf(a));

  }

  如何取小数点前两位,并四舍五入。

  System.out.println("四舍五入取整:(3.856)="

  + new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP));

  4.日期和时间

  如何取得年月日,小时分秒

  Date dat=new Date();

  dat.getYear(); dat.getMonth(); dat.getDay(); dat.getHours(); dat.getMinutes(); dat.getSeconds();

  如何取得从1970年到现在的毫秒数

  long now=dat.getTime();

  如何获取某个日期是当月的最后一天

  DateFormate df=DateFormate.getInstance();df.Format(dat);

  如何格式化日期

  DateFormate df=DateFormate.getInstance();

  df.Format(dat);

java应届生面试题和答案2

  1.数组和集合

  数组与集合的区别:一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。三:数组是一种可读/可写数据结构没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方 只读方式来使用集合。该方法将返回一个集合的只读版本。

  2.Java多态的实现(继承、重载、覆盖)

  多态可分为:

  1)编译多态:主要是体现在重载,系统在编译时就能确定调用重载函数的哪个版本。

  2)运行多态:主要体现在OO设计的继承性上,子类的对象也是父类的对象,即上溯造型,所以子类对象可以作为父类对象使用,父类的对象变量可以指向子类对象。因此通过一个父类发出的方法调用可能执行的是方法在父类中的实现,也可能是某个子类中的实现,它是由运行时刻具体的对象类型决定的。

  3.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

  String str = new String("字符串".getBytes("GB2312"),"ISO-8859-1");

  4.使用StringBuffer类与String类进行字符串连接时有何区别?

  JAVA*台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

  5.谈谈final, finally, finalize的区别。

  final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。

  finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

  6.int 和 Integer 有什么区别?

  Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。

  Int是java的原始数据类型,

  Integer是java为int提供的封装类。

  Java为每个原始类型提供了封装类。

  原始类型封装类booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble

  引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的.数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。


java应届生面试题和答案3篇扩展阅读


java应届生面试题和答案3篇(扩展1)

——java实习生面试题3篇

java实习生面试题1

  1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。

  Java语言提供了八种基本类型:

  六种数字类型(四个整数型,两个浮点型)

  字节型byte 8位 短整型short 16位 整型int 32位

  长整型long 64位 单精度float 32位 双精度double 64位

  一种字符类型

  字符型char 8位

  还有一种布尔型

  布尔型:boolean 8位 可存储"True"和"false"。

  String本身就是一个对象而不是基本数据类型,String的变量名是对String类的引用。

  2.字符串的操作:

  写一个方法,实现字符串的反转,如:输入abc,输出cba

  public static String reverse(String s){

  int length=s.length();

  StringBuffer result=new StringBuffer(length);

  for(int i=length-1;i>=0;i--)

  result.append(s.charAt(i));

  return result.toString();

  }

  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 String s = "bbbwlirbbb";

  s.replaceAll("wlirbbb","hhtccc");

  3.数据类型之间的转换

  如何将数值型字符转换为数字(Integer,Double)

  使用Integer.parseInt()和Double.parseDouble()方法。

  如何将数字转换为字符

  class my

  {

  int a=12;

  Label label=new Label();

  label.setText(String.valueOf(a));

  }

  如何取小数点前两位,并四舍五入。

  System.out.println("四舍五入取整:(3.856)="

  + new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP));

java实习生面试题2

  1.日期和时间

  如何取得年月日,小时分秒

  Date dat=new Date();

  dat.getYear(); dat.getMonth(); dat.getDay(); dat.getHours(); dat.getMinutes(); dat.getSeconds();

  如何取得从1970年到现在的毫秒数

  long now=dat.getTime();

  如何获取某个日期是当月的最后一天

  DateFormate df=DateFormate.getInstance();df.Format(dat);

  如何格式化日期

  DateFormate df=DateFormate.getInstance();

  df.Format(dat);

  2.数组和集合

  数组与集合的区别:一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。三:数组是一种可读/可写数据结构没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方 只读方式来使用集合。该方法将返回一个集合的只读版本。

  3.文件和目录(I/O)操作

  如何列出某个目录下的所有文件

  如何列出某个目录下的所有子目录

  判断一个文件或目录是否存在

  如何读写文件

  import java.io.BufferedReader;

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.FileReader;

  import java.io.FileWriter;

  import java.io.IOException;

  import java.io.InputStreamReader;

  import java.io.PrintWriter;

  public class FileOpreate {

  public static void main(String [] args)

  {

  FileOpreate fo=new FileOpreate();

  try

  {

  //文件的写入

  /*String[] testStr=new String[50];

  for(int i=0;i

  {

  testStr[i]="我的测试数据00"+i;

  }

  fo.writeFile("D:\\","test.txt",testStr);

  */

  //文件的写入

  /*String str="测试";

  fo.writeFile("D:\\","test001.txt",str);*/

  //创建或者删除文件

  /*if(fo.createAndDeleteFile("D:\\","test001.txt"))

  {

  fo.createAndDeleteFile("D:\","test002.txt");

  }*/

  //创建或者删除文件夹

  /*fo.createAndDeleteFolder("D:\\","2009-07-06");*/

  //输出一个文件内的文件名称

  /*fo.readFolderByFile("D:\\");*/

  //判断一个文件是否是空的

  /*fo.fileIsNull("D:\\","test002.txt");*/

  //读取全部的文件内容

  /*fo.readAllFile("D:\\","test.txt");*/

  //一行一行读取文件内容

  fo.readLineFile("D:\\","test.txt");

  }

  catch(Exception e)

  {

  e.printStackTrace();

  }

  }


java应届生面试题和答案3篇(扩展2)

——java面试题和答案3篇

java面试题和答案1

  1.Java反射机制的作用?

  解答:Java反射机制的作用是:

  1)在运行时判断任意一个对象所属的类。

  2)在运行时构造任意一个类的对象。

  3)在运行时判断任意一个类所具有的成员变量和方法。

  4)在运行时调用任意一个对象的方法

  2.你是怎么理解java的泛型的?

  解答: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

  泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

  泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

  3.JAVA源文件中是否可以包括多个类,有什么限制

  解答:一个java源文件中可以包含多个类,每个源文件中至多有一个public类,如果有的话,那么源文件的名字必须与之相同。如果源文件中没有public类,则源文件用什么名字都可以,但最好还是具有特定的意义,免得自己都不记得里面写的是什么了。

  4.请解释分布式事务管理?

  解答:分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。

  阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则整个事务取消,不会进行资源的更新。否则,事务将正常执行,除非发生灾难性的失败。为了防止会发生灾难性的失败,所有资源的更新都会写入到日志中。这些日志是永久性的,因此,这些日志会幸免遇难并且在失败之后可以重新对所有资源进行更新。

  阶段二:只在阶段一没有异常结束的时候才会发生。此时,所有能被定位和单独控制的资源管理器都将开始执行真正的数据更新。 在分布式事务两阶段提交协议中,有一个主事务管理器负责充当分布式事务协调器的角色。事务协调器负责整个事务并使之与网络中的其他事务管理器协同工作。 为了实现分布式事务,必须使用一种协议在分布式事务的各个参与者之间传递事务上下文信息,IIOP便是这种协议。这就要求不同开发商开发的事务参与者必须支持一种标准协议,才能实现分布式的事务。

java面试题和答案2

  1.请用正则表达式匹配出QQ号(假设QQ号码为5—10位);

  解答: ^ \d{5,10}$

  2. String, StringBuffer StringBuilder的"区别。

  解答:String的长度是不可变的; StringBuffer的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法;线程安全;

  StringBuilder是从 JDK 5 开始,为StringBuffer该类补充了一个单个线程使用的等价类;通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。

  3.请写出5种常见到的runtime exception。

  解答:

  NullPointerException:当操作一个空引用时会出现此错误。

  NumberFormatException:数据格式转换出现问题时出现此异常。

  ClassCastException:强制类型转换类型不匹配时出现此异常。

  ArrayIndexOutOfBoundsException:数组下标越界,当使用一个不存在的数组下标时出现此异常。

  ArithmeticException:数*行错误时出现此异常

  4.数组有没有length()这个方法?String有没有length()这个方法?

  解答:数组没有length()方法 它有length属性

  String有length()方法。

  5.请写出一个单例模式。

  解答:单例模式(Singleton pattern):确保一个类只有一个实例,并提供一个全局的访问点public class EagerSingleton { private static final EagerSingleton m_instance = new EagerSingleton(); /** * 私有的默认构造子 */ private EagerSingleton() { } /** * 静态工厂方法 */ public static EagerSingleton getInstance() { return m_instance; } }

  6.在java中,List是个接口,那实现List接口的类有哪些,有什么区别?

  解答: ArrayList是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。


java应届生面试题和答案3篇(扩展3)

——面试题及答案应届生 (菁选2篇)

面试题及答案应届生1

  1.在校期间你有过活动组织经历吗?能介绍一下吗?

  建议:面试官询问此问题,主要是想考察应届生的群体合作能力。毕竟,校园和职场还有差距,在学校时崇尚个性,但在工作中却讲求合作。所以,回答这一问题时,最好强调一下那些需要群体合作和领导才能的活动。

  2.描述一下你的学习态度?你的学术、成就?

  建议:这类提问主要针对专业兴趣和专业能力、学习的基本素质,学习内容的结构特点等,是招聘单位判断你专业基础和发展潜力以及与岗位的要求相适应程度的重要依据。

  3.你的专业课程中,哪些课程最让你感兴趣了?

  建议:这是面试官为求职者设下的一个陷阱。如果求职者直接回答“数学”等具体课程,而且还说明了理由,会让面试官感觉求职者是凭兴趣在学习,进而联系到求职者是否会凭兴趣应聘工作。求职者可以试着这样回答:“我确实对个别科目不是很感兴趣(比如数学),但正因为这样,我*时用比较多的时间去学这门课程,这样,渐渐地,不感兴趣的课程也开始有了兴趣,从而保证了各门课程成绩的*衡。”

  4.介绍一下你的课外活动。你为什么愿意从事那些课外活动?通过那些课外活动,你都学了些什么?

  建议:面试官询问你课外活动,其实,也是变相的引导你讲述自己的工作经历。在回答这一问题时,最好着重叙述与应聘岗位相关,或是有联系的实习经历。

面试题及答案应届生2

  1.你为什么来应聘这份工作?(或为什么你想到这里来工作?)

  建议:应证者为了表明应征原因及工作意愿,回答时答案最好是能与应征公司的产品及企业相关的,最好不要回答:因为将来有发展性、因为安定等答案,要表现出有充分研究过企业的样子。

  2.除了本公司外,还应征了那些公司?

  建议:很奇怪,这是相当多公司会问的问题,其用意是要概略知道应征者的求职志向,所以这并非绝对是负面答案,就算不便说出公司名称,也应回答"销售同种产品的公司",如果应征的其它公司是不同业界,容易让人产生无法信任的感觉。

  3.你认为这份工作最重要的是什么?

  建议:叙述工作特性的"同时,也要加上自己的看法,如果是有经验的人,最好说明自己的心态。


java应届生面试题和答案3篇(扩展4)

——java应届生面试自我介绍5篇

java应届生面试自我介绍1

  我叫xx,今年21岁,毕业于*信息工程大学计算机科学与技术专业,拥有扎实的core java基础,良好的编程风格;熟悉jsp+servlet+javabean模式的web开发;熟悉struts,hibernate,spring等开源框架,了解ejb;熟悉tomcat,jboss服务器等,熟悉基于linux及unix环境下的软件开发;

  在校期间有多次社会实践经历,曾参与过学院网上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表。虽然实际工作经验不是很足,但军校四年培养了我充分的自信心和敬业精神以及扎实的学科基础知识和较强的专业技能,四年军校生活中,我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。

  请各位考官多多指教,谢谢!

java应届生面试自我介绍2

  我叫xxx,今年21岁,湖北黄冈人,于20xx,6月毕业于武汉职业技术学院。

  学习的专业是软件技术,主要学习的java方向的企业级应用开发和管理。

  之前在武汉锁软件科技有限公司实习,毕业后在该公司担任java 程序员一职,主要从事java项目相关模块的开发,能熟练使用Java技术,熟悉Jsp,Servlet,Jdbc,和常用框架spring,Struts,Hibernate及前端技术:jS,jquery,和数据库ORACLE,Sqlserver。对Exitjs和UML有一定基础。

  我的个人计划是:在5年之内从事java开发工作,积累行业经验和技术以及人脉。并且自学英语,考个英语等级证,我相信只要我想做到的,就一定会做到。

  来到上海这边,我希望找个好工作,希望贵公司能给我一个展现自身能力的机会,介绍完毕,谢谢!

java应届生面试自我介绍3

  我叫xxx,今年21岁,毕业于xx*信息工程大学计算机科学与技术专业,拥有扎实的core java基础,良好的编程风格;熟悉jsp+servlet+javabean模式的web开发;熟悉struts,hibernate,spring等开源框架,了解ejb; 熟悉tomcat,jboss服务器等,熟悉基于linux及unix环境下的软件开发;

  在校期间有多次社会实践经历,曾参与过学院网上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表。虽然实际工作经验不是很足,但军校四年培养了我充分的自信心和敬业精神以及扎实的学科基础知识和较强的专业技能,四年军校生活中,我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。

  请各位考官多多指教,谢谢!

java应届生面试自我介绍4

  各位领导好,我叫XXX,剩余的余,金子的金。我的老家在是河南省固始县,父母都健在身体都很健康,我还有一个 姐姐在武汉工作。我是07年大学毕业的,所学的专业也是计算机Javar软件技术。记得当时还没毕业就来上海找工作了,当时就在上海万达公司实习,半年后 就转正到卫生服务事业部,从事于医疗卫生项目方面的程序员开发工作。大概一共是待了一年半吧,就辞职了。原因大概是当时的工作氛围让我觉得没什么意思再加 上当时还自我感觉良好就跳到一家日企里上班,正好那时候公司在过CMMI3,做的项目都严格按照CMMI流程走的,什么文档、Coding、测试的我都有 参与。那时候真的是让学到不少项目上的东西,可能正好是金融危机吧,公司原先承诺的工资没有兑现然后我就走了。去的是上海XX信息公司,从刚开始的项目主 力开发到项目组长,在上农信近三年的工作中我最大的收获就是公司放手让我在项目独挡一面跟客户面对面自由的沟通好需求,项目后期给客户提供项目培训然后通 过客户的反馈知道项目的得与失。可能是我不太适应公司的人事变化吧,然后就提出离职走了。

  技术方面我一直都是从事于J2ee Web方面的工作,一般开源的框架Struts1、Struts2、Hibernate、Ibatis、Spring都有项目开发使用。掌握前端Ajax、Jquery、Dwr、包括CSS、HTML。

  数据库方面能写复杂的SQL查询统计包括视图、存储过程的开发,有postgre,Oracle,Sql Server项目开发经验。

  我的性格方面不算外向好像也不内向,喜欢交朋友,也喜欢有挑战性的。闲暇时间打打羽毛球、乒乓球,下象棋。

  如果问为什么换工作:目前我感觉工作不太稳定,我做的这个项目是公司的作为开拓性的,带有一定的实验性可能成功也可能失败,退回头来说即使这个项目最终成功了我也找不到自己的`定位。

  性格缺点:说话太直,做事情缺少魄力想的太多会犹豫不决。

  性格优点:工作方面自我感觉做事比较认真、负责,能吃苦耐劳。

java应届生面试自我介绍5

  我是**科技职业学院信息电子系计算机硬件专业的一名应届毕业生,我名字叫。在三年的学习生活中,我牢固地掌握了计算机硬件与电子专业的基础知识,精通数电与模电,熟练Office办公软件和Protel99se,对计算机组装与维护把握深刻,并在各种实践中获得了一定的实际运用能力。

  并利用课余时间进行了汉语言文学自学考试,通过科目过半。在自考期间不但提高了文学功底,而且培养了我坚强的意志。

  课余时间我还广泛阅读各方面书籍,积极参加各种集体活动和社会实践活动,扩展了知识面,培养了团队精神,增强了组织交际能力,提升了综合素质。


java应届生面试题和答案3篇(扩展5)

——java常见面试题目3篇

java常见面试题目1

  第一,谈谈final, finally, finalize的区别。

  final:修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载

  finally:再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

  finalize:方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

  匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

  Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。

  注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

  第四,&和&&的区别。

  &是位运算符。&&是布尔逻辑运算符。

  第五,HashMap和Hashtable的区别。

  都属于Map接口的类,实现了将惟一键映射到特定的值上。

  HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。

  Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

  第六,Collection 和 Collections的区别。

  Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

  Collection是个java.util下的接口,它是各种集合结构的父接口。

  第七,什么时候用assert。

  断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 AssertionError。它用于调试目的:

  assert(a > 0); // throws an AssertionError if a <= 0

  断言可以有两种形式:

  assert Expression1 ;

  assert Expression1 : Expression2 ;

  Expression1 应该总是产生一个布尔值。

  Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。

  断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:

  javac -source 1.4 Test.java

  要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。

  要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。

  要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。

  可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

  第八,GC是什么? 为什么要有GC? (基础)。

  GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc() Runtime.getRuntime().gc()

  第九,String s = new String("xyz");创建了几个String Object?

  两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

  Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

java常见面试题目2

  第一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

  short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

  第二,sleep() 和 wait() 有什么区别? 搞线程的最爱

  sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级

  (b)正在运行的线程因为其它原因而阻塞。

  wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

  第三,Java有没有goto? Goto?

  java中的保留字,现在没有在java中使用。

  第四,数组有没有length()这个方法? String有没有length()这个方法?

  数组没有length()这个方法,有length的属性。 String有有length()这个方法。

  第五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

  方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

  第六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

  Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。

  equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

  第七,给我一个你最常见到的runtime exception。

  ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,

  ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

  第八,error和exception有什么区别?

  error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

  第九,List, Set, Map是否继承自Collection接口?

  List,Set是 Map不是

  第十,abstract class和interface有什么区别?

  声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

  接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的`接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。


java应届生面试题和答案3篇(扩展6)

——java常见面试题及答案3篇

java常见面试题及答案1

  1. final关键字可以用来修饰什么?分别起什么作用?

  a) final可以修饰类,这样的类不能被继承。

  b) final可以修饰方法,这样的方法不能被重写。

  c) final可以修饰变量,这样的变量的值不能被修改,是常量。

  2. 简述super关键字作用?

  a) 使用super调用父类的构造方法。

  b) 使用super操作被隐藏的成员变量和方法。

  3. 简述什么是对象上转型?

  假设,A 类是B 类的父类,当我们用子类创建一个对象,并把这个对象的引用放到父类的对象中时,我们称这个父类对象是子类对象的上转型对象。

  4. 上转型对象可以操作什么?不可以操作什么?

  a) 上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能 。

  b) 上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。

  5. 什么是抽象类?什么是抽象方法?有什么特点?

  a) 用关键字abstract修饰类称为抽象类,abstract类不能用new运算创建对象,必须产生其子类,由子类创建对象。

  b) 用关键字abstract修饰方法称为抽象方法,abstract方法,只允许声明,而不允许实现。

  6. 一个类声明实现一个接口,那么这个类需要做什么工作?

  实现接口里所有的方法,并且这些方法的访问权限必须是public。

  7. 简述什么是数组?

  数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标,来使用数组中的数据。下标从 0 开始排序。

  8. 创建数组是否需要指定数组长度,如何求数组长度?

  必须指定数组长度,数组调用 .length来获取数组长度。

  9. char数组和byte数组如何转化成字符串?如何求字符串长度?

  利用String类本身的构造方法,String (char a[]),String (byte a[]),””.length()。以下方法均为字符串中方法

  10. equals equalsIgnoreCase startsWith endsWith

  a) 字符串比较 。

  b) 忽略大小写比较。

  c) 判断是否以指定字符串开头、结尾。

java常见面试题及答案2

  1. regionMatches

  判断一个字符串的子串是否和另一个字符串的子串匹配。

  2. compareTo compareToIgnoreCase indexOf

  a) 按字典顺序比较字符串。

  b) 忽略大小写的按字典顺序比较字符串。

  c) 字符串检索。

  3. substring replace trim()

  a) 字符串截取

  b) 字符串替换

  c) 去掉字符串前后空格。

  4. 字符串如何转化为int型,double型?

  a) Integer.parseInt(“1”);

  b) Double.parseDouble(“25。45”);

  5. 简述StringTokenizer作用?

  按照指定的分隔符,将字符串解析成若干语言符号。

  6. 如何判断一个字符是不是数字,是不是大写?

  a) Character.isDigit(‘a’)

  b) Character.isUpperCase(‘U’)

  7. 已知一个java.util.Date对象,如何格式化成如下格式 YYYY-MM-dd hh:mm:ss

  SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  formate.format(new Date()));

  8. 如何生成一个0-100的随即整数?

  (int)(Math.random()*100)

  9. 简述java异常处理的机制?

  当所调用的方法出现异常时,调用者可以捕获异常使之得到处理;也可以回避异常。

  10. 简述如下关键字用途try、catch、throw、throws、finally

  a) try:保护代码,如果try中某行代码出现异常,则try中代码不再继续执行。

  b) catch:捕获异常,当try中出现异常,则catch负责捕获异常,并处理。

  c) throw:抛出异常。

  d) throws:声明异常。

  e) finally:无论try中是否出现异常,finally一定执行。


java应届生面试题和答案3篇(扩展7)

——应届生面试技巧与礼仪

应届生面试技巧与礼仪1

  在语言的表达上,要做到准确、精练、*易、生动。

  一是要准确。要掌握答题的思维技巧,遣词造句要能准确表情达意,如实反映自己的思想。切忌故弄玄虚、华而不实和生造词语。二是要精练。简洁洗练,要言不烦,言简意赅,适当运用成语、谚语和简短明快的短句。力戒空话套话、口头禅和重复累赘之语。三是要*易。面试答题应尽量通俗易懂,多用口语化的语言和明快的短句,多用自己的语言。四是要生动。要掌握语言技巧,不能用吊板的念稿子似的语调来回答问题,那样只会降低吸引力。应吐字清晰,嗓音响亮悦耳,圆润柔和,富有情感。要注意语调,说话时应掌握语法重音和逻辑重音,根据语义、语法及思想感情表达的需要而使语音显出高低、抑扬、快慢、轻重和停顿等变化。

  在行为举止上,要尽量做到神情自若,优雅大方。

  由于面试的时间有限,高超的体态语言会给评委留下深刻的第一印象,是面试走向成功的良好开端。相反,如果体态语言笨拙,由于"晕轮效应"的作用,要想在有限的时间内通过精彩的答题来弥补和扭转不良印象,难度可想而知。那么,如何运用好体态语言呢?一是要注意表情,以笑达意,以眼传神。适时的微笑能够融洽参试者与考官之间的关系,缩短彼此的心理距离,给人以美感,表达出愉悦的的情绪体验和积极的心境。二是要注意行为语言,坐姿要端正,举止要得体。坐立行走时要挺直脊梁。坐下后要两腿自然靠拢,给人以精神振奋的感觉。手的摆放要自然,在讲话时可以适当地添加一些辅助的手势,以吸引别人的注意,并起到强调的作用,但切不可手舞足蹈,给人作风漂浮的错觉。

  有声语言和动作语言应适时互补。

  面试时回答问题的内容再好,若表情刻板,冷若冰霜,也会使语言表达逊色,让人觉得乏味,影响到面试的成绩。当然,也要防止体态语的乱用,不要老是无目的、单调、机械地重复某种动作,防止体态动作太碎、太多,给人留下不够庄重的印象。

  在服饰仪表上,要衣冠整洁,头发、胡须要整理干净。

  外表在很大程度上决定着人的第一印象,着装应依据整洁、新颖、协调的原则,注意适合干部工作的职业特点和面试考场环境。要符合自己的气质,并能弥补性格的缺陷;根据人的审美通感的需要,着装上的冷暖色调与应试者性格的刚柔特色中和;要通过合适的服饰打扮来扬长避短,如体形胖者穿衣颜色宜深,产生紧缩和匀称感,瘦者则应相反;此外,还要符合性别和年龄特征。

  要达到以上各方面的要求,增强自身的气质和风度,*时就要从以下三个方面进行训练。

  第一,强化心理素质。一是重视实践锻炼。*时应该积极争取参加辩论、演讲和即席发言的机会,在实践中提高自己。二是要善于自我调节心理。学会自我鼓励、疏导和暗示,以减轻心理压力。三是准备充分,增强信心。如有可能,应事前模拟面试的情景,请朋友扮演考官,并充分考虑到各种可能出现的情况,以求在面试时保持最佳形象。四是要提前适应面试的应试环境,尽早熟悉应试的现场,以提高心理的适应度。

  第二,重视点滴积累。台上几分钟,台下十年功。面试中,应试者要想最大限度地展现出自己的风度和魅力,*时就要处处做有心人,从言谈举止、坐立行走等生活的点滴之处入手,培养自己的风度。要注意通过自我审视来改进自身的外在形象,善于自我否定,有意识地从细枝未节上矫正自身存在的一些不良习惯,如耸肩、晃腿、挤眉弄眼、说话时唾沫纷飞等,决不能把*时的一些不好的行为带到面试考场去。

  第三,注意知识的积累。在注意学习、提高素质的同时,也要注意搜集、学习和揣摩有关增强风度修养方面的资料,以这方面的成功人士作为范例和楷模来借鉴和仿效,并经常自我对照,从而弥补自身气质形象上存在的不足和缺陷。通过自已知识素养的提高,将自己的风度气质推进到理想的境界。

推荐访问:

最新推荐