《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+\ }
正在阅读:
算法合集之《猜数问题的研究》01-09
从_阿甘正传_看美国人的宗教价值观04-23
某小区物业管理费用测算09-01
1002项目标储罐施工方案06-11
各税种中央与地方分成比例05-07
2017年中西医执业医师实践技能考试真题12-13
幼儿园规章制度汇编03-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考试试题
- 程序设计
- 期末
- 答案
- 语言
- JAVA
- 人文环境的现状与变化原因
- 要好好学字
- 世界各国税制结构比较的概述
- 土石混填质量控制办法
- 中山大学药学院研究生复试注意事项(药理学专业)
- 施工组织总设计基本内容和要求
- 5a景区创建工作汇报
- 载货汽车主减速器及驱动桥设计开题报告 - 图文
- 材料工程基础
- SCADA系统
- 2013年中学教师招考教育知识精选模拟题及答案三 - 图文
- 中国共产党第十八次全国代表大会报告《坚定不移走中国特色社会主义道路夺取中国特色社会主义新胜利》
- 考研央财经济学综合812初试试题汇总
- 怎样做好现场检查和现场检查笔录
- 厍东关乡梅花小学2016年春季学期期中质量测试题
- 林两传与康拜玉手法精髓
- 2018-2019年期货从业期货投资分析场外衍生品检测试题含答案考点及解析
- 风冷热泵及主要设备技术要求
- 扣件式脚手架搭设技术指导书
- 《电机设计》复习题