《JAVA语言程序设计》期末考试试题及答案1-7
更新时间:2023-11-04 11:49:01 阅读量: 综合文库 文档下载
《JAVA语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题
1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A. java B. .class C. html D. .exe
2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5
3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( ) 5 给定java 代码如下,编译运行后,输出结果是()(选择一项)。
public class test { static int i;
public int aMethod() { i++; return i; }
public static void main (String args[]) { Test test=new Test() ; test.aMethod () ;
System.out.println (test.aMethod()) ; } }
a) 0 b) 1 c) 2 d) 3
二、填空题
1、开发与运行Java程序需要经过的三个主要步骤为 编辑源程序 、 编译生成字节码 和 解释运行字节码 。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 2 字节内存空间。
3、设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。
4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。 5、 抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 最终(final) 方法是不能被当前类的子类重新定义的方法。 6、创建一个名为 MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为: 应该在程序第一句 。
7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。 int s = 0 ;
for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 )
s += MyIntArray[i] ;
System.out.println(s);
8、在Java程序中,通过类的定义只能实现 单 重继承,但通过接口的定义可以实现 多 重继承关系。
三、写出下面程序的运行结果 1、 import java.io.*;
public class abc {
public static void main(String args [ ]) {
AB s = new AB(\VA.\
System.out.println(s.toString( )); } } class AB { String s1; String s2;
public AB(String str1, String str2) {
s1 = str1; s2 = str2; }
public String toString( )
{
return s1+s2; } }
运行结果:Hello! I love JAVA.
2、 import java.io.* ; public class abc {
public static void main(String args[ ]) { int i, s = 0 ;
int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\ } }
运行结果:s = 180 3、class Parent { String one, two;
public Parent(String a, String b){ one = a; two = b; }
public void print(){ System.out.println(one); } }
public class Child extends Parent { public Child(String a, String b){ super(a,b); }
public void print(){
System.out.println(one + \
}
public static void main(String args[]){ Parent p = new Parent(\ Parent t = new Child(\ p.print(); t.print(); } }
运行结果 south east to west
《JAVA语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√ ) 2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 (× ) 3.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。 (× ) 4.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 (√ ) 5.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 (√ ) 6.静态初始化器是在其所属的类加载内存时由系统自动调用执行。 (√ ) 7.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 (× ) 二.单项选择题
1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A、 String args
B、String args[]
C、Char arg
D、StringBuffer args[]
2.以下关于继承的叙述正确的是( )。
A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? ( )
A、Graphics B、Graphics2D C、String D、Color
4.以下哪个不是Java的原始数据类型( ) A、int
B、Boolean
C、float
D、char
5.若需要定义一个类域或类方法,应使用哪种修饰符?( )
A、static
B、package
C、private D、public
6.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( )。
A、init()
B、start()
C、destroy() D、stop()
7.有以下程序片段,下列哪个选项不能插入到行1。( )
1.
2 .public class Interesting{ 3. //do sth 4.}
A、import java.awt.*; B、package mypackage; C、class OtherClass{ } 8. 设有下面两个赋值语句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( )。 A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。
9.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型? A、OutputStream C、InputStream
B、File
D、public class MyClass{ }
D、BufferedOutputStream
10.在编写Java Applet程序时,需在程序的开头写上( )语句。
A、import java.awt.* ; C、import java.io.* ;
B、import java.applet.Applet ; D、import java.awt.Graphics ;
11.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A、private
B、protected
C、private protected D、public
}
private static String name;
public void setWeight(float weight) { this.weight = weight; }
private void out() {
System.out.println(name + \体重:\ + weight + \斤\); }
public static void main(String[] args) { }
Tom.name = \汤姆猫\; Tom cat = new Tom(); cat.setWeight(20); cat.out();
4、以下程序的输出结果_姓名:Tom 年龄:15 家庭住址:金水区 电话:66123456 学校:九中_。 public class Father {
String name, address, tel; int age;
public Father(String name, int age) { this.name = name; this.age = age; }
void out() {
System.out.print(\姓名:\ + name); System.out.print(\年龄:\ + age); }
void outOther() {
System.out.print(\家庭住址:\ + address); System.out.print(\电话:\ + tel); } }
class Son extends Father { String school;
public Son(String name, int age) { super(name, age);
}
}
void out() { super.out();
super.outOther();
System.out.println(\学校:\ + school); }
public static void main(String args[]) { Son son = new Son(\, 15); }
son.address = \金水区\; son.school = \九中\; son.tel = \; son.out();
5、下列程序的运行结果是__12345____。 public class MyClass {
int a[] = { 1, 2, 3, 4, 5 };
void out() {
for (int j = 0; j < a.length; j++) System.out.print(a[j] + \); }
public static void main(String[] args) { MyClass my = new MyClass(); my.out(); } }
四、程序设计题
1、按以下要求编写程序
(1) 创建一个Rectangle类,添加width和height两个成员变量 (2) 在Rectangle中添加两种方法分别计算矩形的周长和面积 (3) 编程利用Rectangle输出一个矩形的周长和面积 解答:
public class Rectangle { float width, height;
public Rectangle(float width, float height) { this.width = width; this.height = height;
}
}
public float getLength(){
return (this.width + this.height) * 2; }
public float getArea(){
return this.width * this.height; }
public static void main(String [] args) { Rectangle rect = new Rectangle(10, 20);
System.out.println(\周长是:\ + rect.getLength()); System.out.println(\面积是:\ + rect.getArea()); }
2、按以下要求编写程序
(1) 编写Animal接口,接口中声明run() 方法 (2) 定义Bird类和Fish类实现Animal接口
(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法 解答:
public interface Animal { void run(); }
class Bird implements Animal { public void run() {
System.out.println(\鸟儿在飞...\); } }
class Fish implements Animal { public void run() { }
public class TestAnimal {
public static void main(String[] args) { Bird bird = new Bird();
System.out.println(\鱼儿在游...\); }
}
}
bird.run();
Fish fish = new Fish(); fish.run();
《JAVA语言程序设计》期末考试试题及答案4(应考必备题库)
一、 单选题
1、下列程序段执行后的结果是( )。
String s = new String(\for (int i=0; i
A) aceg B) ACEG C) abcdefg D) abcd 2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).
A) 2 7 8 12 35 C) 35 12 8 7 2
B) 12 35 8 7 2 D) 8 7 12 35 2
3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。
File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file);
A) \ B) \ C) \ D) \ 4、应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s1=new String(\
String s2=new String(\ boolean b1=s1.equals(s2);
boolean b2=(s1==s2); System.out.print(b1+\ \
A)true false B) false true C) true true D)false false 5、应用程序的main方法中有以下语句,则输出的结果是 ( )。
Hashtable hashtable=new Hashtable();
hashtable.put(\ hashtable.put(\ hashtable.put(\
System.out.println(hashtable.get(\
A) a B) abcde C) 12345 D) 67890 6、下面语句的功能是( )。
RandomAccessFile raf2 = new RandomAccessFile(\
A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。
7、应用程序的main方法中有以下语句,则输出的结果是 ( String s=\
int n=s.indexOf(\ int k=s.indexOf(\ int m=s.indexOf(\ String s2=s.substring(m+1);
System.out.println(s2);
A) 123456 B) 67890 C) aaa D) bbb 8、下面程序段执行后b的值是( )。
Integer integ =new Integer(9);
boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false
9、应用程序Test.java的源程序如下,在命令行键入:
java Test aaa bb c
回车后输出的结果是 ( )。
public class Test {
public static void main(String args[]) { int k1=args.length;
int k2=args[1].length(); System.out.print(k1+\ \ } }
A) 3 2 B)1 2 C) 1 3 D) 3 3 10、应用程序的main方法中有以下语句,则输出的结果是 (
int b[][]={{1}, {2,2}, {2,2,2}};
int sum=0;
)。 )。
for(int i=0;i
System.out.println(\
A) 32 B)11 C) 2 D) 3 11、应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。
int[] x={125,21,5,168,98}; int max=x[0];
for(int i=1;i
System.out.println(max);
A) 125 B) 5 C) 98 D) 168 12、程序Test.java编译运行后输出的结果是( )。
public class Test { String s1=\
public static void main(String args[]) { int z=2;
Test t=new Test(); System.out.println(t.s1+z); } }
A) java2 B)2 C)没有输出结果 D)java 13、应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s1=\
if(x[i]> max)
max =x[i];
double x=Double.parseDouble(s1); int y=Integer.parseInt(s2);
System.out.println(x+y);
A) 12.5 B) 120.5 C) 12 D) “12.5” 14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt
的内容是( )。
import java.io.*; public class Test { }
A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE 二、多选题
1、下面main()方法的定义哪些是正确的( )?
A) public static void main(String args[]) {} B) public static void main(String[]) {}
public static void main(String args[]) { }
try { }
catch(IOException e) { }
System.out.println(e.toString()); String s=\byte b[]=s.getBytes();
FileOutputStream file=new FileOutputStream(\file.write(b); file.close();
C) public static void main(String[] args) {} D)public static void main(String [] x) {} 2、线程对象的生命周期中,通常经历下面哪些状态( )。 A)新建 B)运行 C)就绪 D)死亡 3、下面说法正确的是( )。
A) final 可修饰类、属性(变量)、方法。 B) abstract可修饰类、方法。
C) 抽象方法只有方法头,没有方法体。 D) 关键字final和abstract不能同时使用。
4、下面关于java中输入/输出流的说法正确的是( )。
A) FileInputStream与FileOutputStream类用读、写字节流。 B) Reader与Writer类用来读、写字符流。
C) RandomAccessFile既可以用来读文件,也可以用来写文件。 D) File类用来处理与文件相关的操作。
5、下面说法正确的是( )。
A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。 B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。 C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。
D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 6、下面关于Java中异常处理try块的说法正确的是( )?
A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B) catch 块后必须有finally块。
C)可能抛出异常的方法调用应放在try块中。 D)对抛出的异常的处理必须放在try块中 7、下面关于进程、线程的说法正确的是( )。
A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。
B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java多线程的运行与平台相关。
D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。 8、关于BufferedReader类的readLine()方法,以下说法正确的是()。 A)方法readLine()每次读取一行数据。 B)方法readLine()每次读取一个字节。
C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。
D)如果读到流的末尾,该方法返回的结果为null。 三、程序阅读题
1、阅读下面的程序,回答问题(?问3分,?问3分,共6分) import java.io.*; public class Test {
public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader(
new InputStreamReader(System.in)); while(true) {
String str=buf.readLine(); if(str.equals(\
break;
int x=Integer.parseInt(str); System.out.println(x*x); } } }
编译运行上面的程序:
?从键盘输入5,回车后输出的结果如何? ?从键盘输入quit,回车后程序执行情况如何? 答案: ?25
?终止应用程序的运行。
《JAVA程序设计》期末考试试题 (五)
二、 单选题
1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( )。
A) IOException B) RuntimeException
C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。
File file1=new File(\file1.mkdirs();
A)在当前目录下生成子目录:\\xxx\\yyy\\zzz B)生成目录: e:\\xxx\\yyy\\zzz
C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s = \int n = s.indexOf(\int k = s.indexOf(\String s2 = s.substring(n+1, k); System.out.println(s2);
A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。
public class Test { String x=\ int y;
public static void main(String args[]) { int z=2; System.out.println(x+y+z); } }
A)3 B)102 C) 12 D)程序有编译错误
5、应用程序的main方法中有以下语句,则输出的结果是 ( )。
int b[][]={{1, 1, 1}, {2,2}, {3}};
int sum=0;
for(int i=0; i
System.out.println(\A) 10 B)6 C) 9 D) 13
6、应用程序的main方法中有以下语句,则执行后输出的结果是 ( int[] x = {125,21,5,168,98}; int min = x[0];
for (int i=1; i
min = x[i];
}
System.out.println(min);
A) 125 B) 5 C) 98 D) 168
7、应用程序的main方法中有以下语句,则输出的结果是 ( )。
Hashtable hashtable=new Hashtable(); hashtable.put(\hashtable.put(\hashtable.put(\
System.out.println(hashtable.get(\
+ hashtable.get(\
)。
+ hashtable.get(\
A) aaa B) bbb C) ccc D) cccbbbaaa 8、以下关于java异常说法不正确的是( )。
A) Throwable 类是 Java 语言中Error类和Exception类的父类。
B)当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过try…catch…finally处理。
C)如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类。
D)以上说法都不对。
9、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。
import java.io.*; public class Test { }
A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE
10、下面说法不正确的是( )?
A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。 B)List接口是可以包含重复元素的有序集合。 C)Set接口是不包含重复元素的集合。
D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。
public static void main(String args[]) { }
try { }
catch(IOException e) { }
System.out.println(e.toString()); String s=\byte b[]=s.getBytes();
FileOutputStream file=new FileOutputStream(\file.write(b); file.close();
二、多选题
1、下面哪些关键字能用来控制对类成员的访问( )?
A) public B) protected C) private D) default 2、下面关于Java中异常处理try块的说法正确的是( )?
A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B) catch 块后必须有finally块。
C)可能抛出异常的方法调用应放在try块中。 D)对抛出的异常的处理必须放在try块中
3、线程对象的生命周期中,通常经历下面哪些状态( )。
A)新建 B)运行 C)就绪 D)死亡 4、定义如下的二维数组b,下面的说法正确的是( )。
int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};
A)b.length的值是3。 B)b[1].length的值是3。
C)b[1][1]的值是5。 D) 二维数组b的第一行有3个元素
5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是( )。 A) B x1= new B( ); B) B x1= new C( ); C) C x1=new C( ); D) C x1= new B( ); 6、下面关于进程、线程的说法正确的是( )。
A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。
B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java多线程的运行与平台相关。
D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。
7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。 A)内部类可以直接访问外部类的成员 B)外部类可以直接访问内部类的成员 C)外部类不能访问内部类的成员
D)外部类可通过创建内部类的实例来访问内部类的成员 三、程序阅读题
1、阅读下面的程序代码,并回答问题(?问3分,?问3分,共6分)。
String s1 = new String(\String s2 = new String(\
boolean b1= s1.equals(s2);
boolean b2 = s1== s2; System.out.print(b1+\ \
?程序段执行后,在命令行的输出结果如何? ?解释输出(1)的结果的原因?
答案:
? true false
?equals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。
2、阅读下面的程序,并回答问题(?问3分,?问3分,共6分)。 import java.io.*; public class Test {
public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader(
new InputStreamReader(System.in)); while(true) {
String str = buf.readLine(); if(str.equals(\ break;
int x=Integer.parseInt(str); System.out.println(x*x); } } }
编译运行上面的程序:
?从键盘输入10,回车后输出的结果如何?
?从键盘输入exit,回车后程序能正确执行吗?为什么?
答案: ?100
?不能;因为方法Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异常。 3、写出下面的程序编译、运行后的结果(6分)。 public class Test{
public static void main(String args[]) { new Student(\ new Student(\
new Student(\
System.out.println(\ Student.print(); } }
class Student {
protected String name; protected char sex; protected int chinese; protected int english; protected Student next; static Student list;
Student (String name, char sex, int chinese, int english) { this.name=name; this.sex=sex; this.chinese=chinese; this.english=english; this.next=list; list=this; }
static void print() { Student friend=list; if (friend==null)
System.out.println(\ else { do{
System.out.println(friend.toString()); friend=friend.next; }while(friend!=null); } }
public String toString() {
return new String(name+\ }
}
答案:
name sex chinese english Mary f 76 86 Jack m 66 89 Tom m 90 88
《JAVA程序设计》期末考试试题 (六)
一、填空题
1.定义类的保留字是( class ),定义接口的保留字是( interface )。 2.Socket通常也称为 ( 套接字 ),用于描述( IP地址 ) 和 ( 端口 )。 3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。 4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。 5.Java语言只允许单继承,指每个类只能有一个 ( 父类 )。
6.Java源程序的扩展名是( .java ),经过编译后的程序的扩展名是( .class )。
7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。访问临界资源的代码( 临界代码 )。
8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。
二、选择题
1.关于选择结构下列哪个说法正确? ( ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句
2.while循环和 do…while循环的区别是: ( ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 3.关于 for循环和 while循环的说法哪个正确? ( ) A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空 4.下列修饰符中与访问控制无关的是 ( ) A.private C.protected
B.public
D.final
5. void的含义: ( ) A.方法没有返回值 C.没有意义 6. return语句: ( ) A.只能让方法返回数值
B.方法都必须含有 D.不能用来返回对象
B. 方法体为空
D. 定义方法时必须使用
C.方法中可以有多句return
7.关于对象成员占用内存的说法哪个正确? ( ) A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对 8.下列说法哪个正确?
A.不需要定义类,就能创建对象 B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量
9.下列说法哪个正确? ( ) A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用
10.关于方法main()的说法哪个正确?( ) A.方法main()只能放在公共类中 B main()的头定义可以根据情况任意更改 C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中 11.构造函数何时被调用? ( ) A、创建对象时 C、使用对象的方法时 12. 抽象方法: ( )
B、类定义时
D、使用对象的属性时
A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
13.关于继承的说法正确的是: ( ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性 14.关于构造函数的说法哪个正确? ( ) A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数 C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数 17.覆盖与重载的关系是 ( )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事
18.关于接口哪个正确? ( ) A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事
19.异常包含下列哪些内容? ( ) A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是
20. 对于已经被定义过可能抛出异常的语句,在编程时: ( A、必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理
) D.只能使用try/catch语句处理
21. 字符流与字节流的区别在于( ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同
22.下列流中哪个不属于字节流 ( ) A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader 三、程序填空题 1.public class Sum{
public static void main(String [] args){ }
static void calculate (int j){ }
输出结果为:
j is : (1) j in calculate() is : (2) At last j is : (3) 答案:(1) 10; (2) 20; (3) 10。 2. 按要求填空
abstract class SuperAbstract{
void a(){…} abstract void b(); }
for (int i = 0;i<10;i++)
j++; int j=10;
System.out.println(\calculate(j);
System.out.println(\
System.out.println(\
}
abstract int c(int i);
interface AsSuper { }
abstract class SubAbstract extends SuperAbstract implements AsSuper {
public void b(){…} }
public class InheritAbstract extends SubAbstract{ }
在以上这段程序中:
抽象类有:SuperAbstract和 (1) (写出类名) 非抽象类有: (2) (写出类名) 接口有: (3) (写出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5) 答案:
(1) SuperAbstract;(2) InheritAbstract;(3) AsSuper;(4) 抽象;(5) 覆盖和实现。 3. 按注释完成程序 public class Leaf {
private int i = 0; //此属性值用于检验 public void x(){…} public int c(int i ) {…} public String f(){…}
public static void main(String args[]){ }
InheritAbstract instance=new InheritAbstract(); instance.x(); instance.a(); instance.b(); instance.c(100);
System.out.println(instance.f()); abstract String f(); void x();
}
Leaf increment(){ //定义方法increment(),返回值是Leaf类的对象 }
void print() { }
public static void main(String args[]){
Leaf x = (2); //创建Leaf类的对象x x.increment().increment().increment().print(); System.out.println(\
i++;
return (1) ;//将当前对象的地址作为返回值返回
}//多次调用方法increment(),返回的都是x的地址,i 值表示调用次数
输出结果为 i = (3) 答案:
(1) this; (2)new Leaf();(3) 3 4. 按注释提示完成文件复制的程序 //FileStream源代码如下: import java.io.*; class FileStream {
public static void main(String args []) {
try {
//指定源文件
File inFile = new File(\
File outFile = new File(\//指定目标文件 FileInputStream fis =(1);
FileOutputStream fos = new FileOutputStream(outFile);
int c;
//逐字节从源文件中输入,再输出到fos流
while ((c = fis.read ())!=-1)
(2);
fis.close();
fos.close(); }
catch (Exception e) {
System.out.println(\
}
} } 答案:
(1) new FileInputStream(inFile); (2) fos.write(c);
5. 阅读程序,给出结果:
// AbstractClassDemo.java源代码如下:
abstract class Shape { //定义抽象类Shape和抽象方法display }
class Circle extends Shape { }
class Rectangle extends Shape {
void display() { //实现抽象类的方法 System.out.println(\
}
class Triangle extends Shape { }
public class AbstractClassDemo{ }
输出结果是 ? (1) Circle; (2) Rectangle; (3) Triangle。
public static void main(String args[]){ }
(new Circle()).display(); //定义无名对象来调用对应的display方法 (new Rectangle()).display(); (new Triangle()).display(); void display() { //实现抽象类的方法 }
System.out.println(\}
void display() { }
//实现抽象类的方法
abstract void display();
System.out.println(\
《JAVA程序设计》期末考试试题 (七)
一、选择题
1. 请说出下列代码的执行结果 : String s = \ String s1 = new String(s);
if (s = = s1) System.out.println(\ if (s.equals(s1)) System.out.println(\ A. the same equals C. the same
B. equals
D. 什么结果都不输出
2. 下列有关 Java 中接口的说法哪个是正确的? A. 接口中含有具体方法的实现代码
B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字 D. 接口不允许继承
3. 下列代码的执行结果是什么? String s1 = \ s1.concat(\ System.out.println(s1); A. The string \ B. The string \ C. The string \ D. The string \
4. 如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件 ? A. smallButton.add(myListener); B. smallButton.addListener(myListener); C. smallButton.addActionListener(myListener); D. smallButton.addItem(myListener); 二.读程序题
1. 读下列代码,说出这段程序的功能。 import java.io.*; public class Test{
public static void main( String [] argv) {
try {
BufferedReader is =
new BufferedReader( new InputStreamReader(System.in));
String inputLine;
While ((inputLine = is.readLine ())!= null) {
System.out.println(inputLine);
} is.close();
}catch (IOException e) {
System.out.println(\
} } }
答案:读取键盘输入,显示到屏幕上,直到键盘输入为空为止。 2、 读下列程序,写出正确的运行结果。 class test {
public static void main (String [] args ){
int x=9, y; if (x>=0)
if (x>0) y=1; else y=0;
else y=-1;
System.out.println(y);
}
} 答案:1
3、 读程序,写出正确的运行结果。 public class Father{
int a=100; public void miner(){
a--;
}
public static void main(String[] args){
Father x = new Father(); Son y = new Son(); System.out.println(y.a); System.out.println( y.getA()); y.miner();
System.out.println(y.a); System.out.println(y.getA());
}
}
class Son extends Father{
int a = 0; public void plus(){ a++; }
public int getA() { return super.a; } } 答案:
0 100 0 99 三 . 简答题
1. Java语言的特点。 答:
简单性:Java风格类似于C++,但它摒弃了C++中容易引起程序错误的地方 面向对象:Java语言的设计是完全面向对象 分布式: 解释执行:
健壮性:Java提供自动垃圾回收机制,异常处理机制,进行严格的类型检查 平台无关性: 安全性 多线程 动态性
2. 在 Java中,怎样创建一个线程? 答:
1、定义类来实现Runnable接口
class TestThread implements Runnable { public void run() { ?} } 2、继承Thread类来实现
class TestThread extends Thread { TestThread(String name) { super(name); start(); }
public void run() {?} }
3.编写一个程序,使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。
复数类Complex必须满足如下要求: (1) 复数类Complex 的属性有:
RealPart : int型,代表复数的实数部分 ImaginPart : int型,代表复数的虚数部分 (2) 复数类Complex 的方法有:
Complex( ): 构造函数,将复数的实部和虚部都置0
Complex( int r , int i ): 构造函数,形参 r 为实部的初值,i为虚部的初值。 Complex complexAdd(Complex a): 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。 import java.applet.* ; import java.awt.* ;
public class abc extends Applet { Complex a,b,c ; public void init( ) {
a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); }
public void paint(Graphics g) {
c=a.complexAdd(b);
g.drawString(\第一个复数:\ g.drawString(\第二个复数:\ g.drawString(\两复数之和:\ } }
class Complex{
int RealPart ; // 复数的实部
int ImaginPart ; // 复数的虚部
Complex() { RealPart = 0 ; ImaginPart = 0 ; } Complex(int r , int i)
{ RealPart = r ; ImaginPart = i ; } Complex complexAdd(Complex a){
Complex temp = new Complex( ); // 临时复数对象 temp.RealPart=RealPart+a.RealPart;
temp.ImaginPart=ImaginPart+a.ImaginPart; return temp;}
public String toString( )
{ return ( RealPart+\ }
![](https://wxpay.100changshi.com/Public/Pay/v1/wxpay/native/img/download/icon_word.2.png)
![](https://wxpay.100changshi.com/Public/Pay/v1/wxpay/native/img/download/icon_star.png)
![](https://wxpay.100changshi.com/Public/Pay/v1/wxpay/native/img/download/icon_star.png)
![](https://wxpay.100changshi.com/Public/Pay/v1/wxpay/native/img/download/icon_star.png)
![](https://wxpay.100changshi.com/Public/Pay/v1/wxpay/native/img/download/icon_star.png)
![](https://wxpay.100changshi.com/Public/Pay/v1/wxpay/native/img/download/icon_star.png)
正在阅读:
2010年年春季家长会园长发言稿总结01-08
00318 网络学习 阶段测试06-01
工作计划之新闻专业个人实习计划05-29
2014届河北省辛集市第三中学高三语文一轮复习教案4:正确使用词05-23
今日基督徒普遍的可怜的光景01-26
长春市办理五险一金流程 - 图文03-26
党支部工作总结08-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考试试题
- 程序设计
- 期末
- 答案
- 语言
- JAVA
- 人文环境的现状与变化原因
- 要好好学字
- 世界各国税制结构比较的概述
- 土石混填质量控制办法
- 中山大学药学院研究生复试注意事项(药理学专业)
- 施工组织总设计基本内容和要求
- 5a景区创建工作汇报
- 载货汽车主减速器及驱动桥设计开题报告 - 图文
- 材料工程基础
- SCADA系统
- 2013年中学教师招考教育知识精选模拟题及答案三 - 图文
- 中国共产党第十八次全国代表大会报告《坚定不移走中国特色社会主义道路夺取中国特色社会主义新胜利》
- 考研央财经济学综合812初试试题汇总
- 怎样做好现场检查和现场检查笔录
- 厍东关乡梅花小学2016年春季学期期中质量测试题
- 林两传与康拜玉手法精髓
- 2018-2019年期货从业期货投资分析场外衍生品检测试题含答案考点及解析
- 风冷热泵及主要设备技术要求
- 扣件式脚手架搭设技术指导书
- 《电机设计》复习题