JAVA基础面试题_第1页
JAVA基础面试题_第2页
JAVA基础面试题_第3页
JAVA基础面试题_第4页
JAVA基础面试题_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.JAVA基础面试题 一、判断1. 一个 Java 源文件中只能定义一个公有类,并且类名必须与文件名一致。( )2. 通过在程序中引入 “import javax.swing.*;” 语句,就可以使用 javax.swing 包中的所有类(包括其嵌套的子包中的类)。 ( )3. J2SE 的功能是 J2ME 的一个子集。( )4. Java 字节码只有被装入到内存中之后,才能被执行。( )5. Swing 是一套 GUI 组件,采用了新的思路设计 Java 应用程序的界面,它完全地替换掉了原有的 AWT。( )6. 在编程时编写过多的注释,会使编译之后生成的程序文件变大。( )7. Java

2、Applet 可运行于浏览器中,这意味着浏览器本身就可以直接执行 Applet 程序。( )8. JDK 5.0 增加的枚举类型( enum )是一个原始数据类型。( )9. Java 规定所有的方法都必须放到某个类中,不存在独立于类的方法。( )10. 面向对象软件系统设计师们经常用到的 UML 是一种编程语言。( )二、简答11. 现代编程语言有很多种分类方法,以下是我们常见的一种划分方法: ( 1 ) “ 编译型 ” 编程语言: 比如 C ,程序源码必须经过编译才能运行; ( 2 ) “ 解释型 ” 编程语言: 这种类型的语言(比如早期的 Basic )通常都拥有一个交互环境,用户输入一

3、句代码计算机就执行一句代码。 Java 属于上述哪种类型?如果你认为 Java 不属于上述任何一种类型,那么它是不是属于另外一种编程语言类型?12. Java 中有两个关键字: void 和 null ,它们有什么区别?13. 简述 “ 类( class ) ” 、 “ 类库 (class library)” 、 “ 包( package ) ” 、 “jar 文件 ” 这四个概念间的联系。14. 面向对象的程序在运行时会创建多个对象,这些对象之间通常可以相互 “ 发送消息 ” ,谈谈你对 “ 对象之间发送消息 ” 这句话的理解,并编写几句 Java 示例代码展示对象之间发送消息的具体编程实现

4、方法。15. 加法运算符 “+” 可以施加于原始数值类型(比如 int )的变量,但我们发现一些对象类型(比如 Integer )的变量,也支持 “+” 运算: Integer v1 = 100; Integer v2 = 200; System.out.println(v1 + v2 ); / 输出: 300 这看上去好象 Integer 类型重载了 “+” 运算符,一些编程语言比如 C+ 可以重载运算符,但 Java 本身并不支持这一特性。依你的理解或猜测, Java 采用什么方法处理两个 Integer 对象直接 “ + ” 的语句?16. 在一个很大的循环(比如循环 100000 次)

5、中,如果需要进行大量字符串的连接操作,通常人们会使用 StringBuffer (或 StringBuilder )而不是 String 类型,请解释这么做的理由。17. 现有两个长度不同的数组: int arr1 = new int10; int arr2 = new int100; 那么以下语句能通过编译吗? arr1 = arr2; 如果你认为可以通过编译,得到这个结论的依据是什么?如果不能通过编译,你认为其原因是什么?18. 请看以下代码 : double d1 = 100.1; double d2 = 1001/10; System.out.println(d1 = d2); / 输

6、出 : false 明明 d1 与 d2 是相等的 , 为什么程序运行时会输出一个让人意外的结果 : false ?19. 当使用多个 catch 语句捕获多个异常时, Java 规定捕获 Exception 的 catch 语句必须排在最后,如下所示: try catch(ClassCastException ex) catch(NumberFormatException ex) catch(Exception ex) / 此句必须放在最后! 为什么会有这个限制?谈谈你的理解。20. 请看以下示例代码: String s1 = Hello; String s2 = Hello; System

7、.out.println(s1 = s2); / 输出: true String s3 = new String(Hello); String s4 = new String(Hello); System.out.println(s3 = s4); / 输出: false 请解释一下为什么上述代码中 “System.out ” 两句代码输出完全不同的结果 ?三 编程21. 编写一个程序,用户输入任何一个字符串之后,反转输出其结果。其运行结果如下所示: 请输入一个字串:我在学习 Java 程序设计 您输入了:计设序程 avaJ 习学在我22. 编写一个方法,它接收一个 int 数组作为参数,外界

8、只需调用一次这个方法,可以马上得到这个数组的最大值、最小值和平均值信息。23. 请编写一个方法,其声明如下: public static int getRandomizeNumbers(int begin, int end, int count) 此方法将生成一个数组 , 包容 count 个 begin,end) 范围内的随机整数 .24. 数学中,一个复数包容着一个实部( Real )和一个虚部( Imaginary )。请设计一个 Complex 类,它的实例代表一个复数,并且用户可以这样使用它: / 创建一个实部为 3 ,虚部为 4 的复数 Complex obj = new Comp

9、lex(3,4); /Complex 对象具备按照数学中复数的习惯表示形式输出的能力。 System.out.println(obj); / 输出: 3+4i25. A 、 B 、 C 是三个类,它们之间有着以下的组合关系( 图 1 ): 请编写一个示例程序,这个程序可以完成对 A 对象的深复制( deep copy )。26. 我们可以调用 Integer.parseInt() 方法将一个字串转换为 int 类型,但当要转换的字串不是一个有效的数字时(比如 “a123” ),此方法会抛出一个 NumberFormatException 。你需要编写一个程序,当程序运行时让用户从键盘上输入一个

10、字串,代表考试成绩,然后调用 Integer.parseInt() 方法将其转换为 int 类型,并给出是否通过的提示: 请输入您的考试成绩: 76 恭喜您通过了考试! 由于无法控制用户的输入,因此可能出现以下两种出错情况:(1) 用户输入了一个无法转换为 int 类型的字符串。(2) 用户输入的数字不在 0,100 区间内。 请设计一个自定义的异常类 InvalidScoreException ,当出现上述出错情景时能抛出此异常对象。要求程序运行时,对用户的错误输入能给以明确的提示。27. 设计一个类,实现以下的状态机: 提示: 图 2 说明,当使用 new 关键字创建此类对象时,对象居于

11、Created 状态(这是初始状态),这时,调用对象的 open() 方法,对象转换到 Opened 状态,再调用对象的 close() 方法,对象转入“ Closed ”状态,这是终止状态。 28 一个图书管理系统的面向对象设计方案如 图 3 所示: Book 代表书,有 “Name (书名) ” 、 “Author (作者名) ” 、 “Price (单价) ” 和 “IsBorrowed (是否被借 出) ” 四个属性。 类 Library 代表图书馆,其内部字段 books 用于保存图书馆中所有的书。它的 FindBook() 方法依据书名查找同名的书(可能有多本)。另一个 Get A

12、llBooks() 方法获取馆藏所有书的详细信息。 类 Reader 代表读者, Name 字段代表其姓名,读者可以 “ReturnBook (还书) ” 和 “BorrowBook (借书) ” 。 请编程完成以下工作:1. 用 Java 编程实现上述 3 个类。2. 在 main() 方法内书写以下测试代码:(1) 创建一个 Library 类的实例 myLittleLibrary ,其中预存有以下 3 本书: Java 程序设计,张三著, 45 元 Java 核心技术,李四著, 50 元 Java 程序设计,王五著, 38 元(2) 显示图书馆中所有图书的信息,输出样例如下: Java 程序设计,张三著, 45 元,可借 Java 核心技术,李四著, 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论