JAVA考试复习题
- 格式:doc
- 大小:72.00 KB
- 文档页数:2
Java考试复习题JAVA程序设计练习一、填空题1、目前Java运行平台主要分为下列3个版本是Java se ,Java ee ,Java me 。
2、SDK平台提供的Java编译器是javac.exe 和Java解释器java.exe 位于Java安装目录的bin 文件夹中。
3、Java运行环境JRE由Java虚拟机、Java的核心类以及一些支持文件组成。
4、一个Java应用程序必须有一个称为主类的类,该类含有public static void main (String args[ ])方法。
5、在源文件的命名中如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;6、一个Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,我们把这个类称作Java Applet源文件的主类。
7、类是组成Java程序的基本要素。
类封装了一类对象的状态和方法。
8、创建一个对象包括对象的声明和为对象分配成员变量两个步骤,对象的声明的一般格式为:类的名字对象名字;使用new运算符和类的构造方法为声明的对象分配成员变量9、用关键字static修饰的成员变量称作静态变量或类变量,类变量不仅可以通过某个对象访问也可以直接通过类名访问。
10、一个类中的方法可以互相调用:实例方法可以调用该类中实例方法或类方法;类方法只能调用该类的类方法,不能调用实例方法。
11、实例方法可以操作实例变量或类变量;而类方法只能操作类变量不能操作实例变量。
12、this关键字出现在类的构造方法中,代表使用该构造方法所创建的对象;this 关键字出现在类的实例方法中,代表使用该方法的当前对象。
13、成员变量在整个类内有效,局部变量仅在方法内有效,如果在方法内部局部变量的名字与成员变量的名字相同,则成员变量被隐藏,此时若要使用成员变量,格式为:this.成员变量。
一、选择题:1.运行Java程序需要的工具软件所在的目录是 A。
A.JDK的bin目录 B.JDK的demo目录C.JDK的lib目录 D.JDK的jre目录解析:运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java 库文件jre目录,该目录是Java程序运行环境的根目录,它下面包含 bin子目录,包括平台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。
因此,本题的正确答案是A。
2.下列关于Java语言特点的叙述中,错误的是 A 。
A.Java是面向过程的编程语言 B.Java支持分布式计算C.Java是跨平台的编程语言 D.Java支持多线程解析:Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术:分布式计算:健壮性(鲁棒性);安全性;跨平台(即体系结构中立):可移植性:解释执行;高性能;多线程;动态性。
因此,本题的正确答案是A。
3.Java的核心包中,提供编程应用的基本类的包是 A 。
A.ng B.java.util C.java.applet D.java.rmi解析:Java的核心包一共有12个,其中:ng包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为Applet提供执行需要的所有类,。
主要是访问Applet内容的通信类。
java.rmi包提供程序远程方法调用所需的类。
因此,本题的正确答案是A。
4.下列关于Java对import语句规定的叙述中,错误的是 C 。
A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import语句必须有一个D.在Java程序中import语句引入在所有类定义之前解析:Java程序中使用import关键字导入一个包中的类。
JAVA复习题一、选择题:1. Java源程序经编译生成的字节码文件的扩展名为( )A. classB. javaC. exeD. html2. 以下定义一维数组的语句中,正确的是:( )A. int a[5]B. int a[]=new [5];C. int a[]; int a=new int[5];D. int a[]={1,2,3,4,5};3. 对于任意一个类,用户所能定义的构造方法的个数至多为()A.0个B.1个C.2个D.任意个4. 假设类A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法的语句格式应为( )A. A(x)B. this. A(x)C. this(x)D. super(x)5.关于实例方法和类方法,以下描述正确的是:( )A. 实例方法只能访问实例变量B. 类方法既可以访问类变量,也可以访问实例变量C. 类方法只能通过类名来调用D. 实例方法只能通过对象来调用6.下列关于继承的说法哪个是正确的()A.子类只继承父类public方法和属性;B.子类继承父类的非私有属性和方法;C.子类只继承父类的方法,而不继承父类的属性;D.子类将继承父类的所有的属性和方法。
7、不允许作为类及类成员的访问控制符的是( )。
A. publicB. privateC. staticD. protected8、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )9、设有下面的两个类定义:class AA {void Show(){ System.out.println(“我喜欢Java!”);}class BB extends AA {void Sh ow(){ System.out.println(“我喜欢C++!”);}则顺序执行如下语句后输出结果为:()AA a; BB b;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++! 我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java! 我喜欢C++!10、Java的字符类型采用的是Unicode编码方案,每个Unicode 码占用()个比特位。
类的继承习题一、选择题1. Java语言的类间的继承关系是( B )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承2. 以下关于Java语言继承的说法正确的是( C )。
A)Java中的类可以有多个直接父类 B)抽象类不能有子类C)Java中的接口支持多继承 D)最终类可以作为其它类的父类3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。
A) class A extends B B) class B implements AC) class A implements B D) class B extends A4. 下列选项中,用于定义接口的关键字是( A)。
A)interface B) implements C) abstract D) class5. 下列选项中,用于实现接口的关键字是( B)。
A)interface B) implements C) abstract D) class6. Java语言的类间的继承的关键字是( B )。
A) implements B) extends C) class D) public7. 以下关于Java语言继承的说法错误的是( A )。
A)Java中的类可以有多个直接父类 B)抽象类可以有子类C)Java中的接口支持多继承 D)最终类不可以作为其它类的父类8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。
A) class M extends N B) class N implements MC) class M implements N D) class N extends M9. 现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。
A) class A implements B B) class B implements AC) class A extends B D) class B extends A10. 下列选项中,定义抽象类的关键字是( C)。
Java复习题一、选择题1、以下代码执行后的输出结果是()char chA=’A’,chB=’b’;if (chA+27<chB) ++chA;System.out.println(“*”+chA+”*”);A、/*A*B、*B*C、*C*D、*a*2、执行以下代码后,打印出来的y的值是()int x=8,y=2;if (Math.pow(x,y)= =64)y=x;if (Math.pow(x,y)<63)y=2*x;if (Math.pow(x,y)>63)y=x/2;System.out.println(y);A、2B、4C、8 D.163、以下代码执行后的输出结果是()int i=1;switch(i){ case 0: System.out.print(“Zero”);break;case 1: System.out.print(“One”);case 2: System.out.print(“Two”);default: System.out.print(“Default”); }A、ZeroOneTwoDefaultB、OneTwoDefaultC、DefaultD、One4、以下代码执行后的输出结果()int a=-1;for(int i=4;i>0;i--){ a+=i;System.out.print(a);}A、-1B、368C、3689D、95、有以下代码片段,关于代码的编译,正确的说法()int iVar;for (iVar=1; iVar<=5; iVar++);{ System.out.print(iVar); }A、代码成功编译,执行后,输出为12345B、代码成功编译,执行后,输出为6C、代码成功编译,执行后,输出为1D、代码编译不成功,编译器将生成一些错误6、以下代码执行后的输出结果是()int a=6,b=3,c=0;switch(a%b){ case 2:c=a+b;case1:c=a-b;case 0:c=a*b;default:c=a/b;}System.out.println(c);A、2B、3C、9D、187、以下代码执行后,输出字符变量ch的值为()char ch=32for(int i=0;i<=400;i++){ switch(i%4){ case 1:ch=’a’;break;case2: ch=’b’;break;case 3: ch=’c’;break;default: ch=’d’;break;}}System.out.println(ch);A、aB、bC、cD、d8、下面的循环将执行()次int i=4,j=2;while(--i!=i/j){ System.out.println(i); }A、3B、2C、1D、09、分析以下代码,正确的一项是()for(int i=-2; true; i++){ if (i==0) continue;if(i>2) break;System.out.print(4/i+””);}A、程序编译通过,但运行出现死循环B、程序编译通过,但运行出现异常C、上述代码无法通过编译D、程序运行成功,打印出:-2 -4 4 210、关于以下代码的分析中,正确的一项是()int i=32767;while(--i>0);System.out.print(i);A、代码不能编译通过B、在程序运行阶段出现死循环C、成功执行,打印出结果1D、成功执行,打印出结果011、子类可以继承父类的()成员A、非私有B、私有C、publicD、protected12、若要定义一个不能被实例化的抽象类,则在类定义中必须加上修饰符(D)A、publicB、finalC、abstractD、private13、以下程序片段将创建()个对象int a=10;String b=”abc”;String c=new String(“abc”);MyTest test=new MyTest();A、4B、3C、2D、114、设有如下程序段,说法正确的是()int k=10; while(k==0){k=k-1;}A、while循环执行10次B、死循环C、循环一次也不执行D、循环执行一次15、下列叙述中错误的一条是()A 、父类不能替代子类B 、子类能够替代父类 C、子类继承父类 D 、父类包含子类16、设有以下程序:import java.io.*;public class Score{public static void main(String args[]){int a[]=new int [5];for(int i=0;i<a.length;i++){a[i]=(int)(Math.random()*10);}for(int i=0;i<a.length;i++){System.out.print(a[i]+””);}}}下列选项中错误的运行结果是()A、 9 6 0 5 2B、7 9 9 7 2C、1 8 6 9 6D、0 7 9 5 1016、代表对当前对象自身引用的关键字是()。
第一题单项选择题1、在下列说法中,选出最正确的一项是(A )。
A、Java 语言是以类为程序的基本单位的B、Java 语言是不区分大小写的C、多行注释语句必须以//开始D、在Java 语言中,类的源文件名和该类名可以不相同2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。
A、异常处理B、多线程C、动态链接D、简单易学3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。
A、编译执行B、多进程C、异常处理D、静态链接4、在Java 语言中,那一个是最基本的元素?( C )A、方法B、包C、对象D、接口5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。
A、这2 个类都是子类或者超类B、A 是B 超类的子类C、B 是A 超类的子类D、这2 个类郡是对方的子类6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D )A、abstractB、private (本类)C、protected(本包及其他包的子类)D、不使用保留字7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D )A、13 个字节码文件,扩展名是.classB、1 个字节码文件,扩展名是.classC、3 个字节码文件,扩展名是.javaD、3 个字节码文件,扩展名是.class8、下列关于Java 程序结构的描述中,不正确的一项是( C )。
A、一个Java 源文件中可以包括一个package 语句B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类C、一个Java 源文件中可以有多个public 类D、源文件名与程序类名必须一致9、下列说法正确的一项是( C )。
A、java.1ang.Integer 是接口B、java.1ang.Runnable 是类C、Doulble 对象在iava.1ang 包中D、Double 对象在java.1ang.Object 包中10、以下关于面向对象概念的描述中,不正确的一项是( B )。
一、单项选择题(每小题2分,共20分)1. 有关Java语言的说法中,哪种是错误的(B)。
A.java是高级语言B.java是编译型语言C.java是面向对象语言D.java是移植性强的语言2.下面属于Java 关键字的是(C )。
A.INT B.hello C.false D.good3. 在Java程序main方法中,正确的参数是(C)。
A.main(string args[]) B.main(String ()args )C.main(String args[]) D.main(string []args )4. 一个URL地址为::80/local/index.html,则其中的含义为(C)。
A. 通信协议B. 资源C. 地址(机器名称)D. 通信端口5.在Java中,能实现多重继承效果的方式是(C)。
A.内部类B.适配器C.接口D.同步6.下列关于Java Application与Applet的说法中,正确的是(C )。
A.都包含main( )方法B.都通过“appletviewer”命令执行C.都通过“javac”命令编译D.都嵌入在HTML文件中7.关于以下代码所画图形的说明,正确的是(B )。
g.setColor(Color.black);g.drawLine(10,10,10,50);g.setColor(Color.red);g.drawRect(100,100, 50, 50);A.一条40像素长的垂直红线,一个边长为150像素的红色四方形B.一条40像素长的垂直黑线,一个边长为50像素的红色四方形C.一条50像素长的垂直黑线,一个边长为150像素的红色四方形D.一条50像素长的垂直红线,一个边长为50像素的红色四方形8.在Java中,窗口类的包是(B )。
A.java.io.*t B.java.awt.*C.java.applet.*t D..*9.设数组Array由以下语句定义int Array=new int[10],则数组第一个(首个)元素的正确引用方法为(A ) 。
复习题目一.选择题(每小题2分,共30分)1.main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项是合法的? ( )A.public static void main( )B.public static void main(String args[ ])C.public static int main(Stnng[ ]arg)D.public Void main(Stnng arg[ ])2.以下关于抽象类和接口的说法正确的是()。
A. 抽象类可以用来定义接口B.定义抽象类时需要finalC. 抽象类中的所有方法都是具体的D.抽象类可以是对接口的实现3.下列不属于java.awt包中的基本概念的一项是( )。
A.容器B.构件C.线程D.布局管理器4.下列Swing构件中,属于中间容器的一项是( )。
A.JFrameB.JToolbarC.JLabelD.JButton5.使用JDBC的主要好处是()。
A.它是一个简单易用的数据库管理系统B.允许开发者不用改变程序代码就可以改变底层的数据库C.它是多平台的数据管理系统D.它能为数据库管理系统提供了一个图形用户界面6.SQL语言中的字符串常量使用什么符号括起来()?A.一对双引号("")B.一对单引号('')C.下划线(_)D.百分号(%)7.当程序执行时无法找到数据库驱动类时将产生()异常。
A.NoSuchClassException B.ClassCastException C.ClassNotFoundException D.IllegalClassException8.在使用PreparedStatement时,参数是从()开始计数的。
A.0 B.1 C.2 D.39.当对设有INSERT类型触发的数据表中的一条记录进行修改时,以下说法正确的是()。
A.INSERTED表中有一条记录B.DELETED表中有一条记录C.INSERTED和DELETED表中都有记录D.INSERTED和DELETED表中都没有记录10.paint()方法使用哪种类型的参数?A.Graphics B.Graphics2D C.String D.Color11.定义接口时需要使用关键字是( )。
一、填空题1、Java提供“包”来管理类名空间。
“包”实际上提供了一种_命名机制_和可见性限制机制。
2、使用createScreenCapture() 方法可以复制屏幕的一个矩形区域。
3、Final关键字修饰变量,则该变量_常量_。
Final修饰方法,则该方法_不允许其子类覆盖_。
Final修饰类,则该类_不会再被扩展_。
5、Java程序分两种,_ Java Application _和_Java Applet_。
6、final 关键字表明一个对象或变量在初始化不能修改。
7、在Java语言中,_ RandomAccessFile_文件允许对文件内容的随机读写。
8、一个Java的图形用户界面的最基本组成部分是_组件(Component)_。
9、java的特点:简单、面向对象、平台无关、多线程、安全、动态。
二、判断题1、在Java语言中,常量true、false、null都是使用小写。
y2、Package语句必须放在程序的第一句。
y3、因为Java不支持多继承,所以定义类时implements关键字后面只能说明一个接口名。
N4、我们把客观世界的实体称为问题空间的对象。
N5、一个Java类可以有多个父类。
N6、抽象类必须被继承。
Y7、在Java中声明变量时必须指定一个类型。
Y8、传统的结构化程序设计方法是产生60年代末开始的软件危机的原因。
N9、当通过实现Listener接口完成事件处理时,要同时实现该接口中的所有方法。
10、对多线程的支持是Java的一大特点。
Y三、选择题1、信息资源放在Web服务器后,需要把它的地址告诉大家,这就是b 的功能。
A.WWWB.URLC.BBSD.TCP/IP2、以下关于Applet的生命周期方法的说法哪个是不正确的?(d )A、init()B、start()C、stop()D、main()4、AWT中的Canvas类在使用时必须被(d )。
A.载入B.封装C.继承D.重载5、Java语言中的super关键字是(c )A.指向父类的指针B.父类的标识符C.对父类的引用D.指向父类对象的指针6、下列特点不属于Java语言的选项是(b )。
A.易用性B.可视性C.平台无关性D.面向对象性7、下列不属于面向对象特性的选项是(d )。
A.封装性B.继承性C.多态性D.鲁棒性8、在程序的运行过程中所发生的异常事件称为(b )。
A.意外B.例外C.事故D.中断9、高级数据要转换成低级数据,(c )转换。
A.不需要任何B.需要一般类型C.需要强制类型D.随机处理10、Java 的类属于(d )类型A、字符数据B、布尔数据C、简单数据D、复合数据面向对象特点:1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。
多态性包括参数化多态性和包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
Java异常处理:是描述在代码段中发生的运行出错情况的对象。
程序中的错误可能来自于编译错误和运行错误。
编译错误是由于所编写的程序存在语法问题,未能通过由源代码到目标代码的编译过程而产生的错误,它将由语言的编译系统负责检测和报告;运行错误是在程序的运行过程中产生的错误。
在程序执行中,任何中断正常程序流程的异常条件就是错误或异常。
第一种,Java 虚拟机检测到了非正常的执行状态,这些状态可能是由以下几种情况引起的:①表达式的计算违反了Java 语言的语义,例如整数被0 除。
②在载入或链接Java 程序时出错。
③超出了某些资源限制,例如使用了太多的内存。
第二种,Java 程序代码中的throw 语句被执行。
第三种,异步异常发生。
异步异常的原因可能有:①Thread 的stop 方法被调用。
②Java 虚拟机内部错误发生。
Java异常处理是通过5个关键字来管理的。
它们是try、catch、throw、throws和finally。
程序里,需要被监测的程序语句序列应包含在一个try代码块中。
如果try代码块中有异常发生,那么就要抛出该异常。
可以用catch来捕获这个异常,并且在catch块中加以适当地处理。
系统产生的异常会由Java运行时系统自动抛出。
如果要手动抛出异常,则使用关键字throw。
在一些情况下,从一个方法抛出的异常必须用一个throws语句指定为异常。
最后,从try代码块退出时,必须执行的代码要放在一个finally代码块中。
Abstract类与接口类的区别:1.abstract类和接口类都可以有abstract方法。
2.接口中只可以有常量,不能有变量;而abstract类中既可以有常量也可以有变量。
3.abstract类中也可以有非abstract方法,接口不可以。
. 1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。
但是,一个类却可以实现多个interface。
2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
3.abstract class和interface所反映出的设计理念不同。
其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
4.实现抽象类和接口的类必须实现其中的所有方法。
抽象类中可以有非抽象方法。
接口中则不能有实现方法。
5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。
7.接口中的方法默认都是 public,abstract 类型的。
实例变量和类变量之间的区别:java的成员变量有两种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
习题31.输出110if-else语句书写的不够规范,复合语句缺少大括号“{}”,代码不够清晰。
2.你好好酷!!3.编写一个应用程序,用for循环输出俄文的“字母表”.public class Xiti3_3{public static void main (String args[ ]){int startPosition=0,endPosition=0;char cStart='а',cEnd='я';startPosition=(int)cStart; //cStart做int型转换据运算,并将结果赋值给startPositionendPosition=(int)cEnd ; //cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("俄文字母表:");for(int i=startPosition;i<=endPosition;i++){char c='\0';c=(char)i; //i做char型转换运算,并将结果赋值给cSystem.out.print(" "+c);if((i-startPosition+1)%10==0)System.out.println("");}}}4.编写一个应用程序求1!+2!+3!+…+20!.public class Xiti4{ public static void main(String args[]){ double sum=0,a=1;int i=1;while(i<=20){ sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}5.编写一个应用程序求100以内的全部素数.class Xiti5{ public static void main(String args[]){ int i,j;for(j=2;j<=100;j++){ for(i=2;i<=j/2;i++){ if(j%i==0)break;}if(i>j/2){ System.out.print(" "+j);}}}}6.分别用while和for循环计算1+1/2!+1/3!+1/4!...的钱20项和.class Xiti6{ public static void main(String args[]){ double sum=0,a=1,i=1;while(i<=20){ sum=sum+a;i++;a=(1.0/i)*a;}System.out.println("使用while循环计算的sum="+sum);for(sum=0,i=1,a=1;i<=20;i++){ a=a*(1.0/i);sum=sum+a;}System.out.println("使用for循环计算的sum="+sum);}}7.一个数字如果恰好等于它的因子之和,这个数就称为“完数”。