admin 管理员组文章数量: 1184232
2024年3月21日发(作者:struts流程图)
Java期末考试题及答案
Java期末考试题及答案
Java期末考试题
一、简答题(共8个题,每题5分,共40分)
1. java语言有哪些特点,
(1)简单的
a) Java最初是为对家用电器进行集成控制而设计的一种语言,因
此它必须简单明了。
b) Java的风格类似于C++,因而C++程序员初次接触Java语
言,就会感到很熟悉。从某种
意义上讲,Java语言是C及C++语言的一个变种。
c) Java摒弃了C++中容易引发程序错误的一些特性,如指针、结
构、枚举以及内存管理等。
d) Java提供了丰富的类库,可以帮助我们很方便的开发Java程
序。
(2)面向对象的
面向对象可以说是Java最重要的特性,所以它支持继承、重载、
多态等面向对象的特性。
Java语言的设计是完全面向对象的,它不支持类似C语言那样的面
向过程的程序设计技术。 (3)健壮的
Java致力于检查程序在编译和运行时的错误。Java也是一种强类
型的语言,其类型检查
比C++还要严格。类型检查帮助我们检查出许多开发早期出现的
错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避
免了C++中最头疼的内存泄漏问题。 (4)安全的
Java的安全性可从两个方面得到保证。一方面,在Java语言里,
删除了指针和释放内
存等C++功能,避免了非法内存操作。另一方面,通过Java的安
全体系架构来确保Java代码的安全性。
从一开始,Java就被设计成能够防范各种袭击,包括:禁止运行时
堆栈溢出。例如,蠕
虫等病毒常用的袭击手段;禁止在自己的处理空间之外破坏内存;未
经授权禁止读写文件;
许多安全特性相继不断的被加入Java中。
(5)解释的
Java代码是解释执行的,我们使用Java编译器将Java代码编译
成字节码,这是一种中间
代码,然后由Java解释器解释执行。而C++程序是编译执行的,
C++程序代码被编译为本地机器指令,然后执行。
(6)与平台无关的
Java作为一种网络语言,其源代码被编译成一种结构中立的中间
文件格式。只要有Java
运行系统的机器都能执行这种中间代码。Java源程序被编译成一
种与机器无关的字节码格式,
1
在Java虚拟机上运行。
(7)多线程的
Java语言的一个重要特性就是在语言级支持多线程的程序设计。
多线程就好像我们做一张
桌子,如果你一个人完成这张桌子—就好像单线程,那么你需要
先做桌面,做完桌面后,再做
4个桌子腿,如果现在有5个人来做桌子—在程序中开辟5个线
程,其中1个人做桌面,另外
4个人分别做4个桌子腿,那么这两种方式效率的高低,相信大家
都能区分出来。 (8)动态的
Java的动态特性是其面向对象设计方法的扩展。它允许程序动态
地装入运行过程中所需要的类。
在C++程序设计过程中,每当在类中增加一个实例变量或一个成
员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩
溃。
Java从以下几个方面采取措施来解决这个问题。
a)Java编译器不是将对实例变量和成员函数的引用编译为数值引
用,而是将符号引用信息
在字节码中保存下来,传递给解释器,再由解释器在完成动态连
接类后,将符号引用信息
转换为数值偏移量。
)一个在存储器中生成的对象不在编译过程中决定,而是延迟到运
行时由解释器确定。这b
样,对类中的变量和方法进行更新时就不至于影响现存的代码。
c)解释执行字节码时,这种符号信息的查找和转换过程仅在一个
新的名字出现时才进行一
次,随后代码便可以全速执行。在运行时确定引用的好处是可以
使用已被更新的类,而
不必担心会影响原有的代码。如果程序连接了网络中另一系统中
的某一类,该类的所有
者也可以自由地对该类进行更新,而不会使任何引用该类的程序
崩溃。
d)Java还简化了使用一个升级的或全新协议的方法。如果你的系
统运行Java程序时遇到了
不知怎样处理的程序,Java能自动下载你所需要的功能程序。
2. 什么是java虚拟机,
Java虚拟机JVM(Java Virtual Machine)在JAVA编程里面具有非
常重要的地位。约相当于JAVA运行环境JRE。JAVA虚拟机是在真实
机器中用软件模拟实现的一种想象机器,它为不同的硬件平台提供了
一种编译JAVA技术代码的规范,该规范使JAVA软件独立于平台。
JVM对下列各项做出了定义:指令集,寄存器,类文件格式,栈,
垃圾收集堆,存储区。 Java虚拟机的功能:
2
(1)通过ClassLoader寻找和装载Class文件
(2)解释字节码成为指令并执行,提供Class文件的运行环境
(3)进行运行期间垃圾回收
(4)提供与硬件交互的平台
正是因为有虚拟机这中间层,JAVA才能够实现与平JAVA虚拟机
是JAVA平台无关的保障。
台无关。虚拟机就好比是一个JAVA运行的基本平台,所有的
JAVA程序都运行在虚拟机上。所有与平台有关的东西都是由虚拟机去
处理。
3. 什么是方法重载(Overloading)与方法覆盖(Overriding),
(1) 方法重载(Overloading):
方法重载是指同名的方法在不同的地方具有多种含义。方法重载
使得在类中可以存在方法
名相同的多个方法,但方法的原型不能完全相同,由方法的参数
不同来决定所使用的是哪个方法。方法的原型包括方法名和方法参数
类型。
(2) 方法覆盖(overriding)
方法覆盖也叫方法重写,是指方法的含义被重新编写后的方法所
替代。对于方法覆盖,子类可以重新实现父类的某些方法,并具有自
己的特征。这样,覆盖隐藏了父类的方法,使子类可以具有自己的实
现方法。子类覆盖父类的方法时,子类中方法的访问权限不能低于父
类中该方法的访问权限
4. java中equals和“= =”的区别,
使用“== ==”比较基本类型字段,使用equals 方法比较对象字
段。
== ==操作比较的是两个变量的值是否相等,对于引用型变量表
示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相
同;equals操作表示的两个变量是否是对同一个对象的引用,即堆中的
内容是否相同。
==比较的是2个对象的地址,而equals比较的是2个对象的内
容。显然,当equals为true时,== ==不一定为true。
5. 什么是抽象类,什么是接口,
一般称含有抽象方法的类称为抽象类。抽象类是不能被实例化的
类,用abstract修饰。
接口是一种与类相似的结构,但接口不是类,而是一组对类的要
求,这些类要与接口一致一
3
个类可以实现一个或多个接口,并在需要接口的地方,随时使用
实现了相应接口的对象。
6. 什么是多态,
一个对象变量可以指向多种实际类型对象的现象被称为“多
态”(polymorphism)。
7. 异常的分类,它们的区别是什么,
Error:称为错误,由Java虚拟机生成并抛出,包括动态连接失败、
虚拟机错误等,程序对其不
作处理。
Exception:所以异常类的父类,其子类对应了各种各样可能出现
的异常事件,一般需要用
户显式的声明或捕获。
Runtime Exception:一类特殊的异常,如被0除、数组下标超范
围等,其产生比较频繁,处理麻
烦,如果显式的声明或捕获将会对程序的可读性和运行效率影响
很大。因此
由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对
其处理)。
8. 什么是流,
流(stream)是输入和输出设备的一种抽象表示,这些设备是数据
源或数据终点。可以象流中写入数据,也可以从流中读出数据。可以
把流想象为流入自己程序或从自己程序中流出的字节序列。
当把数据写入流时,该流称为输出流。输出流可以通往任何可以
传输字节序列的设备,例如硬盘上的文件,或连接用户系统至远程系
统的电话线路。输出流也可以通向显示器,但这会大大限制其真正的
功能。
二、程序设计题(共4个题,每题15分,共60分)
1、输出1到100以内的前10个质数。
public class Zhishu {
public static void main(String args[])
{
n("1到100以内的前10个质数:");
int s,i,j=0;
for(s=2;s<=100;s++)
{
4
for(i=2;i<=s/2;i++)
{
if(s%i==0)
break;
}
if(i>s/2)
{
j++;
if(j<=10)
n("第"+j+"个:"+s);
}
}
}
}
2、计算并输出result=1~+2~+3~+ …+10~的结果。
class Sum {
public static void main(String args[])
{
public
版权声明:本文标题:Java期末考试题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710958742a581438.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论