开大题库网

国家开放大学历年真题库|作业答案|复习资料一站式下载平台

【百年教育职业培训中心】面向对象程序设计-章节资料考试资料-金陵科技学院

分类: 招生简章 时间:2025-06-10 11:05:12 浏览:0次 评论:0
摘要:报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!
国家开放大学作业考试答案

想要快速找到正确答案?

立即关注 国开搜题微信公众号,轻松解决学习难题!

国家开放大学
扫码关注

作业辅导
扫码关注
论文指导
轻松解决学习难题!

报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!

第一章作业

第一章测试

1、【单选题】下列选项中,不属于Java语言特点的一项是( )。

A、分布式

B、安全性

C、编译执行

D、面向对象

2、【单选题】下列描述中,不正确的是( )。

A、不支持多线程

B、一个Java源文件不允许有多个公共类

C、Java通过接口支持多重继承

D、Java程序分为Application和Applet两类

3、【单选题】Java程序的执行过程中用到一套JDK工具,其中javac.exe是指( ) 。

A、Java文档生成器

B、Java解释器

C、Java编译器

D、Java类分解器

4、【单选题】以public修饰的类如:public class Car{…} 则Car( )。

A、可被其它程序包中的类使用

B、仅能被本程序包中的类使用

C、不能被任意其它类使用

D、不能被其它类继承

5、【单选题】编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。

A、java

B、class

C、html

D、exe

6、【单选题】main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?

A、public static void main( )

B、public static void main( String args[] )

C、public static int main(String [] arg )

D、public void main(String arg[] )

7、【单选题】Java Application源程序的主类是指包含有( )方法的类。

A、main方法

B、toString方法

C、init方法

D、actionPerfromed方法

8、【单选题】下列关于虚拟机说法错误的是( )。

A、虚拟机可以用软件实现

B、虚拟机不可以用硬件实现

C、字节码是虚拟机的机器码

D、虚拟机把代码程序与各操作系统和硬件分开

9、【单选题】给定一个java源程序Test.java,在命令行中,使用下面( )语句可以编译、运行该程序。

A、javac Test.java和java Test

B、javac Test.java和java Test.class

C、java Test.java和javac Test

D、java Test.java和javac Test.class

10、【单选题】. class 和.java 文件的含义分别是( )。

A、Java 目标码文件和源文件

B、Java 可执行文件和目标码文件

C、Java 源文件和目标码文件

D、Java 源文件和Java 平台配置文件

11、【单选题】小程序的生命周期包括哪些阶段?( )

A、载入,运行,离开,返回,卸载,等阶段

B、载入,运行,函数阶段

C、运行阶段,停止阶段

D、下载,载入,运行阶段

12、【单选题】阅读下列代码,选出该代码段正确的文件名( )。class A{ void method1(){ System.out.println(Method1 in class A); }}public class B{ void method2(){ System.out.println(Method2 in class B); } public static void main(String[] args){ System.out.println(main() in class B); }}

A、A.java

B、A.class

C、B.java

D、B.class

13、【单选题】如何调用JAVA小程序?( )

A、双击小程序文件即可执行

B、在命令行为方式下键入JAVA命令来调用

C、在Eclipse中键入JAVA命令来调用

D、打开HTML文件即可调用,或者利用appletviewer命令调用

14、【单选题】在Java Applet程序用户自定义的Applet子类中,常常重载( )方法在Applet的界面中显示文字、图形和其它界面元素。

A、start( )

B、stop( )

C、init( )

D、paint( )

15、【单选题】执行一个java程序“FirstApp”的方法是( )。

A、运行:“java FristApp.java”

B、运行:“java FristApp”

C、运行“javac FristApp.class”

D、直接双击编译好的java目标码文件执行

16、【单选题】以下的Java程序代码中,错误的行是( )。

A、System.Out.Println(“天天好心情”);

B、/*天好心情!*/

C、public static void main(String[] args) {}

D、public class FirstApp {}

17、【单选题】Eclipse是什么?( )

A、是一种新的语言

B、是一种基于插件的通用的集成化软件开发环境

C、是仅用于Java程序设计的一套集成化软件开发环境

D、是一种Java应用软件

18、【单选题】编译一个定义了3个类和10个方法的Java源文件后,会产生的字节码文件个数和扩展名是什么?( )

A、13个字节码文件,扩展名为.class

B、1个字节码文件,扩展名为.class

C、3个字节码文件,扩展名为.java

D、3个字节码文件,扩展名为.class

19、【单选题】在创建Applet应用程序时,需要用户考虑问题是( )。

A、窗口如何创建

B、绘制的图形在窗口中的位置

C、程序的框架

D、事件处理

20、【单选题】下列关于Application和Applet程序的说法中不正确的一项是( )。

A、Application使用解释器java.exe

B、Application不使用独立的解释器

C、Applet在浏览器中运行

D、Applet必须继承Java的Applet类

21、【判断题】Java语言具有较好的安全性和可移植性及与平台无关等特性。

A、正确

B、错误

22、【判断题】Java语言的源程序不是编译型的,而是编译解释型的。

A、正确

B、错误

23、【判断题】Java程序中不区分大小写字母。

A、正确

B、错误

24、【判断题】机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。

A、正确

B、错误

25、【判断题】System类中的println()方法分行显示信息,而print()方法不分行显示信息。

A、正确

B、错误

26、【判断题】java命令不区分大小写,而javac命令区分大小写。

A、正确

B、错误

27、【判断题】printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。

A、正确

B、错误

28、【判断题】在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。

A、正确

B、错误

29、【判断题】当前路径的标识是“.”。

A、正确

B、错误

练习

1、【填空题】下列程序的输出结果为: (注意:结果必需完全和程序输出一致,包括大小写、空格和换行!)public class X{ public static void main(String [] args) { String names[]=new String[5]; for(int x=0;xargs.length;x++) names[x]=args[x]; System.out.println(names[2]); } }

A、

2、【填空题】下列程序的输出结果为: (注意:结果必需完全和程序输出一致,包括大小写、空格和换行!)public class array1D_1 { public static void main(String args[]) { int i; int a[ ]; a = new int[5]; for(i=0;i5;i++) a[i]=i; for(i=a.length-1;i=0;i--) System.out.print(“a[“ +i + ”]=” + a[i] + ”,”); } }

A、

练习

1、【填空题】下列程序的输出结果为: public class WhileExample{ public static void main(String[] args){ String copyFromMe=Copy every letter until you encounter 'u'.; StringBuffer copyToMe=new StringBuffer(); //创建一个空的串变量 int i=0; char c=copyFromMe.charAt(i); while(c!='u') { copyToMe.append(c); c=copyFromMe.charAt(++i); } System.out.println(copyToMe); } }

A、

2、【填空题】下列程序的输出结果为: public class Example { String str=new String(good); char[]ch={'a','b','c'}; public static void main(String args[]) { Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+ and ); System.out.print(ex.ch); } public void change(String str,char ch[]) { str=test ok; ch[0]='g'; } }

A、

第二章作业

第二章测试

1、【单选题】下列哪个是合法的Java标识符?( )

A、Tree&Glasses

B、1_FirstJavaApplet

C、_$theLastOne

D、273.5

2、【单选题】Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。

A、8

B、16

C、32

D、64

3、【单选题】Java用于返回字符串中第一个字符的方法为( )。

A、charAt(1)

B、charAt(0)

C、indexof(1)

D、indexof(0)

4、【单选题】在Java中,存放字符串常量的对象属于( )类对象。

A、Character

B、String

C、StringBuffer

D、Vector

5、【单选题】Javadoc 的注释文档中可以有哪些内容?( )

A、文本,HTML标记,以“@”打头的文档标记

B、文本,HTML标记

C、文本,Java宏命令

D、文本,Javascript脚本语句

6、【单选题】以下几个命名方法,不符合Java 命名规范的是( )。

A、类的名称:MyClassName

B、变量的名称:myArray

C、常量的名称:PI_VALUE

D、成员函数的名称:GetName

7、【单选题】在下面的代码中,break语句的作用是( )。for (int i = 0; i 10; i++) if (aData[i] = = TargetData) { FoundID = i; break; }

A、退出if 程序块

B、退出此次循环,直接进入下一次循环

C、退出整个循环

D、退出整个函数

8、【单选题】给定Java代码如下:要使这段代码能够编译成功,横线处可以填入( )。public int count(char c, int i, double d){return _____;}

A、c*i

B、c*d

C、(int)c*d

D、i*d

9、【单选题】给定某Java程序片断,如下:int i=1;int j=i++;if((i++j)(i++==j))i+=j;System.out.println(i);给程序运行后,i的输出结果是( )。

A、1

B、2

C、3

D、4

10、【单选题】给定Java代码片断,如下:int i=0,j=-1;switch(i){ case 0,1:j=1; case 2:j=2;}System.out.print(j=+j);编译运行,正确的结果是( )。

A、程序编译出错

B、j=1

C、j=2

D、j=0

11、【单选题】在Java中,下列( )语句不能通过编译。

A、String s=”john”+”was”+”here”;

B、String s=”john+3”;

C、int a=3+5;

D、float f=5+5.5;

12、【单选题】Java内部如何利用”+”号将字符串连接在一起?( )

A、“+”号相当于append函数,在String对象的后面添加字符串

B、“+”号相当于append函数,在StringBuffer对象的后面添加字符串,因此只有StringBuffer对象能用“+”号连接符

C、Java在用“+”号进行字符串连接的时候,是新建一个StringBuffer对象,用它按序连接所有的字符串,最后再转回String对象

D、“+”号相当于append函数,在String对象的后面添加字符串,因此只有String对象才能用“+”号连接符

13、【单选题】给定一个Java程序的代码片断如下:String s = “hello, world”;System.out.println(A);运行后,输出world,A处应填入( )。

A、s.substring(s.indexOf(“w”),s.length())

B、s.substring(s.charAt(“w”),s.length())

C、s.substring(6,10)

D、s.substring(7,12)

14、【单选题】给定一个Java程序的代码片断如下,运行后,正确的输出结果是( )。String s=”Hello,world”;s.replace(‘,’, ‘ ’);System.out.println(s);

A、Hello world

B、Hello,world

C、HELLO WORLD

D、HELLO,WORLD

15、【单选题】在Java语言中,以下( )代码不会引起编译器错误。

A、float[] f1=new float[];

B、float[3] f2=new float[];

C、float f3[]={1.0,2.0,3.0};

D、float f4[]=new float[]{1.0f,2.0f,3.0f};

16、【单选题】以下对append 函数的描述中,错误的是( )。

A、append 函数用于在已有的字符串末尾添加新的内容

B、仅StringBuffer类提供append 函数

C、append 函数有多种形式,用于添加不同的内容

D、append 函数仅能添加字符串型的对象

17、【单选题】若String s = “Hello” ; String t = “Hello”;String c=new String(s);则下列哪个表达式返回false?( )

A、s.equals(t);

B、t.equals(c);

C、s==c;

D、s==t;

18、【单选题】以下关于Java 中数组长度的描述中,正确的是( )。

A、数组的长度是可变的

B、数组的长度是固定的,是在运行期确定下来

C、数组的长度是固定的,是在设计期确定下来

D、组的长度是可变的,但最大长度在设计期就确定下来

19、【单选题】Java程序中如何获得数组的长度( )?

A、利用全局函数getArrayLen()

B、利用数组的getLength()函数

C、利用数组的length()函数

D、利用数组的length变量

20、【单选题】以下程序的运行结果是( ) 。public class Mine { public static void main(String args[]){ int[] ar=new int[5]; for(int i=0;i ar.length;i++) System.out.print(ar[i]); }}

A、00000

B、编译时错误:数组 ar未初始化

C、null

D、运行时错误:IndexOutOfBoundesException

21、【判断题】所有的变量在使用前都必须进行初始化。

A、正确

B、错误

22、【判断题】String str=abcdefghi; char chr=str.charAt(9);

A、正确

B、错误

23、【判断题】char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6];

