2024年JAVA基础面试题_第1页
2024年JAVA基础面试题_第2页
2024年JAVA基础面试题_第3页
2024年JAVA基础面试题_第4页
2024年JAVA基础面试题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

JAVA基础面试题一、判断1.

一个Java源文献中只能定义一个公有类,并且类名必须与文献名一致。(

)2.

通过在程序中引入“importjavax.swing.*;”语句,就能够使用javax.swing包中的所有类(包括其嵌套的子包中的类)。(

)3.

J2SE的功效是J2ME的一个子集。(

)4.

Java字节码只有被装入到内存中之后,才能被执行。(

)5.

Swing是一套GUI组件,采取了新的思绪设计Java应用程序的界面,它完全地替代掉了原有的AWT。(

)6.

在编程时编写过多的注释,会使编译之后生成的程序文献变大。(

)7.

JavaApplet可运行于浏览器中,这意味着浏览器自身就能够直接执行Applet程序。(

)8.

JDK5.0增加的枚举类型(enum)是一个原始数据类型。(

)9.

Java要求所有的措施都必须放到某个类中,不存在独立于类的措施。(

)10.

面对对象软件系统设计师们常常用到的UML是一个编程语言。(

二、简答11.

当代编程语言有诸多个分类措施,如下是我们常见的一个划分措施:

(1)“编译型”编程语言:例如C,程序源码必须通过编译才能运行;

(2)“解释型”编程语言:这种类型的语言(例如早期的Basic)一般都拥有一个交互环境,用户输入一句代码计算机就执行一句代码。

Java属于上述哪种类型?假如你以为Java不属于上述任何一个类型,那么它是不是属于另外一个编程语言类型?12.

Java中有两个核心字:void和null,它们有什么区分?13.

简述“类(class)”、“类库(classlibrary)”、“包(package)”、“jar文献”这四个概念间的联系。14.

面对对象的程序在运行时会创建多个对象,这些对象之间一般能够相互“发送消息”,谈谈你对“对象之间发送消息”这句话的了解,并编写几句Java示例代码展示对象之间发送消息的详细编程实现措施。15.

加法运算符“+”能够施加于原始数值类型(例如int)的变量,但我们发觉某些对象类型(例如Integer)的变量,也支持“+”运算:

Integerv1=100;

Integerv2=200;

System.out.println(v1+v2);

//输出:300

这看上去好象Integer类型重载了“+”运算符,某些编程语言例如C++能够重载运算符,但Java自身并不支持这一特性。依你的了解或猜测,Java采取什么措施处理两个Integer对象直接“+”的语句?16.

在一个很大的循环(例如循环100000次)中,假如需要进行大量字符串的连接操作,一般人们会使用StringBuffer(或StringBuilder)而不是String类型,请解释这么做的理由。17.

既有两个长度不一样的数组:

int[]arr1=newint[10];

int[]arr2=newint[100];

那么如下语句能通过编译吗?

arr1=arr2;

假如你以为能够通过编译,得到这个结论的依据是什么?假如不能通过编译,你以为其原因是什么?18.

请看如下代码:

doubled1=100.1;

doubled2=1001/10;

System.out.println(d1==d2);

//输出:false

明明d1与d2是相等的,为何程序运行时会输出一个让人意外的成果:false?19.

当使用多个catch语句捕捉多个异常时,Java要求捕捉Exception的catch语句必须排在最后,如下所示:

try{……}

catch(ClassCastExceptionex){……}

catch(NumberFormatExceptionex){……}

catch(Exceptionex){……}

//此句必须放在最后!

为何会有这个限制?谈谈你的了解。20.请看如下示例代码:

Strings1="Hello";

Strings2="Hello";

System.out.println(s1==s2);

//输出:true

Strings3=newString("Hello");

Strings4=newString("Hello");

System.out.println(s3==s4);

//输出:false

请解释一下为何上述代码中“System.out…”两句代码输出完全不一样的成果?

三编程21.

编写一个程序,用户输入任何一个字符串之后,反转输出其成果。其运行成果如下所示:

请输入一个字串:我在学习Java程序设计

您输入了:计设序程avaJ习学在我22.

编写一个措施,它接收一个int数组作为参数,外界只需调用一次这个措施,能够立即得到这个数组的最大值、最小值和平均值信息。23.

请编写一个措施,其申明如下:

publicstaticint[]getRandomizeNumbers(intbegin,intend,intcount)

此措施将生成一个数组,包容count个[begin,end)范围内的随机整数.24.

数学中,一个复数包容着一个实部(Real)和一个虚部(Imaginary)。请设计一个Complex类,它的实例代表一个复数,并且用户能够这么使用它:

//创建一个实部为3,虚部为4的复数

Complexobj=newComplex(3,4);

//Complex对象具备按照数学中复数的习惯表示形式输出的能力。

System.out.println(obj);

//输出:3+4i25.

A、B、C是三个类,它们之间有着如下的组合关系(图1):

请编写一个示例程序,这个程序能够完成对A对象的深复制(deepcopy)。26.

我们能够调用Integer.parseInt()措施将一个字串转换为int类型,但当要转换的字串不是一个有效的数字时(例如“a123”),此措施会抛出一个NumberFormatException。你需要编写一个程序,当程序运行时让用户从键盘上输入一个字串,代表考试成绩,然后调用Integer.parseInt()措施将其转换为int类型,并给出是否通过的提示:

请输入您的考试成绩:76

恭喜您通过了考试!

因为无法控制用户的输入,因此也许出现如下两种犯错情况:(1)

用户输入了一个无法转换为int类型的字符串。(2)

用户输入的数字不在[0,100]区间内。

请设计一个自定义的异常类InvalidScoreException,当出现上述犯错情景时能抛出此异常对象。要求程序运行时,对用户的错误输入能给以明确的提示。27.

设计一个类,实现如下的状态机:

提示:

图2阐明,当使用new核心字创建此类对象时,对象居于Created状态(这是初始状态),这时,调用对象的open()措施,对象转换到Opened状态,再调用对象的close()措施,对象转入“Closed”状态,这是终止状态。

28

一个图书管理系统的面对对象设计方案如图3所示:

Book代表书,有“Name(书名)”、“Author(作者名)”、“Price(单价)”和“IsBorrowed(是否被借出)”四个属性。

类Library代表图书馆,其内部字段books用于保存图书馆中所有的书。它的FindBook()措施依据书名查找同名的书(也许有多本)。另一个GetAllBooks()措施获取馆藏所有书的详细信息。

类Reader代表读者,Name字段代表其姓名,读者能够“ReturnBook(还书)”和“BorrowBook(借书)”。

请编程完成如下工作:1.

用Java编程实现上述3个类。2.

在main()措施内书写如下测试代码:(1)

创建一个Library类的实例myLittleLibrary,其中预存有如下3本书:

Java程序设计,张三著,45元

Java核心技术,李四著,50元

Java程序设计,王五著,38元(2)

显示图书馆中所有图书的信息,输出样例如下:

Java程序设计,张三著,45元,可借

Java核心技术,

温馨提示

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

评论

0/150

提交评论