还剩5页未读,继续阅读
文本内容:
期末考试题Java
一、简答题(共个题,每题分,共分)8540语言有哪些特点?java
(1)简单的最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了Java的风格类似于因而程序员初次接触语言,就会感到很熟悉从某种意义上讲,Java C++,C++Java语言是及语言的一个变种Java CC++摒弃了中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等Java C++提供了丰富的类库,可以帮助我们很方便的开发程序Java Java()面向对象的2面向对象可以说是最重要的特性,所以它支持继承、重载、多态等面向对象的特性语Java Java言的设计是完全面向对象的,它不支持类似语言那样的面向过程的程序设计技术C
(3)健壮的致力于检查程序在编译和运行时的错误也是一种强类型的语言,其类型检查比Java Java C++还要严格类型检查帮助我们检查出许多开发早期出现的错误自己负责内存管理,提供Java了垃圾内存回收机制,有效的避免了中最头疼的内存泄漏问题C++()安全的4的安全性可从两个方面得到保证一方面,在语言里,删除了指针和释放内存等Java JavaC++功能,避免了非法内存操作另一方面,通过的安全体系架构来确保代码的安全性Java Java从一开始,就被设计成能够防范各种袭击,包括禁止运行时堆栈溢出例如,蠕虫等病Java毒常用的袭击手段;禁止在自己的处理空间之外破坏内存;未经授权禁止读写文件;许多安全特性相继不断的被加入中Java
(5)解释的代码是解释执行的,我们使用编译器将代码编译成字节码,这是一种中间代码,Java Java Java然后由解释器解释执行而程序是编译执行的,程序代码被编译为本地机器指令,JavaC++C++然后执行
(6)与平台无关的作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式只要有运行系Java Java统的机器都能执行这种中间代码源程序被编译成一种与机器无关的字节码格式,在Java Java虚拟机上运行()多线程的7语言的一个重要特性就是在语言级支持多线程的程序设计多线程就好像我们做一张桌子,Java如果你一个人完成这张桌子一就好像单线程,那么你需要先做桌面,做完桌面后,再做个桌4子腿,如果现在有个人来做桌子一在程序中开辟个线程,其中个人做桌面,另外个人5514分别做个桌子腿,那么这两种方式效率的高低,相信大家都能区分出来4
(8)动态的的动态特性是其面向对象设计方法的扩展它允许程序动态地装入运行过程中所需要的类Java在十程序设计过程中,每当在类中增加一个实例变量或一个成员函数后,引用该类的所有子C+类都必须重新编译,否则将导致程序崩溃从以下几个方面采取措施来解决这个问题Java)编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在aJava字节码中保存下来,传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量)一个在存储器中生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定这样,b对类中的变量和方法进行更新时就不至于影响现存的代码解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,c随后代码便可以全速执行在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃还简化了使用一个升级的或全新协议的方法如果你的系统运行程序时遇到了不知d JavaJava怎样处理的程序,能自动下载你所需要的功能程序Java什么是虚拟机?java虚拟机在编程里面具有非常重要的地位约相当于Java JVMJavaVirtual MachineJAVA JAVA运行环境虚拟机是在真实机器中用软件模拟实现的一种想象机器,它为不同的硬件JRE JAVA平台提供了一种编译技术代码的规范,该规范使软件独立于平台JAVA JAVA对下列各项做出了定义指令集,寄存器,类文件格式,栈,垃圾收集堆,存储区JVM虚拟机的功能Java通过寻找和装载文件1ClassLoader Class解释字节码成为指令并执行,提供文件的运行环境2Class进行运行期间垃圾回收3提供与硬件交互的平台4虚拟机是平台无关的保障正是因为有虚拟机这中间层,才能够实现与平台无JAVA JAVA JAVA关虚拟机就好比是一个运行的基本平台,所有的程序都运行在虚拟机上所有与JAVAJAVA平台有关的东西都是由虚拟机去处理什么是方法重载与方法覆盖Overloading Overriding1方法重载Overloading方法重载是指同名的方法在不同的地方具有多种含义方法重载使得在类中可以存在方法名相同的多个方法,但方法的原型不能完全相同,由方法的参数不同来决定所使用的是哪个方法方法的原型包括方法名和方法参数类型方法覆盖2overriding方法覆盖也叫方法重写,是指方法的含义被重新编写后的方法所替代对于方法覆盖,子类可以重新实现父类的某些方法,并具有自己的特征这样,覆盖隐藏了父类的方法,使子类可以具有自己的实现方法子类覆盖父类的方法时,子类中方法的访问权限不能低于父类中该方法的访问权限中和“二二”的区别?java equals使用“二二二二”比较基本类型字段,使用方法比较对象字段equals二二二操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同;操作表示的两个变量是否是对同一个对象的引equals用,即堆中的内容是否相同二二比较的是个对象的地址,而比较的是个对象的内容显然,当为2equals2equals true时,====不一定为true什么是抽象类?什么是接口?一般称含有抽象方法的类称为抽象类抽象类是不能被实例化的类,用修饰abstract接口是一种与类相似的结构,但接口不是类,而是一组对类的要求,这些类要与接口一致一个类可以实现一个或多个接口,并在需耍接口的地方,随时使用实现了相应接口的对象什么是多态?一个对象变量可以指向多种实际类型对象的现象被称为“多态”polymorphism异常的分类?它们的区别是什么?Error称为错误,由Java虚拟机生成并抛出,包括动态连接失败、虚拟机错误等,程序对其不作处理Exception所以异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获Runtime Exception一类特殊的异常,如被0除、数组下标超范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序的可读性和运行效率影响很大因此由系统自动检测并将它们交给缺省的异常处理程序用户可不必对其处理什么是流?流是输入和输出设备的一种抽象表示,这些设备是数据源或数据终点可以象流中写stream入数据,也可以从流中读出数据可以把流想象为流入自己程序或从自己程序中流出的字节序列当把数据写入流时,该流称为输出流输出流可以通往任何可以传输字节序列的设备,例如硬盘上的文件,或连接用户系统至远程系统的电话线路输出流也可以通向显示器,但这会大大限制其真正的功能
二、程序设计题共个题,每题分,共分41560输出到以内的前个质数110010public classZhishu{public staticvoid mainStringargs[]到以内的前个质数:;System.out.printlnl10010int s,ij=0;fors=2;s=100;s++fori=2;i=s/2;i++ifs%i==O break;ifis/2j++;ifj=10“第个”+j+“”+s;}}计算并输出的结果result=l!+2!+3!+♦••+10!public classSum{public staticvoid mainStringargs[]System.out.printlnresult=l!+2!+3!+•,•+10!*;int s=O,t=l;int n;forn=l;n=20;n++t=t*n;s=s+t;System.out.printlnresult=+s;定义一个长方形类,该类具有长和宽两种属性,并具有相应的构造方法、属性访问方法和计算周长和面积的方法,要求输出长是宽是的长方形的面积和周长54public classRectangle{〃长private double length;〃宽private double width;无参数的构造方法public Rectangle{}//public Rectangledoublelength,doublewidththis.length=length;this.width=width;}〃带参数的构造方法public voidsetLengthdouble ILengthlength=ILength;public voidsetWidthdouble wWidthwidth=wWidth;public doublegetLengthreturn length;public doublegetWidthreturn width;public doubleareadouble i,double j{〃计算面积return length*width;public doublepermcter doublei,double j{〃计算周长return length+width*2;public staticvoid mainString[]args长为宽为的长方形的周长与面积;5,4Rectangle Rectangle=new Rectangle5,4;周长5,4=+Rectangle.permcter5,4;面积System,out.printin5,4=+Rectangle.area5,4;定义一个父类和两个子类类和类类具有两个属性姓名和年Parents FatherMother Parents龄,该类所包含的方法除了构造方法和相应的和方法,还有一个用来打印对象get setprint的具体的信息,例如,输出“我是家长,我的名字是…,我的年龄是…岁”;类增加了Father一个属性爱好,并重写了父类中的方法,输出“我是父亲,我的名字是…,Parents print我的年龄是…岁,我的爱好是…;类增加了一个属性头发的颜色,并重写了父类Mother Parents中的方法,输出“我是母亲,我的名字是…,我的年龄是…岁,我头发的颜色是…”print最后定义一个测试类要求显示如下信息Test,我是家长,我的名字是王瑞,我的年龄是岁36我是父亲,我的名字是张峰,我的年龄是岁,我的爱好是打保龄球45我是母亲,我的名字是孙娟,我的年龄是岁,我的头发颜色是棕色36Parents publicabstract classParents{姓名private Stringname;//年龄private intage;//public Parents{}public ParentsStringnamejnt age{this.setNamename;this.setAgeage;public voidsetNameString name{this.name=name;public StringgetName{return name;public voidsetAgeint age{this.age=age;public intgetAge{return age;void Sys{System.out.println我是家长,+我的名字是,,+this.getName+,我的年龄是“岁”+this.getAge+Father publicclass Fatherextends Parents{private String favor;public FatherStringnamejnt age,Stringfavor{supername,age;this.favor=favor;public voidsetFavorString favor{this.favor=favor;public StringgetFavor{return favor;void SysSystem.out.printing我是父亲,我的名字是,,+this.getName+,我的年龄是岁,我的爱好是,”+this.getAge++this.getFavor;Mother publicclass Motherextends Parents{〃头发颜色private String hairColor;public MotherStringnamejnt age,StringhairColor{supername age;/this.hairColor=hairColor;public voidsetHairColorString hairColor{this.hairColor=hairColor;}public StringgetHairColor{return hairColor;void Sys{System.out.print我是母亲,+我的名字是,,+this.getName+,我的年龄是岁,我头发的颜色是”+this.getAge+””+this.getHairColor;Test publicclass Test{public staticvoid mainString[]args“王瑞Parents p=new Parents”,36;“张峰,“打保龄球;Father f=new Father”,45Mother m=new Mother孙娟36J棕色”;p.Sys;f.Sys;m.Sys;。
个人认证
优秀文档
获得点赞 0