A、正确

B、错误

24、【判断题】short shortValue=220; byte byteValue=shortValue;

A、正确

B、错误

25、【判断题】说明或声明数组时不分配内存大小,创建数组时分配内存大小。

A、正确

B、错误

26、【填空题】求两个数的最大值。 public class Abc { static int a = 10 , b = 20 ; public static void main(String args[]) { System.out.println(max()); //调用成员方法max } static int max( ) { return ; }//返回最大值,用条件表达式表示 }

A、

27、【填空题】实现字符串的反转。import java.util.Scanner;class Inverse{ static public void main(String args[]){ Scanner reader=new Scanner( System.in ); //标准输入流封装入Scanner对象 System.out.print(输入字符串:); String s= reader.nextLine() ; //输入字符串,将其赋值给变量s char c[]=new char[ s.length() ]; // 创建与字符串等长的数组c for(int i=0;is.length();i++) c[i]= ; //字符串前后对应位置处字符对换 for(char i:c) System.out.print( i ); //输出对换后的字符 }}

A、

练习

1、【单选题】有一个类B,下面为其构造方法的声明,正确的是( )。

A、void B(int x) { }

B、B(int x) { }

C、b(int x) { }

D、void b(int x) { }

2、【单选题】下面关于类的说法,不正确的是( )。

A、类是同种对象的集合和抽象

B、类属于Java语言中的复合数据类型

C、类就是对象

D、对象是Java语言中的基本结构单位

3、【单选题】下面关于方法的说法,不正确的是( )。

A、Java中的构造方法名必须和类名相同

B、方法体是对方法的实现,包括变量声明和合法语句

C、如果一个类定义了构造方法,也可以用该类的默认构造方法

D、类的私有方法不能被其他类直接访问

4、【单选题】定义外部类时不能用到的关键字是( )。

A、final

B、protected

C、public

D、abstract

5、【判断题】类是一种类型,也是对象的模板。

A、正确

B、错误

6、【判断题】类中说明的方法可以定义在类体外。

A、正确

B、错误

7、【判断题】使用构造方法只能给实例成员变量赋初值。

A、正确

B、错误

练习

1、【单选题】下列哪种类成员修饰符修饰的变量只能在本类中被访问?( )

A、protected

B、public

C、default

D、private

2、【单选题】在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是( )。

A、默认

B、protected

C、private

D、public

3、【单选题】在类的修饰符中,规定只能被同一包类所使用的修饰符是( )。

A、public

B、protected

C、默认

D、private

练习

1、【单选题】给出下面的程序代码:public class X4_1_3 { private float a; public static void m ( ){ }}如何使成员变量a被方法m( )访问?( )

A、将private float a改为protected float a

B、将private float a改为public float a

C、将private float a改为float a

D、将private float a改为static float a

2、【单选题】为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为( )。

A、abstract void f()

B、static void f()

C、public void f()

D、final void f()

3、【单选题】定义一个公有double型常量PI,哪一条语句最好?( )

A、public final double PI;

B、public final static double PI=3.14;

C、public final static double PI;

D、public static double PI=3.14;

4、【单选题】关于实例方法和类方法,以下描述正确的是( )。

A、实例方法只能访问实例变量

B、类方法可以访问类变量,不能访问实例变量

C、类方法只能通过类名来调用

D、实例方法只能通过对象来调用

5、【单选题】下面关于类方法的描述,错误的是( )。

A、说明类方法使用关键字static

B、类方法和实例方法一样均占用对象的内存空间

C、类方法能用实例和类名调用

D、类方法既能处理类变量又能处理实例变量

练习

1、【单选题】下面关于包的描述中,错误的是( )。

A、包是若干对象的集合

B、使用package语句创建包

C、使用import语句引入包

D、包分为有名包和无名包两种

2、【单选题】在Java语言中,哪一个包中的类是自动导入的?( )

A、java.util

B、java.awt

C、java.io

D、java.lang

3、【填空题】当程序中需要引用java.awt.event包中的类时,导入该包中所有类的语句为 。

A、

第三章作业

第三章测试

1、【单选题】在Java中,在包com.db下定义了一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为( )。

A、protected

B、private

C、public

D、friendly

2、【单选题】在JAVA中,com包中某类的方法使用下列( )访问修饰符修饰后,可以被com.db包中的子类访问,但不能被com.db中其他类访问。

A、private

B、protected

C、public

D、friendly

3、【单选题】给定Java代码如下,编译运行,结果是( )。class Test{int i;public static void main(String args[]){System.out.println(i=+i);}}

A、编译错误

B、运行时出现异常

C、正常运行,输出i=-1

D、正确运行,输出i=0

4、【单选题】在Java中,在方法前使用( )关键字,可以表示此方法为类方法,无需创建对象即可访问。

A、void

B、final

C、public

D、static

5、【单选题】为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A、static void method( )

B、public void method( )

C、final void method( )

D、abstract void method( )

6、【单选题】对于构造函数,下列叙述错误的是( )。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同

B、构造函数的返回类型只能是void型

C、构造函数的主要作用是完成对类的对象的初始化工作

D、一般在创建新对象时,系统会自动调用构造函数

7、【单选题】在Java中,对象在何种状态下会被回收?( )

A、当没有引用变量再指向该对象时

B、当对象关系的引用变量消失时

C、当没有任何程序再访问一个对象或对象的成员变量时

D、当对象的所有成员函数都执行一遍以后

8、【单选题】设有下面的一个类定义:class AA {static void show( ){ System.out.println(“我喜欢Java!”); }}class BB { void show( ){ System.out.println(“我喜欢C++!”); } }若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的?( )

A、a.show()b.show()

B、AA.show()BB.show()

C、AA.show()b.show()

D、a.show()BB.show()

9、【单选题】给定Java程序Test.java如下,编译运行,结果是( )。package com;public class Test{protected void talk(){ System.out.print(talk);}}给定com.util包下的测试类Test2如下:package com.util;import com.*;public class Test2 { public static void main(String[] args){ new Test().talk(); }}

A、输出字符串:talk

B、输出字符串:talk talk

C、编译错误:在com.util.Test2中无法访问方法talk()

D、编译错误:com.Test无法在包外访问

10、【单选题】给定Java程序Test.java如下:package com;public class Test{ public void talk(){} protected void walk(){} private void climb(){} void jump(){}}给定Test的子类Test2,代码如下:package com;public class Test2 extends Test{ public static void main(String[] args){ Test2 tt=new Test2( ); //A }}不可以在Test2的A处加入的代码是( )。

A、tt.talk();

B、tt.walk();

C、tt.climb();

D、tt.jump();

11、【单选题】Java中,类Object位于( )包中。

A、java.lang

B、java.util

C、java.sql

D、java.io

12、【单选题】给定Java代码如下,d取值范围是( )。double d = Math.random( );

A、d>=1.0

B、d>=0.0,并且d<1.0

C、d>=0.0,并且d<Double.MAX_VALUE

D、d>=1.0,并且d<Double.MAX_VALUE

13、【单选题】给定一个Java程序的方法结构,如下:public Integer change(String s){( )//代码;}

A、return Integer(s);

B、return s;

C、return s.getInteger();

D、return Integer.valueOf(s);

14、【单选题】给定Java代码片段,如下:Integer a=new Integer(3);Integer b=new Integer(3);System.out.println(a==b);运行后,这段代码将输出( )。

A、true

B、false

C、0

D、1

15、【单选题】设有下面两个赋值语句:a = Integer.parseInt(“1024”);b = Integer.valueOf(“1024”).intValue();下述说法正确的是( )。

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。

D、a和b都是整数类型变量并且它们的值相等。

16、【单选题】定义一个Java程序的方法结构如下:以下方法体实现语句不正确的是( )。public String change(int i){}

A、return new String(i);

B、return String.valueOf(i);

C、return i+“ ”;

D、return Integer.toString(i);

17、【单选题】在Java中,包有多种用途,但不包含( )。

A、将类组合成较小的单元,便于使用

B、有助于避免命名冲突

C、有助于提高运行效率

D、允许在更广的范围内保护类、数据和方法

18、【单选题】以下哪一种方法不能访问一个包中的公开类?( )

A、用“import 包名.*”导入包中的所有类

B、用“import 包名.类名”导入包中的某个类

C、用“*”号来匹配带有某个关键字的类

D、用类的全名(包名.类名)访问

19、【判断题】类是一种类型,也是对象的模板。

A、正确

B、错误

20、【判断题】实例方法中不能引用类变量。

A、正确

B、错误

21、【判断题】创建对象时系统将调用适当的构造方法给对象初始化。

A、正确

B、错误

22、【判断题】使用运算符new创建对象时,赋给对象的值实际上是一个引用值。

A、正确

B、错误

23、【判断题】对象可作方法参数,对象数组不能作方法参数。

A、正确

B、错误

24、【判断题】Java语言会自动回收内存中的垃圾。

A、正确

B、错误

25、【填空题】Collection 接口的特点是元素都是_________。

A、

26、【填空题】List 接口的特点是元素有顺序,___重复。

A、

27、【填空题】Set 接口的特点是元素无顺序,______重复。

A、

28、【填空题】Map 接口的特点是元素是________。

A、

29、【填空题】分析下面的程序,写出运行结果。(注意:运行结果必需和程序运行输出完全一致,包括大小写、空格和换行!)class Box{ int length,width,height; public void setInfo(int l,int w,int h){ length = l; width = w; height = h; } public int volumn(){ return length*width*height; } public int area(){ return (length*width + length*height + width*height) * 2; } public String toString(){ return Length: + length + Width: + width + Height: + height + Volumn: + volumn() + Area: + area(); } } public class BoxTest { public static void main(String[] args) { Box b = new Box(); b.setInfo(5,2,4); System.out.println(b.toString()); } }

A、

30、【填空题】阅读以下程序,说明Person类与Screwdriver类是 关系。public class Person{ /** 拧螺丝 */ public void screw(Screwdriver screwdriver){ screwdriver.screw(); } }

A、

31、【填空题】阅读以下程序,说明Company类和Employee类是 关系。public class Company{ private Employee employee; public Employee getEmployee(){ return employee; } public void setEmployee(Employee employee){ this.employee=employee; } //公司运作 public void run(){ employee.startWorking(); } }

A、

练习

1、【单选题】下面关于类的继承性的描述中,错误的是( )。

A、继承是在已有的基础上生成新类的一种方法

B、Java语言要求一个子类只有一个父类

C、父类中成员的访问权限在子类中将被改变

D、子类继承父类的所有成员,但不包括私有的成员方法

2、【单选题】定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,则下面哪些声明是正确的?( )

A、protected class MyClass extends Object

B、public class MyClass

C、private class MyClass extends Object

D、class MyClass extends Object

3、【单选题】下列关于继承性的描述中,错误的是( )。

A、一个类可以同时生成多个子类

B、父类构造方法不能被继承

C、Java支持单重继承和多重继承

D、Java通过接口可使子类使用多个父类的成员

4、【单选题】下面叙述中,错误的是( )。

A、子类继承父类

B、父类派生子类

C、子类能替代父类

D、父类能替代子类

练习

1、【单选题】关键字super的作用是( )。

A、用来访问父类被隐藏的成员变量

B、用来调用父类中被重写的方法

C、用来调用父类的构造方法

D、以上都是

2、【单选题】下面是有关子类继承父类构造函数的描述,其中正确的是( )。

A、如果子类没有定义构造函数,则子类无构造函数

B、子类构造函数必须通过super关键字调用父类的构造函数

C、类必须通过this关键字调用父类的构造函数

D、子类无法继承父类的构造函数

3、【单选题】以下程序的运行结果为( )。class X { Y b = new Y(); X() { System.out.print(X); } } class Y { Y() { System.out.print(Y); } } public class Z extends X { Y y = new Y(); Z() { System.out.print(Z); } public static void main(String[] args) { new Z(); } }

A、Z

B、YZ

C、XYZ

D、YXYZ

练习

1、【单选题】MAX_LENGTH是int型public常量,变量值保持为常量100,其定义是( )。

A、public int MAX_LENGTH=100;

B、final public int MAX_LENGTH=100;

C、public final int MAX_LENGTH=100;

D、final int MAX_LENGTH=100;

2、【单选题】下面关于封装性的描述中,错误的是( )。

A、封装体包含属性和行为

B、被封装的某些信息在外不可见

C、封装提高了可重用性

D、封装体中的属性和行为的访问权限相同

3、【判断题】最终方法只能存在于最终类中。

A、正确

B、错误

4、【判断题】声明为 static和private 的方法不能是final的。

A、正确

B、错误

练习

1、【单选题】下列哪些方法与方法public void add(int a){}为不合理的重载方法?( )

A、public void add(char a)

B、public int add(int a)

C、public void add(int a,int b)

D、public void add(float a)

2、【单选题】区分类中重载方法的依据是( )。

A、形参列表的类型和顺序

B、不同的形参名称

C、返回值的类型不同

D、访问权限不同

3、【单选题】子类对象能否直接向其父类赋值?父类对象能否直接向其子类赋值?( )

A、能,能

B、能,不能

C、不能,能

D、不能,不能

4、【单选题】下列关于子类继承父类的成员描述中,错误的是( )。

A、当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法。

B、方法重载是编译时处理的,而方法覆盖是在运行时处理的。

C、子类中继承父类中的所有成员都可以访问。

D、子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使用自己定义的变量。

第四章作业

第四章测试

1、【单选题】关于重载和重写的叙述正确的是( )。

A、重载是多态的一种,而重写不是

B、重载是子类中定义的方法和父类中某个方法相同

C、重写是一个类中多个同名的方法,并且方法的参数不同

D、重写方法时不允许降低方法的访问权限

2、【单选题】下面( )Java关键字表示一个对象或变量的值不能够被修改。

A、static

B、abstract

C、finally

D、final

3、【单选题】一个Java源文件Child.java,代码如下:运行后正确的输出结果是( )。class Parent{ Parent(){ System.out.println(“parent”); } } public class Child extends Parent{ Child(String s){ System.out.println(s); } public static void main(String[] args){ Child child=new Child(“child”); } }

A、child

B、childparent

C、parentchild

D、编译错误

4、【单选题】在Java中,关键字( )用来调父类的构造方法。

A、super

B、this

C、extends

D、abstract

5、【单选题】在Java中,下列( )类不能派生出子类。

A、public class MyClass{}

B、class MyClass{}

C、abstract class MyClass{}

D、final class MyClass{}

6、【单选题】分析下面的Java代码:编译运行,结果是( )。class A{ protected int getNumber(int a){ return a+1; } } class B extends A{ public int getNumber(int a){ return a+2; } public static void main(String args[]){ A a=new B(); System.out.println(a.getNumber(0)); } }

A、输出1

B、输出2

C、public int getNumber(int a)处导致编译错误

D、A a=new B();处导致编译错误

7、【单选题】给定Java代码如下,关于super的用法,以下描述正确的是( )。class C extends B{ public C(){ super(); } }

A、用来调用类B中定义的super()方法

B、用来调用类C中定义的super()方法

C、用来调用类B的无参构造方法

D、用来调用类B中第一个出现的构造方法

8、【单选题】已知: class C { public C(int i) { } }下面哪段代码是对类C构造方法的重载( )。

A、C(int i) {}

B、public Object C(byte b) {}

C、public C() {}

D、private C(int i, int j) {}

9、【单选题】给定如下Java代码,以下( )修饰符可以填入下划线处。class Parent{ protected void eat(){} } class Child extends Parent{ _________void eat(){} }

A、final

B、private

C、static

D、public

10、【单选题】对于子类的构造函数说明,下列叙述中不正确的是( )。

A、在同一个类中定义的重载构造函数可以相互调用。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行父类的无参构造函数,然后再执行自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

11、【单选题】设有下面的两个类定义:class AA { void show(){ System.out.println(“我喜欢Java!”); } } class BB extends AA { void show(){ System.out.println(“我喜欢C++!”); } } 则顺序执行如下语句后输出结果为:( ) AA a=new AA(); a.show(); AA b=new BB(); b.show();

A、我喜欢Java!我喜欢C++!

B、我喜欢C++!我喜欢Java!

C、我喜欢Java!我喜欢Java!

D、我喜欢C++!我喜欢C++!

12、【单选题】下列程序运行结果是( )。class Base{ Base(){ int i = 100; System.out.print(i); } } public class Pri extends Base{ static int i = 200; public static void main(String argv[]){ Pri p = new Pri(); System.out.print(i); } }

A、编译错误

B、200

C、100200

D、100

13、【单选题】如何定义一个不能有子类的类Key( )。

A、class Key { }

B、final class Key { }

C、public class Key { }

D、class Key {final int i;}

14、【单选题】哪个选项可以做为以下方法的覆盖方法( )。public void add(int a) {…}

A、public void add(int b) {…}

B、void add(int a) {…}

C、public int add(int a) {…}

D、public void add(float a) {…}

15、【单选题】在子类构造方法的哪个地方可以调用超类的构造方法( )。

A、任何地方

B、构造方法的第一条语句

C、构造方法的最后一条语句

D、不能在子类构造方法中调用超类的构造方法

16、【单选题】以下代码运行结果是( )。class Base {} class Sub extends Base {} class CEx{ public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; } }

A、编译通过

B、编译错误

C、运行异常

D、以上都不对

17、【单选题】设有如下类定义:class BaseWidget { String name=BaseWidget; void speak(){ System.out.println(I am a +name); } } class TypeAWidget extends BaseWidget{ TypeAWidget(){ name=TypeA; } } 以下哪段代码将正确编译和执行( )。

A、Object a=new BaseWidget(); a.speak();

B、BaseWidget b=new TypeAWidget(); b.speak()

C、TypeAWidget c=new BaseWidget(); c.speak();

D、以上都不对

18、【判断题】子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。

A、正确

B、错误

19、【判断题】Java语言中,所创建的子类都应有一个父类。

A、正确

B、错误

20、【判断题】调用this 或super构造方法的语句必须放在第一条语句。

A、正确

B、错误

21、【判断题】子类可以继承父类所有的成员变量及成员函数。

A、正确

B、错误

22、【判断题】Java类中不能存在同名的两个成员函数。

A、正确

B、错误

23、【判断题】静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。

A、正确

B、错误

24、【填空题】以下程序的运行结果为 (注意:必需和程序运行结果严格一致,包括大小写、空格和换行!)class Person{ String name; int age; public Person(){ System.out.println(PersonB()被调用); } public Person(String name){ this.name = name; //设置姓名 System.out.println(Person(String name)被调用); } public void introduce(){ System.out.println(我是+name+,今年+age+岁); } } class Student extends Person { public Student(){ System.out.println(Student()被调用); } public Student(String name,int newAge){ super(name); //调用父类构造方法,重命名 age=newAge; } } public class Test2 { public static void main(String[] args) { Student s= new Student(张三, 19); //创建19岁的张三对象 s.introduce(); //让张三进行自我介绍 } }

A、

25、【填空题】下列程序的输出结果为 (注意:必需和程序运行结果严格一致,包括大小写、空格和换行!)class Aclass { void go() { System.out.println(Aclass); } } public class Bclass extends Aclass { void go() { System.out.println(Bclass); } public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); } }

A、

26、【填空题】下列程序的输出结果为 (注意:必需和程序运行结果严格一致,包括大小写、空格和换行!)class Ball{ private double r; public void setR(double x){ r = x; } public double getR(){ return r; } } class Billiards extends Ball{ private String color; public void setCol(String col){ color = col; } public void show(){ System.out.println(台球的颜色是+color+,半径是+getR()); } } public class Demo{ public static void main(String[] args){ Ball b1 = new Ball(); b1.setR(10); System.out.println(球的半径是+b1.getR()); Billiards b2 = new Billiards(); b2.setR(5); b2.setCol(蓝色); b2.show(); } }

A、

27、【填空题】下列程序的输出结果为 (注意:必需和程序运行结果严格一致,包括大小写、空格和换行!)public class Test1 extends TT{ public static void main(String args[]) { Test1 t = new Test1 (Tom); } public Test1(String s){ super(s); System.out.println(How do you do?); } public Test1(){ this(I am Tom.); } } class TT{ public TT(){ System.out.println(What a pleasure!); } public TT(String s){ this(); System.out.println(I am +s); } }

A、

28、【填空题】子类重新定义一个与从父类那里继承来的成员变量完全相同的变量,这种面向对象程序设计特性称为成员变量的 。

A、

练习

1、【单选题】下面说法不正确的是( )。

A、抽象类既可以做父类,也可以做子类

B、abstract和final能同时修饰一个类

C、抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口

D、声明为final类型的方法不能在其子类中重新定义

2、【单选题】下列关于抽象类的说法正确的是( )。

A、某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法

B、接口和抽象类是同一回事

C、绝对不能用抽象类去创建对象

D、抽象类中不可以有非抽象方法

3、【单选题】下面程序定义了一个类,关于该类说法正确的是( )。abstract class abstractClass{……}

A、该类能调用new abstractClass(),方法实例化为一个对象

B、 该类不能被继承

C、该类的方法都不能被重载

D、以上说法都不对

4、【单选题】下列关于抽象类的描述中,错误的是( )。

A、抽象类是用修饰符abstract说明的

B、抽象类是不可以定义对象的

C、抽象类是不可以有构造方法的

D、抽象类通常要有它的子类

5、【单选题】设有如下类的定义:public class parent { int change() {} } class Child extends Parent { }则,下面哪个方法不可加入Child类中?( )

A、public int change(){ }

B、int change(int i){ }

C、int change(){ }

D、abstract int change(){ }

练习

1、【单选题】下面关于接口的描述中,错误的是( )。

A、一个类只允许实现一个接口

B、定义接口使用的关键字是interface

C、在实现接口的类中通常要给出接口中定义的抽象方法的具体实现

D、接口实际上是由常量和抽象方法构成的特殊类

2、【单选题】欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( )

A、ArrayList myList=new Object();

B、ArrayList myList=new List();

C、List myList=new ArrayList();

D、List myList=new List();

3、【单选题】下面关于接口的说法中不正确的是( )。

A、接口中所有的方法都是抽象的

B、接口中所有的方法都是public访问权限

C、子接口继承父接口所用的关键字是implements

D、一个接口可以继承多个接口

4、【单选题】一个类实现接口的情况是( )。

A、一次可以实现多个接口

B、一次只能实现一个接口

C、不能实现接口

D、不一定

第五章作业

第五章测试

1、【单选题】在Java中,如果父类中的某些方法不包含逻辑,并且需要有子类重写,应该使用( )关键字来声明父类的这些方法。

A、final

B、static

C、abstract

D、void

2、【单选题】在Java中,下面关于抽象类的描述正确的是( )。

A、抽象类可以被实例化

B、如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类

C、抽象类中的方法必须都是抽象的

D、如果一个类中没有抽象方法,那么这个类一定不是抽象类

3、【单选题】在Java中,使用接口弥补了Java( )的缺点。

A、一个父类只能有一个子类

B、只能单重继承

C、同名类会引发冲突

D、不能隐藏复杂实现细节

4、【单选题】在Java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )。

A、interface A extends B,C

B、interface A implements B,C

C、class A implements B,C

D、class A implements B,implements C

5、【单选题】在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。

A、private

B、protected

C、private protected

D、public

6、【单选题】下列选项中正确的是( )。

A、允许接口中没有抽象方法

B、一个类只能实现一个接口

C、如果一个抽象类实现某个接口,则必须重写接口中所有抽象方法

D、如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法

7、【单选题】以下接口中的方法声明错误的是( )。

A、public void fun();

B、public abstract static void fun();

C、int fun();

D、abstract float fun();

8、【单选题】下列程序:interface Int{ int X=100; int fun();}class ImpInt implements Int{ (代码)}其中(代码)处应添加的语句为( )。

A、public float fun(){return 3.5;}

B、int fun(){return 200;}

C、public abstract int fun();

D、public int fun(){return 100+X;}

9、【单选题】在Java接口中,下列选项里有效的方法声明是( )。

A、public void aMethod();

B、aMethod();

C、static void aMethod();

D、protected void aMethod();

10、【单选题】下面的是关于类及其修饰符的一些描述,错误的是( )。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象

B、final类不但可以用来派生子类,也可以用来创建final类的对象

C、abstract不能与final同时修饰一个类

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法

11、【判断题】一个类可以实现多个接口,接口可以实现“多重继承”。

A、正确

B、错误

12、【判断题】实现接口的类不能是抽象类。

A、正确

B、错误

13、【判断题】Java 语言不允许同时继承一个类并实现一个接口。

A、正确

B、错误

14、【判断题】抽象方法是一种只有说明而无具体实现的方法。

A、正确

B、错误

15、【判断题】实现接口的类不能是抽象类。

A、正确

B、错误

16、【填空题】下列程序的输出结果为: (注意:答案必须和程序输出完全一致,包括大小写、空格和换行!)interface IShape{ public double area(); } class square implements IShape{ double length ; public square(double l){ length = l; } public double area(){ return length*length; } } public class Test { public static void main(String[] args) { square s = new square(5); System.out.println(s.area()); } }

A、

17、【填空题】以下程序编写一个乐器接口Instrument,试着完善程序。(注意:两个空中的答案必需依次分两行书写!)interface Instrument { public static int i =5 ; public void play();}

A、

18、【填空题】以下程序由弦乐器类Stringed实现乐器接口Instrument,并实现接口中的抽象方法。(注意:两个空中的答案必需依次分两行书写!)class Stringed { void play() { System.out.println(Stringed.play()); }}

A、

19、【填空题】以下程序创建弦乐器Stringed类的对象,调用play()方法进行演奏。(注意:两个空中的答案必需依次分两行书写!)public class Music { public static void main(String[] args) { Instrument test1= ; ; //由弦乐器实现演奏 }}

A、

20、【填空题】接口是一种只含有抽象方法或______的一种特殊抽象类。

A、

练习

1、【判断题】异常(Exception)分为编译异常(checked异常)和运行时异常(runtime异常)。

A、正确

B、错误

2、【判断题】Error表示不可修复的恶性的错误,只能通过修改代码规避错误的产生,通常是系统级别的,所以很严重。

A、正确

B、错误

3、【判断题】Exception表示可修复的异常,异常产生后程序员可以并且应该通过代码的方式纠正,使程序继续运行,可以不用处理。

A、正确

B、错误

4、【判断题】运行时Runtime异常,在编译时期不会编译器检测,在运行时期检查异常。

A、正确

B、错误

练习

1、【判断题】异常的处理方式有两种,分别是使用throws和try...catch...finally

A、正确

B、错误

2、【填空题】看代码,准确写出产生的异常类型class Test{ public static void main(String[]args){ String str=null; System.out.println(str.length()); } }

A、

3、【填空题】看代码,写出产生的准确的异常类型class Test{ public static void main(String[]args){ int arr[]={1,2}; System.out.println(arr[2]); } }

A、

4、【填空题】看代码,写出产生的准确的异常类型class Test{ public static void main(String[]args){ System.out.println(1/0); } }

A、

5、【填空题】看代码,写出产生的准确的异常类型class Test{ public static void main(String[]args){ System.out.println(Integer.parseInt(itcast)); } }

A、

6、【填空题】看代码,写出程序运行结果class Test{ public static void main(String[] args) { SimpleDateFormat format = new SimpleDateFormat(yyyy-mm-dd); try { Date date = format.parse(2018-04-03); System.out.println(程序正常); } catch (ParseException e) { System.out.println(程序异常); } } }

A、

7、【填空题】写出程序运行结果class Demo { public static void func() { try { throw new Exception(); } finally { System.out.println(B); } } public static void main(String[] args) { try { func(); System.out.println(A); } catch (Exception e) { System.out.println(C); } System.out.println(D); } }

A、

8、【填空题】写出程序运行结果class Demo { public static void main(String[] args) { try { showExce(); System.out.print(A); } catch (Exception e) { System.out.print(B); } finally { System.out.print(C); } System.out.print(D); } public static void showExce() throws Exception { throw new Exception(); } }

A、

9、【填空题】写出程序结果class Test { public static String output = ; public static void foo(int i) { try { if (i == 1) throw new Exception(); output += 1; } catch (Exception e) { output += 2; } finally { output += 3; } output += 4; } public static void main(String args[]) { foo(0); System.out.println(output); foo(1); System.out.println(output); } }

A、

10、【填空题】写出程序结果public class ReturnExceptionDemo { static void methodA() { try { System.out.println(进入方法A); throw new RuntimeException(制造异常); } finally { System.out.println(用A方法的finally); } } static int methodB() { try { System.out.println(进入方法B); return 1; } catch (Exception e) { return 3; } finally { System.out.println(调用B方法的finally); } } public static void main(String[] args) { try { methodA(); } catch (Exception e) { System.out.println(e.getMessage()); } int i = methodB(); System.out.println(i); } }

A、

练习

1、【填空题】自定义异常,数值不能为负数。public class NoScoreException extends RuntimeException { public NoScoreException() { super(); } public NoScoreException(String message) { super(message); }}public class Student {private String name;private int score;public Student() {super(); }public Student(String name,int score){ setName(name); setScore(score); }public String getName() {return name; }public void setName(String name) {this.name = name; }public int getScore() {return score;}public void setScore(int score) {// 判断,如果score为负数,就抛出NoScoreException,异常信息为:分数不能为负数:xxx.if(score 0){ }this.score = score; }}

A、

2、【填空题】写出程序运行结果class Exc0 extends Exception { } class Exc1 extends Exc0 { } class Demo { public static void main(String[] args) { try { throw new Exc1(); } catch (Exc1 e) { System.out.println(Exc1); } catch (Excception e) { System.out.println(Exception); } } }

A、

第六章作业

第六章测验

1、【单选题】给定Java代码,如下运行时,会产生( )类型的异常。String s=null;s.concat(abc);

A、ArithmeticException

B、NullPointerException

C、IOException

D、EOFException

2、【单选题】Java中,下面捕获异常的语句不正确的是( )。

A、try{……}finally{……}

B、try{……}catch(Exception ex){……}

C、try{ try{……}}catch(Exception ex){……}

D、try{ try{……} finally{……}}catch(Exception ex){……}

3、【单选题】给定一段Java代码,如下:运行后,输出结果将是( )。public class Test{ public static void main(String args[]){ int a[]={0,1,2,3,4}; int sum=0; try{ for(int i=1;i6;i++) sum=sum+a[i]; System.out.println(sum=+sum); } catch(ArrayIndexOutOfBoundsException e){ System.out.println(数组越界); } finally{ System.out.println(程序结束); } }}

A、sum=10程序结束

B、sum=10

C、数组越界程序结束

D、数组越界

4、【单选题】关于Java的异常处理,以下说法正确的是( )。

A、任何能引发Error类异常的语句必须封装在try块中

B、任何能引发Exception类异常的语句必须封装在try块中

C、任何能引发RuntimeException类异常的语句必须封装在try块中

D、正常情况下,程序无法捕捉Error类的异常

5、【单选题】在Java的异常处理中,能单独与finally语句一起使用的块是( )。

A、try

B、catch

C、throw

D、throws

6、【单选题】以下程序执行的结果是( )。 int[] myArray = new int[3]; try { for (int i=0; i=myArray.length; i++) { myArray[i] = i *3; System.out.p rintln(数组的第 + i + 个元素的值是: + myArray[i]); System.out.println(被0 除错误。 + 12/0); } } catch (ArrayIndexOutOfBoundsException e) { System.out.p rintln(数组下标越界。); } catch (RuntimeException e) { System.out.p rintln(程序出现异常。); }

A、程序正常执行结束

B、程序执行,屏幕出现“程序出现异常。”

C、程序执行,屏幕出现“程序出现算术异常。”

D、程序执行,屏幕出现“数组下标越界。”

7、【单选题】如果catch块中包括多个异常类,这些异常类的匹配原则是什么?( )

A、按try块中程序执行的顺序,寻找最通用的异常类

B、按try块中程序执行的顺序,寻找能够最精确匹配的类

C、按catch块中异常类的排列顺序,寻找第一个能够匹配

D、在catch块中寻找能够最精确匹配的类

8、【单选题】以下异常中,不属于RuntimeException的是( )。

A、ArrayIndexOutOfBoundsException数组下标越界异常

B、NullPointerException使用未初始化的引用变量

C、ArithmeticException算术异常

D、IllegalAccessException没有足够的权限访问其他类的成员

9、【单选题】在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。

A、if – else

B、switch

C、try

D、throw

10、【单选题】在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。

A、try子句

B、catch子句

C、finally子句

D、throw子句

11、【单选题】( )类是所有异常和错误类的父类。

A、Throwable

B、Error

C、Exception

D、AWTError

12、【单选题】下列代码中给出正确的在方法体内抛出异常的是( )。

A、new throw Exception(" ");

B、throw new Exception(" ");

C、throws IOException();

D、throws IOException;

13、【单选题】给定Java代码,如下,编译运行后,结果是( )。public class Test{ static String s; public static void main(String args[]){ char c=s.charAt(0); System.out.println(c); }}

A、编译错误

B、运行期异常,异常类型为NullPointerException

C、运行期异常,异常类型为ArithmeticException

D、正确运行,但无输出内容

14、【判断题】抛出异常,使用关键字throw。

A、正确

B、错误

15、【判断题】捕获异常,使用关键字catch。

A、正确

B、错误

16、【判断题】Error是Throwable的子类。

A、正确

B、错误

17、【判断题】RuntimeException及其子类,可以不明确处理。

A、正确

B、错误

18、【判断题】非RuntimeException及其子类,必须明确处理。

A、正确

B、错误

19、【判断题】用户自定义异常类继承自Exception类或某个子Exception类。

A、正确

B、错误

20、【判断题】assert表示断言。

A、正确

B、错误

21、【判断题】assert后面可以跟一个boolean类型的表达式。

A、正确

B、错误

22、【判断题】要使assert起作用,则在运行时,使用选项(-ea,或-enableassertions)。

A、正确

B、错误

23、【判断题】现在很多Java集成开发工具都提供了对JUnit的支持。

A、正确

B、错误

24、【判断题】@Test来标注测试函数。

A、正确

B、错误

25、【判断题】程序中的错误通常可以分成三大类:语法错、运行错、逻辑错。

A、正确

B、错误

26、【判断题】语法错可以由编译器发现。

A、正确

B、错误

27、【判断题】运行时错可以由try-catch方式进行处理。

A、正确

B、错误

28、【判断题】catch多个异常时,子类异常要排在父类异常的后面。

A、正确

B、错误

29、【判断题】finally语句是指没有异常出现时要执行的语句。

A、正确

B、错误

30、【判断题】如果有return语句,finally语句应不会执行。

A、正确

B、错误

31、【判断题】逻辑错可以由编译器发现。

A、正确

B、错误

32、【判断题】若父类中的方法声明了throws异常,则子类Override时一定也要throws异常。

A、正确

B、错误

33、【判断题】在方法的声明后面用关键字throw来声明该方法会抛出异常。

A、正确

B、错误

34、【判断题】Exception是Throwable的父类。

A、正确

B、错误

练习

1、【单选题】进行Java基本GUI设计需要用到的包是( )。

A、java.io

B、java.sql

C、java.awt

D、java.rmi

2、【单选题】Container是下列哪一个类的子类( )?

A、Graphics

B、Window

C、Applet

D、Component

3、【单选题】java.awt.Frame的父类是( )。

A、java.util.Window

B、java.awt.Window

C、java.awt.Panel

D、java.awt.ScrollPane

4、【单选题】下列哪一项不属于Swing的顶层组件( )?

A、JApplet

B、JDialog

C、JTree

D、JFrame

5、【单选题】下列说法中错误的一项是( )。

A、在实际编程中,一般使用的是Component类的子类

B、在实际编程中,一般使用的是Container类的子类

C、Container类是Component类的子类

D、容器中可以放置组件,但是不能够放置容器

练习

1、【单选题】在Java语言中,按“东,西,南,北,中”指定组件的位置的布局管理器是( )。

A、FlowLayout

B、GridLayout

C、BorderLayout

D、CardLayout

2、【单选题】Java Swing中,JFrame的默认布局管理器是( )。

A、FlowLayout

B、BorderLayout

C、GridLayout

D、GridBagLayout

3、【单选题】下列叙述中,错误的一项是( )。

A、采用GridLayout布局,容器中的每个组件平均分配容器空间

B、采用GridLayout布局,容器中的每个组件形成一个网络状的布局

C、采用GridLayout布局,容器中的组件按照从左到右、从上到下的顺序排列

D、采用GridLayout布局,容器大小改变时,每个组件不再平均分配容器空间

4、【单选题】下列哪一项不属于AWT布局管理器( )?

A、GridLayout

B、CardLayout

C、BorderLayout

D、BoxLayout

5、【单选题】布局管理器可以管理构件的哪个属性( )?

A、大小

B、颜色

C、名称

D、字体

6、【单选题】以下哪个描绘了下列应用程序的外观( )?import java.awt.*; public class FlowAp extends Frame{ public static void main(String argv[]){ FlowAp fa=new FlowAp(); fa.setSize(400,300); fa.setVisible(true); } FlowAp(){ add(new Button(One)); add(new Button(Two)); add(new Button(Three)); add(new Button(Four)); } }

A、窗体每边有4个标记为One 到 Four的按钮

B、从顶到底有安排有4个标记为One 到 Four的按钮

C、一个很大的标记为 Four的按钮在正中央

D、运行时指示没有设置布局管理器的错误

练习

1、【单选题】以下程序调试结果为( )?//演示事件处理 import java.awt.*; import java.awt.event.*; public class MyWc extends Frame implements WindowListener{ public static void main(String args[]){ MyWc mwc = new MyWc(); } public void windowClosing(WindowEvent we){ System.exit(0); } public void MyWc(){ setSize(300,300); setVisible(true); } }

A、编译错误

B、创建的窗体会关闭掉

C、运行无输出

D、编译错误,import语句前不能有注释语句

2、【单选题】 以下叙述正确的有( )?

A、如果一个组件注册多个监听者,事件只会被最后一个监听者处理

B、如果一个组件注册多个监听者,事件将被所有监听者处理

C、一个组件注册多个监听者将导致编译出错

D、不可以将一个部件已注册的监听者移去

3、【单选题】当单击鼠标或拖动鼠标时,触发的事件是( )。

A、KeyEvent

B、ActionEvent

C、ItemEvent

D、MouseEvent

4、【单选题】关于内部类,下列说法不正确的是( )。

A、内部类不能有自己的成员方法和成员变量

B、内部类可用private或protected修饰符修饰

C、内部类可以作为其他类的成员,而且可访问它所在的类的成员

D、除static内部类外,不能在类内声明static成员

5、【判断题】一般地,内部类又分为定义在方法体外的成员类和定义在方法体内的局部类两种。

A、正确

B、错误

6、【判断题】匿名类一般分为语句匿名类和参数匿名类两种。

A、正确

B、错误

7、【判断题】静态内部类可直接通过外部类名引用,其一般格式是:new 外部类名.内部类构造方法( ); 。

A、正确

B、错误

练习

1、【单选题】以下哪个组件一般不支持动作监听器?( )

A、文本框

B、下拉框

C、按钮

D、标签

2、【单选题】要编写一个JAVA Swing 应用程序,必须导入( )包。

A、javax.swing

B、java.swing

C、javax.awt

D、java.awt.event

3、【单选题】在Swing 中,以下创建按钮的步骤中,不需要的是( )。

A、创建一个按钮对象

B、为按钮设置动作监听器

C、将按钮放到面板上

D、在框架中注册这个按钮

4、【判断题】Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。

A、正确

B、错误

5、【判断题】每个事件类对应一个事件监听器接口,每一个监听器接口都有相对应的适配器。

A、正确

B、错误

练习

1、【单选题】下列哪个方法可以将MenuBar加入Frame中( )?

A、setMenu()

B、addMenuBar()

C、add()

D、setMenuBar()

2、【单选题】如何创建消息框?( )

A、创建一个JMessageDialog对象

B、创建一个类,实现JMessageDialog接口

C、用JOptionPane 类的showMessageDialog函数创建

D、创建一个JDialog对象,再在其中放一个确认按钮

3、【判断题】当用户双击一个列表选项时,首先产生一个ItemEvent事件,然后再产生一个ActionEvent事件。

A、正确

B、错误

4、【判断题】对话框构件一般可以接受ComponentEvent事件和FocusEvent事件。

A、正确

B、错误

5、【判断题】容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。

A、正确

B、错误

练习

1、【单选题】一个部件重绘时,方法调用按下面哪个次序( )?

A、直接调用 paint()

B、调用update ,而update会调用 paint()

C、调用repaint(),由它调用update(), update 再调用 paint()

D、调用 repaint(),它将直接调用 paint

2、【单选题】 java.awt.Graphics 类的哪个方法可绘制填充矩形( )?

A、fillRect()

B、drawRect()

C、fillOval()

D、drawPolygon()

3、【单选题】在Applet画面的右下角至左上角画一条直线,则//draw处应如何选择( )?import java.awt.*; import java.applet.*; public class myApplet extends Applet { public void paint(Graphics g) { //draw } }

A、g.drawLine(0,0,getHeight(),getWidth());

B、g.drawLine(0,getWidth(),0,getHeight());

C、g.drawLine(0,getWidth(),getHeight(),0);

D、g.drawLine(getWidth(),getHeight(),0,0);

4、【单选题】所有变量初始化、对象创建、参数设置等可以安排在Applet的什么方法内完成( )?

A、init

B、start

C、stop

D、以上都不是

练习

1、【单选题】下列说法错误的一项是( )?

A、getImage()方法无论图像是否存在,都立即返回

B、getImage()方法调用图像的时候,一直等图像加载完毕才返回

C、使用getImage()方法时,只有图像真正需要绘制时,数据才真正加载

D、由于网络带宽的限制,图像的显示过程可能会很慢

2、【多选题】Java支持处理的图像文件类型包括以下哪几种( )?

A、bmp

B、gif

C、tif

D、jpeg

3、【判断题】Java中可以利用Graphics2D类的getImage()方法显示图像。

A、正确

B、错误

4、【填空题】以下Applet程序实现在Applet界面中显示当前路径下的图片pica.jpg。import java.awt.*;import java.applet.Applet;public class DrawMyImage extends Applet{ Image myImage; // 定义一个图像类Image的对象myImage public void init( ) { myImage = getImage(getDocumentBase( ),pica.jpg); } public void paint(Graphics g) { g. (myImage,0,0,this); } }

A、

第八章作业

第八章测验

1、【单选题】下列哪个属于容器型组件(   )。

A、JEdit

B、JButton

C、JPanel

D、JTextField

2、【单选题】在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是( )包。

A、java.io

B、java.awt

C、java.applet

D、java.awt.event

3、【单选题】在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用( )类的对象来实现。

A、Label

B、Button

C、TextArea

D、TextField

4、【单选题】当触发ActionEvent事件时,getSource方法可以鉴别触发该事件的事件源组件,它的返回类型为( )。

A、Object

B、Class

C、Component

D、Button

5、【单选题】面板缺省搭配是什么布局管理器?( )

A、边界布局管理器

B、盒式布局管理器

C、表格型布局管理器

D、流式布局管理器

6、【单选题】下列哪一个容器不属于顶级容器( )。

A、JFrame

B、JDialog

C、JPanel

D、Applet

7、【单选题】在事件处理中,适配器的作用是什么?( )

A、避免实现不需要的函数接口

B、跳过事件处理类,直接面对事件处理函数

C、使得框架类可以同时兼作事件处理类

D、提高事件处理的执行速度

8、【单选题】下面哪些控件不可以产生ActionEvent ( )。

A、javax.swing.JButton

B、javax.swing.JTextField

C、javax.swing.JList

D、javax.swing.Timer

9、【单选题】在Java swing编程中,要获取每次选择的JComboBox对象的选项值,可以使用( )。

A、ActionListener

B、ItemListener

C、KeyListener

D、SelectionListener

10、【单选题】Java中,要捕捉鼠标的单击事件,可使用( )类型的监听器。

A、ActionListener

B、MouseMotionListener

C、MouseListener

D、KeyListener

11、【单选题】JAVA中的布局管理器,以下说法中错误的是( )。

A、FlowLayout以由上到下的方式从左到右排列组件

B、BorderLayout使用“东”、“西”、“南”、“北”、“居中”来指定组件的位置

C、GridLayout可以创建网络布局,网络布局中的各组件的大小可以任意调整

D、可以通过容器的setLayout方法为容器制定布局管理器

12、【单选题】在定义事件处理类时,需要指明哪些参数? ( )

A、缺省的构造函数即可,不需要参数

B、事件处理类实现的监听器

C、事件处理类的类型

D、事件处理类所监听的事件源

13、【单选题】如何在退出程序前进行提示操作? ( )

A、将框架关闭时的操作设为“WindowConstants.CONFIRM_EXIT”

B、将框架关闭时的操作设为“JFrame.EXIT_ON_CLOSE”

C、设置框架关闭时的操作为不做任何事,再为框架类设置窗口监听器,在监听退出的代码中进行提示操作

D、为框架增加一个“退出”按钮,再编写相应代码

14、【单选题】缺省的JDialog 对话框是有模式的还是无模式的?( )

A、无模式的

B、有模式的

C、有模式的,而且不能更改

D、从框架中创建的是有模式的,直接创建的是无模式的

15、【单选题】如何得到所选的下拉框的内容? ( )

A、调用选项数组的getSelectedItem 函数

B、调用框架的getSelectedComboBoxItem 函数

C、调用下拉框的getSelectedItem 函数

D、调用选中字符串的getSelectedString 函数

16、【单选题】如果多个组件共用一个动作监听器类,如何区分这些组件?( )

A、无法区分不同的组件

B、利用动作监听器的FindSource 函数寻找组件

C、利用组件的setActionCommand 函数设置不同的命令以区分

D、利用组件的FindSource 函数寻找源头

17、【单选题】在Java的图形界面程序中,为便于排列,组件一般放在哪里?( )

A、对话框上

B、面板上

C、直接放在框架上

D、标签上

18、【单选题】如何在框架中加入菜单栏?( )

A、通过框架的add函数将菜单栏直接放到框架上

B、通过内容窗格的add函数将菜单栏放到内容窗格上

C、通过框架的setJMenuBar函数加入菜单栏

D、将菜单栏作为框架的一个成员变量

19、【单选题】如何调整框架的大小?( )

A、利用setSize函数调整框架的大小

B、框架的大小是由内部的组件大小决定的,不能直接调整框架大小

C、在初始化文件(int文件)中设置

D、在注册表中设置

20、【单选题】利用JOptionPane类可以创建哪几类对话框?( )

A、消息框、确认框、输入框、文件框等

B、只能创建消息框和确认值

C、消息框、确认框,选择框、输入框等

D、只能创建消息框

21、【单选题】在Eclipse中,如何创建一个调色板组件?( )

A、利用JColorChooser类创建

B、调用Windows 操作系统的调色板来直接创建

C、创建一个面板,在面板中添加小方格,并为不同的小方格设置不同的颜色

D、创建一个面板,并将面板的setColorChooser 属性设为“真”

22、【单选题】在Swing 中,以下创建按钮的步骤中,不需要的是( )。

A、创建一个按钮对象

B、为按钮设置动作监听器

C、将按钮放到面板上

D、在框架中注册这个按钮

23、【单选题】以下代码运行后外观为?( )import java.awt.*; public class CompLay extends Frame{ public static void main(String argv[]){ CompLay cl = new CompLay(); } CompLay(){ Panel p = new Panel(); p.setBackground(Color.pink); p.add(new Button(One)); p.add(new Button(Two)); p.add(new Button(Three)); add(South,p); setSize(300,300); setVisible(true); } }

A、按钮按从左向右的次序出现在窗体的底部

B、按钮按从左向右的次序出现在窗体的顶部

C、按钮将不显示

D、只有一个按钮显示占满整个窗体

24、【判断题】JMenuItem类触发的事件类型为ItemEvent。

A、正确

B、错误

25、【判断题】在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。

A、正确

B、错误

26、【判断题】用Swing塔建的图形界面可以分为3个等级,顶级容器,中间级容器和原子组件。

A、正确

B、错误

27、【判断题】文本区域可以自行滚动,不需要使用滚动条面板。

A、正确

B、错误

28、【判断题】框架是一个程序的主窗口,它是顶级容器。

A、正确

B、错误

29、【判断题】表格型布局管理器将容器变成一个表格,其中每一格的大小是完全相同的。

A、正确

B、错误

30、【判断题】对话框必须依靠一个框架,当框架消失以后,所有依靠它的对话框也会消失。

A、正确

B、错误

31、【判断题】布局管理器是一个对象,用于决定容器中组件的尺寸和位置。

A、正确

B、错误

32、【判断题】动作监听器是专门用于监听按钮动作的监听器。

A、正确

B、错误

33、【填空题】下列程序实现在框架内显示一个按钮的简单图形用户界面。(注意:大小写、分号严格符合语法规则!)import java.awt.*; import javax.swing.*; public class Abc { public static void main(String args[]) { new FrameOut(); } } class FrameOut extends JFrame { JButton btn; FrameOut( ) { super(按钮); //调用父类构造方法,设置框架标题为“按钮” btn = new JButton(按下我); //设置无参流式布局 add(btn); //将按钮加入框架 setSize(300,200); setVisible(true); //使框架可见 }}

A、

34、【填空题】以下为一个Applet程序,通过在下拉框中选择图形名称,从而在Applet中绘制出位置和大小随机的相应图形。请将程序补充完整。import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.*;public class SmallPaintApplet extends Applet implements ItemListener { JComboBox cb; JPanel pan; public void init(){ String str[]={Line,Circle,Rectangle}; cb=new JComboBox(str); pan=new JPanel(); this.add(pan); pan.add(cb); //设置下拉框的选项监听器 } public void paint(Graphics g){ int i1,i2,i3,i4; i1=i2=i3=i4=(int)( Math.random() *100); //获取画圆位置和大小的随机值 g.drawOval(i1,i2,i3,i4); //应用随机值画圆 } public void itemStateChanged(ItemEvent e) { if(cb.getSelectedItem().equals(Circle)) repaint(); //重绘 }}Html file:HtmlHeadTitlesmall paint/Title/HeadBodyApplet code= SmallPaintApplet.class height=500 width=500/Applet //嵌入字节码文件/Body/Html

A、

练习

1、【单选题】Java中按所操作的数据单元的不同,分为________和________?

A、输入流和输出流

B、字节流和字符流

C、节点流和处理流

D、缓冲流和转换流

2、【单选题】Java中按流的流向不同,分为________和________?

A、输入流和输出流

B、字节流和字符流

C、节点流和处理流

D、缓冲流和转换流

3、【单选题】Java中按流的角色来分,可分为________和________?

A、输入流和输出流

B、字节流和字符流

C、节点流和处理流

D、缓冲流和转换流

4、【判断题】处理流的构造器的参数不是一个物理节点,而是已经存在的流。而节点流都是直接以物理IO及节点作为构造器参数的。

A、正确

B、错误

练习

1、【多选题】_________文件流类的close方法可用于关闭文件。

A、FileOutputStream

B、FileInputStream

C、RandomAccessFile

D、FileWrite

2、【判断题】字节流继承于InputStream和OutputStream类。

A、正确

B、错误

3、【判断题】字符流继承于Reader和Writer。

A、正确

B、错误

4、【判断题】File类的length()方法用于获得文件的名字长度。

A、正确

B、错误

练习

1、【填空题】import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; public class FileStreamInOut { public static void main(String[] args) { try { File inFile = new File(file1.dat); File outFile = new File(file2.dat); FileInputStream fis = new FileInputStream(inFile); FileOutputStream fos = new FileOutputStream(outFile); int c; while (_________________) { fos.write(c); } fis.close(); fos.close(); } catch (FileNotFoundException e) { System.out.println(FileStreamsTest: + e); } catch (IOException e) { System.out.println(FileStreamTest + e); } }}程序将从file1.dat文件中读取全部数据,然后写到file2.dat文件中,补充完成所缺代码。

A、

练习

1、【单选题】RandomAccessFile 类的▁▁方法可用于从指定流上读取整数。

A、readInt

B、readLine

C、seek

D、close

2、【单选题】RandomAccessFile 类的▁▁方法可用于从指定流上读取字符串。

A、readInt

B、readLine

C、seek

D、close

3、【单选题】RandomAccessFile 类的▁▁方法可用于设置文件定位指针在文件中的位置。

A、readInt

B、readLine

C、seek

D、close

练习

1、【判断题】序列化(serialize)是将对象读入到内存中。

A、正确

B、错误

2、【判断题】任何对象都可以不需要声明序列化,因为 Serializable 接口没有方法。

A、正确

B、错误

第七章作业

第七章测试

1、【单选题】在下列Java代码中,会出现编译错误的是( )。

A、File f=new File(“/”,”1.dat”);

B、DataInputStream din=new DataInputStream(new FileInputStream(“1.dat”) );

C、InputStreamReader in=new InputStreamReader(System.in);

D、OutputStreamWriter out=new OutputStreamWriter(System.in);

2、【单选题】在JAVA中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作。

A、FileInputStream

B、FileReader

C、FileWriter

D、File

3、【单选题】以下JAVA语句中,( )可以构造一个BufferedInputStream对象。

A、new BufferedInputStream(new FileOutputStream(“abc.txt”));

B、new BufferedInputStream(new InputStream(“abc.txt”));

C、new BufferedInputStream(new FileReader (“abc.txt”));

D、new BufferedInputStream(new FileInputStream (“abc.txt”));

4、【单选题】Java 中,使用输入输出流,必须导入( )包。

A、java.lang

B、java.stream

C、java.net

D、java.io

5、【单选题】在Java中,以下代码( )创建了一个InputStreamReader类型的对象。

A、new InputStreamReader(new FileInputStream("1.dat"));

B、new InputStreamReader(new FileReader("1.dat"));

C、new InputStreamReader(new BufferedReader("1.dat"));

D、new InputStreamReader("1.dat");

6、【单选题】给定一段Java代码如下,运行代码后,file.txt中的内容为hello word,可以在A处插入代码( )。File file = new File(“d:/file.txt”);try{ FileWriter fw = new FileWriter(file); BufferedWriter writer = new BufferedWriter(fw); writer.write(“hello”); writer.write(“world”); //A}catch(Exception ex){}finally{ writer.close(); fw.close();}

A、write.flush();

B、write.close();

C、writer.end();

D、writer.append(true);

7、【单选题】在读写二进制数据文件时,如何处理字符串?( )

A、直接读出字符串,Java会自动确定字符串的终点

B、写入字符串时需要指定一个结束符,如回车符“\n”, 或者空字符“\u0000”,在一个字一个字读出字符串时检查是否到达终点

C、直接读出字符串,Java会自动寻找回车符“\n”作为终点

D、直接读出字符串,Java会自动寻找空字符“\u0000”作为终点

8、【单选题】在二进制文件的读写中,以下注意事项中错误的是( )。

A、二进制文件的文件读写不能用Reader和Writer类,而需要用FileInputStream和FileOutputStream类

B、在利用DataInputStream读出文件数据的时候,并不能判断数据类型,它仅仅是根据函数的要求读入相应长度的二进制字节

C、数据的写入和读出必须严格按照相同的顺序,否则会出现错误

D、二进制文件只能读写数值,不能读写字符串

9、【单选题】下面哪段代码是错误的( )。

A、File f = new File(“/”, “java.txt”);

B、DataInputStream d = new DataInputStream(System.in);

C、OutputStreamWriter o = new OutputStreamWriter(System.out);

D、RandomAccessFile r = new RandomAccessFile(“java.txt”);

10、【单选题】FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?( )

A、OutputStream

B、File

C、InputStream

D、BufferedOutputStream

11、【单选题】如果需要从二进制文件中读取数据,则必须在程序中创建哪一个类的对象( )。

A、FileInputStream

B、FileOutputStream

C、DataInputStream

D、FileReader

12、【单选题】下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。File f = new File(填代码处);file =new FileReader(f);in=new BufferedReader(file);

A、"./1.txt"

B、"../my/1.txt"

C、"c:\\my\\1.txt"

D、"c:\ my\1.txt"

13、【单选题】以下哪一项功能File类不具备( )?

A、返回父文件对象的路径名

B、改变当前文件路径

C、为当前文件重命名

D、返回目录中所有文件名字符串

14、【单选题】下列选项属于字符流的有( )。

A、ByteArrayOutputStream

B、DataOutputStream

C、InputStreamReader

D、OutputStream

15、【单选题】下面哪个选项可以构造一个DataOutputStream对象?( )

A、new DataOutputStream(“out.txt”);

B、new DataOutputStream(new File(“out.txt”));

C、new DataOutputStream(new OutputStream(“out.txt”));

D、new DataOutputStream(new FileOutputStream(“out.txt”));

16、【单选题】要读一个较大的文件,下列创建对象的方法中哪个是最合适的?( )

A、new FileInputStream(“myfile.dat”);

B、new InputStreamReader(new FileInputStream(“myfile.dat”));

C、new BufferedReader(new InputStreamReader(new FileInputStream(“myfile.dat”);

D、new RandomAccessFile raf=new RandomAccessFile(new File(“myfile.dat”,”rw”));

17、【单选题】下面哪些选项能够创建一个OutputStream流,并且可以将内容附加到“file.txt”文件中?( )

A、OutputStream out=new FileOutputStream(“file.txt”);

B、OutputStream out=new FileOutputStream(“file.txt”,”append”);

C、FileOutputStream out=new FileOutputStream(“file.txt”,true);

D、FileOutputStream out=new FileOutputStream(“file.txt”);

18、【判断题】流可分为输入流与输出流。

A、正确

B、错误

19、【判断题】流可分为输入流与输出流。

A、正确

B、错误

20、【判断题】流可分为节点流与处理流。

A、正确

B、错误

21、【判断题】字符流在处理时要注意字符编码。

A、正确

B、错误

22、【判断题】Writer类写入的是字符(char),而不是字节。

A、正确

B、错误

23、【判断题】一个流对象经过其他流的多次包装,称为流的链接。

A、正确

B、错误

24、【判断题】处理流的构造方法总是要带一个其他的流对象作参数。

A、正确

B、错误

25、【判断题】InputStreamReader可以将流包装成Reader。

A、正确

B、错误

26、【判断题】BufferedReader可以调用readLine()方法。

A、正确

B、错误

27、【判断题】ByteArrayOutputStream可以相当于内存流。

A、正确

B、错误

28、【判断题】DataOutputStream可以以二进制的方式写入double。

A、正确

B、错误

29、【判断题】ObjectOutputStream可以写入对象。

A、正确

B、错误

30、【判断题】使用java.nio.file.Files的readAllLines()方法可以读入整个文本文件。

A、正确

B、错误

31、【判断题】使用流一般都要考虑IOException。

A、正确

B、错误

32、【判断题】在Java中,将目录也当作文件处理。

A、正确

B、错误

33、【判断题】File对象的list()方法可以列出子目录。

A、正确

B、错误

34、【判断题】RandomAccessFile,可以实现对文件的随机读写操作。

A、正确

B、错误

35、【判断题】File对象的list()方法返回的是File对象的数组。

A、正确

B、错误

36、【判断题】System.out 为PrintWriter类型。

A、正确

B、错误

37、【判断题】字符流中每个字符总是占两个字节。

A、正确

B、错误

练习

1、【单选题】下列说法中,正确的一项是( )。

A、单处理机的计算机上,2个线程实际上不能并发执行

B、单处理机的计算机上,2个线程实际上能够并发执行

C、一个线程可以包含多个进程

D、一个进程只能包含一个线程

2、【单选题】下列说法中,错误的一项是( )。

A、线程就是程序

B、线程是一个程序的单个执行流

C、多线程是指一个程序的多个执行流

D、多线程用于实现并发

3、【填空题】每个Java程序都有一个缺省的主线程,对于Application类型的程序来说,主线程是 方法执行的线程。

A、

练习

1、【单选题】下列说法中,错误的一项是( )。

A、Thread类中没有定义run()方法

B、可以通过继承Thread类来创建线程

C、Runnable接口中定义了run()方法

D、可以通过实现Runnable接口创建线程

2、【单选题】Thread类定义在下列哪个包中( )?

A、java.io

B、java.lang

C、java.util

D、java.awt

3、【填空题】通过实现Runnable接口创建的线程类要想启动线程,必须在程序中创建 类的对象。

A、

练习

1、【单选题】下列说法中,错误的一项是( )。

A、线程一旦创建,则立即自动执行

B、线程创建后需要调用start()方法,将线程置于可运行状态

C、调用线程的start()方法后,线程也不一定立即执行

D、线程处于可运行状态,意味着它可以被调度

2、【判断题】当线程类所定义的run( )方法执行完毕,线程的运行就会终止。

A、正确

B、错误

3、【填空题】新建的线程在它的一个完整的生命周期中通常要经历新建 、 、 运行 、阻塞和死亡等五种状态。

A、

练习

1、【单选题】方法notify()负责恢复下列哪一个线程的执行( )?

A、通过调用stop()方法而停止的线程

B、通过调用sleep()方法而停止的线程

C、通过调用wait()方法而停止的线程

D、通过调用suspend()方法而停止的线程

2、【单选题】下列关于线程优先级的说法中,错误的一项是( )。

A、MIN_PRIORITY代表最低优先级

B、MAX_PRIORITY代表最高优先级

C、NORM_PRIORITY代表普通优先级

D、优先级的常数值越大优先级越低

3、【判断题】线程可以通过调用yield()方法使和当前线程优先级一样的线程运行。

A、正确

B、错误

4、【判断题】线程不能通过调用sleep()方法使比当前线程优先级低的线程运行。

A、正确

B、错误

5、【填空题】线程的优先级是一个在1到10之间的正整数,未设定优先级的线程其优先级取缺省值 。

A、

第九章作业

第九章测验

1、【单选题】以下哪个方法用于定义线程的执行体( )。

A、start()

B、init()

C、run()

D、main()

2、【单选题】可以对对象加互斥锁的关键字是( )。

A、transient

B、synchronized

C、serialize

D、static

3、【单选题】下列哪个方法可用于创建一个可运行的线程类( )。

A、public class X implements Runnable{ public void run(){......} }

B、public class X implements Thread{ public void run(){......} }

C、public class X implements Thread{ public int run(){......} }

D、public class X implements Runnable{ protected void run(){......} }

4、【单选题】设置线程的优先级时需要注意哪些问题?( )

A、一个程序中至少要有一个线程设置成低优先级

B、如果程序员将他的线程设为最高优先级,他就有责任保证不干扰其他应用程序的正常执行

C、一个程序中最多只能有一个线程设置成高优先级

D、所有的线程都要设置成最高优先级,以加快执行速度

5、【单选题】线程间如何实现数据同步?( )

A、通过wait/notify函数和线程间的标志变量来实现

B、通过线程间的管道通讯来实现

C、通过全局变量来实现

D、仅通过wait/notify函数即可

6、【单选题】以下多线程程序的设计步骤,其中错误的是( )。

A、在主程序中创建线程对象

B、调用线程对象的start函数来启动线程

C、在Windows中注册一个线程

D、由Thread类派生出一个线程类

7、【单选题】以下哪一选项正确描述了synchronized关键字的作用?( )

A、允许两个并行运行的进程相互通信

B、确保同一时间只有一个线程访问一个方法或对象

C、确保两个或多个进程同时启动或终止

D、确保两个或多个线程不在同一时刻启动或终止

8、【单选题】以下哪种情况下线程不会停止( )。

A、调用该线程的halt 方法

B、线程体执行完毕

C、为另一个线程指定更高的优先级

D、调用System.exit(0);

9、【单选题】以下关于线程的运行,暂停,结束的描述中,错误的是( )。

A、wait函数会使线程处于等待状态,作用与sleep函数相同

B、Thread类的sleep静态函数可以使线程休眠一段时间

C、一个线程不需要特别的代码来中止它,当run函数中的代码都执行完了以后,线程就自然中止了

D、线程的启动通过线程类(或者其子类)的start函数来实现

10、【单选题】当( )方法终止时,能使线程进入死亡状态。

A、run

B、setPrority

C、yield

D、sleep

11、【单选题】线程通过( )方法可以使具有相同优先级线程获得处理器。

A、run

B、setPrority

C、yield

D、sleep

12、【单选题】( )下列哪种方法不可以用来暂时停止当前线程的运行。

A、stop( )

B、sleep( )

C、wait( )

D、suspend( )

13、【单选题】下列说法中错误的一项是( )。

A、 一个线程是一个Thread类的实例

B、线程从传递给它的Runnable实例的run()方法开始执行

C、线程操作的数据来自Runnable实例

D、新建的线程调用start()方法就能立即进入运行状态

14、【单选题】下列关于Thread类提供的线程控制方法的说法中,错误的一项是( )。

A、在线程A中执行线程B的join()方法,则线程A等待直到B执行完成

B、线程A通过调用interrupt()方法来中断其运行状态

C、若线程A调用方法isAlive()返回值为true,则说明A正在执行中

D、currentThread()方法返回当前正在执行的线程的引用

15、【单选题】下列关于Thread类的线程控制方法的说法中错误的一项是( )。

A、线程可以通过调用sleep()方法使比当前线程优先级低的线程运行

B、线程可以通过调用yield()方法使和当前线程优先级一样的线程运行

C、线程的sleep()方法调用结束后,该线程进入运行状态

D、若没有相同优先级的线程处于可运行状态,线程调用yield()方法,当前线程将继续执行

16、【判断题】一个Java多线程的程序不论在什么计算机上运行,其结果始终是一样的。

A、正确

B、错误

17、【判断题】Java线程有五种不同的状态,这五种状态中的任何两种状态之间都可以相互转换。

A、正确

B、错误

18、【判断题】所谓线程同步就是若干个线程都需要使用同一个synchronized修饰的方法。

A、正确

B、错误

19、【判断题】使用Thread子类创建线程的优点是可以在子类中增加新的成员变量,使线程具有某种属性,也可以在子类中新增加方法,使线程具有某种功能。但是,Java不支持多继承,Thread类的子类不能再扩展其他的类。

A、正确

B、错误

20、【判断题】Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。每个Java线程的优先级都在常数1和10之间,即Thread.MIN_PRIORITY和Thread.MAX_PRIORITY之间。如果没有明确地设置线程的优先级别,每个线程的优先级都为常数8。

A、正确

B、错误

21、【填空题】用户可以通过调用Thread类的方法 来修改系统自动设定的线程优先级,使之符合程序的特定需要。(注意:方法名的大小写和括号!)

A、

22、【填空题】 方法将启动线程对象,使之从新建状态转入就绪状态并进入就绪队列排队。

A、

23、【填空题】Thread类和Runnable接口中共有的方法是 。

A、

24、【填空题】只有Thread类中有而Runnable接口中没有的方法是 。

A、

25、【填空题】下面的程序利用线程输出从a到z的26个字母,每隔一秒钟输出一个字母,程序不完整,请阅读程序代码,根据注释要求在划线处补充完成代码。(注意:答案必须和平台运行结果完全一致,包括大小写和西文标点符号!)public class TestThread implements Runnable{ char charArray[]=new char[26]; public TestThread(){ for(int i = 0; icharArray.length; i++) { charArray[i]=(char)(i+'a'); } } public void run(){ try { for (int i = 0; i charArray.length; i++) { Thread.sleep(1000); //休眠一秒钟 System.out.print(charArray[i]); } } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String args[]){ Thread t = //实例化线程对象,目标对象为参数 t.start(); //启动线程 }}

A、

面向对象程序设计期中考试

1、【单选题】编译一个定义了3个类和10个方法的Java源文件后,会产生字节码文件个数及扩展名是( )?

A、13个字节码文件,扩展名为.class

B、1个字节码文件,扩展名为.class

C、3个字节码文件,扩展名为.java

D、3个字节码文件,扩展名为.class

2、【单选题】下列描述中,不正确的是( )。

A、不支持多线程

B、一个Java源文件不允许有多个公共类

C、Java通过接口支持多重继承

D、Java程序分为Application和Applet两类

3、【单选题】编译Java程序时,用于指定生成注释文档位置的选项是( )。

A、-d

B、-g

C、-verbose

D、-nowarn

4、【单选题】下列标识符(名字)命名原则中,正确的是( )。

A、类名的首字母小写

B、包名全部小写

C、常量全部小写

D、变量名和方法名的首字母大写

5、【单选题】以下的变量定义语句中,合法的是( )。

A、float _*5 = 123.456F;

B、byte $_b1 = 12345;

C、int _long_ = 123456L;

D、double d = Double.MAX_VALUE;

6、【单选题】给出下面的程序代码:public class X4_1_3 { private float a; public static void m ( ){ }}如何使成员变量a被方法m( )直接访问( )。

A、将private float a改为protected float a

B、将private float a改为public float a

C、将private float a改为static float a

D、将private float a改为float a

7、【单选题】下面关于方法的说法,不正确的是( )。

A、Java中的构造方法名必须和类名相同

B、方法体是对方法的实现,包括变量声明和合法语句

C、如果一个类定义了构造方法,也可以用该类的默认构造方法

D、类的私有方法不能被其他类直接访问

8、【单选题】下面说法不正确的是( )。

A、抽象类既可以做父类,也可以做子类

B、abstract和final能同时修饰一个类

C、抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口

D、声明为final类型的方法不能在其子类中重新定义

9、【单选题】下面关于接口的说法中不正确的是( )。

A、接口中所有的方法都是抽象的

B、接口中所有的方法都是public访问权限

C、子接口继承父接口所用的关键字是implements

D、接口是Java中的特殊类,包含常量和抽象方法

10、【单选题】下列描述了Java语言通过面相对象的方法进行异常处理的好处,请选出不在这些好处范围之内的一项( )。

A、把各种不同的异常事件进行分类,体现了良好的继承性

B、把错误处理代码从常规代码中分离出来

C、可以利用异常处理机制代替传统的控制流程

D、这种机制对具有动态运行特性的复杂程序提供了强有力的支持

11、【单选题】下面关于Java Application 程序结构特点描述中,错误的是( )。

A、一个Java Application程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成。

B、Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.java。

C、组成Java Application程序的多个类中,有且仅有一个主类。

D、一个.java文件中定义多个类时,允许其中声明多个public类。

12、【单选题】下面哪种注释方法能够支持javadoc命令?( )

A、//

B、/*...*/

C、/**...*/

D、/**...**/

13、【单选题】下列关于数组的定义形式,哪些是正确的是?( )

A、int[ ]c=new char[10];

B、int[ ][3]=new int[2][ ];

C、int[ ]a[ ]; a=new int[ ][5];

D、char b[ ]; b=new char[80];

14、【单选题】在switch(expression)语句中,expression的数据型不能是( )。

A、char

B、short

C、double

D、byte

15、【单选题】在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是( )。

A、默认

B、protected

C、private

D、public

16、【单选题】System类在哪个包中?( )

A、java.awt

B、java.lang

C、java.util

D、java.io

17、【单选题】关于Float,下列说法错误的是( )。

A、Float在java.lang包中

B、Float a=1.0是正确的赋值方法

C、Float是一个类

D、Float a= new Float(1.0);是正确的赋值方法

18、【单选题】3.下面程序段的执行结果是什么?( ) public class Foo{ public static void main(String[] args){ try{ return;} finally{System.out.println(“Finally”); } } }

A、编译能通过,但运行时会出现一个例外

B、程序正常运行,并输出Finally

C、程序正常运行,但不输出任何结果

D、因为没有catch语句块,所以不能通过编译

19、【单选题】在浏览器中执行Applet 程序四个方法里最先执行的是( )。

A、init()

B、start()

C、destroy()

D、stop()

20、【单选题】下列说法错误的是( )。

A、表达式“1+2>3”的值是false

B、表达式“1+2||3”是非法的表达式

C、表达式“i+j=1”是非法的表达式

D、表达式“1+2>3”的值是true

21、【判断题】printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。

A、正确

B、错误

22、【判断题】在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。

A、正确

B、错误

23、【判断题】String str=abcdefghi; char chr=str.charAt(9);

A、正确

B、错误

24、【判断题】int intArray[]={0,2,4,6,8}; int length=int Array.length();

A、正确

B、错误

25、【判断题】对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。

A、正确

B、错误

26、【判断题】对象可作方法参数,对象数组不能作方法参数。

A、正确

B、错误

27、【判断题】一个类可以实现多个接口,接口可以实现“多重继承”。

A、正确

B、错误

28、【判断题】实现接口的类不能是抽象类。

A、正确

B、错误

29、【判断题】Java 语言不允许同时继承一个类并实现一个接口。

A、正确

B、错误

30、【判断题】IOException异常是非运行时异常,必须在程序中抛弃或捕获。

A、正确

B、错误

31、【判断题】Java语言中,构造方法是不可以继承的。

A、正确

B、错误

32、【判断题】子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。

A、正确

B、错误

33、【判断题】使用构造方法只能给实例成员变量赋初值。

A、正确

B、错误

34、【判断题】Map接口是自Collection接口继承而来。

A、正确

B、错误

35、【判断题】集合Set是通过键-值对的方式来存储对象的。

A、正确

B、错误

36、【判断题】调用this 或super构造方法的语句必须放在第一条语句。

A、正确

B、错误

37、【判断题】实例方法中不能引用类变量。

A、正确

B、错误

38、【判断题】创建对象时系统将调用适当的构造方法给对象初始化。

A、正确

B、错误

39、【判断题】Java语言会自动回收内存中的垃圾。

A、正确

B、错误

40、【判断题】Java语言使用的是Unicode字符集,每个字符在内存中占8位。

A、正确

B、错误

41、【填空题】已知:boolean b1=true,b2=false; 则:表达式!b1 b2 ||b2的值为( )。

A、

42、【填空题】已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为( )。

A、

43、【填空题】分析下列复数类运算程序。注意:填写答案的大小写必需与标准答案严格一致,标点必为西文符号,不要多余空格。public class Complex { private double real, imag; //实部real,虚部imag public Complex(double real, double imag) //构造方法 { this.real = real; //参数给成员变量real赋值 this.imag = imag; //参数给成员变量imag赋值 } public Complex() { //调用本类带参构造方法,均传0值 }}

A、

44、【填空题】分析下列复数类运算程序。注意:填写答案的大小写必需与标准答案严格一致,标点必为西文符号,不要多余空格。public class Complex { private double real, imag; //实部real,虚部imag public Complex(double real, double imag) //构造方法 { this.real = real; //参数给成员变量real赋值 this.imag = imag; //参数给成员变量imag赋值 } public String //对象的字符串描述方法 { return (+this.real+++this.imag+i); }}

A、

45、【填空题】分析下列复数类运算程序。注意:填写答案的大小写必需与标准答案严格一致,标点必为西文符号,不要多余空格。public class Complex { private double real, imag; //实部real,虚部imag public Complex(double real, double imag) //构造方法 { this.real = real; //参数给成员变量real赋值 this.imag = imag; //参数给成员变量imag赋值 } public void add(Complex c) //两个对象相加,改变当前对象 { this.real += c.real; this.imag += c.imag; }}class Complex__ex{ public static void main(String args[]) { Complex c1 = new Complex(1,2); Complex c2 = new Complex(3,5); //实现c1加c2 }}

A、

46、【填空题】分析下列复数类运算程序。注意:填写答案的大小写必需与标准答案严格一致,标点必为西文符号,不要多余空格。public class Complex { private double real, imag; //实部real,虚部imag public Complex(double real, double imag) //构造方法 { this.real = real; //参数给成员变量real赋值 this.imag = imag; //参数给成员变量imag赋值 } public static Complex subtract(Complex c1, Complex c2) //两个对象相减,不改变当前对象 { return new Complex(c1.real-c2.real, c1.imag-c2.imag); }}class Complex__ex{ public static void main(String args[]) { Complex c1 = new Complex(1,2); Complex c2 = new Complex(3,5); System.out.println( ); //实现c1减c2 }}

A、

47、【填空题】分析以下程序代码,写出运行结果(注意严格按照屏幕输出原样书写,包括换行、空格等符号)。 import java.util.*;public class Exercise1 { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print(请输入一个7位以上的正整数:); long a = s.nextLong(); String ss = Long.toString(a); char[] ch = ss.toCharArray(); int j=ch.length; System.out.println(j); if (j7) System.out.println(输入错误!); else { System.out.println(ch[j-7]+ch[j-6]); System.out.println(+ch[j-7]+ch[j-6]); } }} 如果键盘输入:1234567运行结果为什么?

A、

48、【填空题】分析下列银行账户程序,写出运行结果(注意严格按照屏幕输出原样书写,包括换行、空格等符号)。class FixAccount{ static double fixAcc; double interest; double rate=1.5; void calculateInterest(double fixAcc,int year){ this.fixAcc=fixAcc; interest=fixAcc*rate/100*year;}}class SavingAccount extends FixAccount{ double savAcc; double rate=2.0; void calculateInterest(double savAcc,int year){ fixAcc=fixAcc+savAcc; interest=fixAcc*rate/100*year;}}public class Account{ public static void main(String[] args) { FixAccount a=new FixAccount(); FixAccount sa=new SavingAccount(); a.calculateInterest(10000, 1); System.out.println(FixAccount interest:+a.interest); sa.calculateInterest(10000, 1); System.out.println(SavingAccount interest: +sa.interest); }}运行结果为什么?

A、



    相关文章
    评论留言请发表您的神机妙论……

    昵称

    邮箱

    地址

    私密评论
    评论列表(共有0条评论)