资源描述
- .
一、单项选择择题
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( )
二、填空题
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("Hello!","I love JAVA.");
System.out.println(s.toString( ));
}
}
class AB {
String s1;
String s2;
publicAB(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="+s);
}
}
运行结果:s = 180
3、import java.io.* ;
public class abc
{
public static void main(String args[ ])
{
System.out.println("a="+a+"\nb="+b);
}
}
class SubClass extends SuperClass
{ int c;
SubClass(int aa,int bb,int cc)
{
super(aa,bb);
c=cc;
}
}
class SubSubClass extends SubClass
{ int a;
SubSubClass(int aa,int bb,int cc)
{ super(aa,bb,cc);
A=aa+bb+cc;
}
void show()
{
System.out.println("a="+a+"\nb="+b+"\nc="+c);
}
}
运行结果:a=60b=20c=30
?JAVA程序设计?期末考试试题〔二〕
一.判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。〔√〕
2.Java程序里,创立新的类对象用关键字new,回收无用的类对象使用关键字free。 〔× 〕
3.Java有垃圾回收机制,存回收程序可在指定的时间释放存对象。 〔×〕
4.构造函数用于创立类的实例对象,构造函数名应与类名一样,返回类型为void。 〔× 〕
5.在异常处理中,假设try中的代码可能产生多种异常那么可以对应多个catch语句,假设catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 〔√〕
6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 〔√〕
7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。 〔×〕
8.静态初始化器是在其所属的类加载存时由系统自动调用执行。 〔√ 〕
9.在Java中对象可以赋值,只要使用赋值号〔等号〕即可,相当于生成了一个各属性与赋值对象一样的新对象。 〔× 〕
二.单项选择题
1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?〔 〕
A、 String args B、String ar[] 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、Panel B、Frame C、Applet D、Dialog
6.假设需要定义一个类域或类方法,应使用哪种修饰符?〔 〕
A、staticB、package C、private D、public
7.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行〔 〕。
A、init() B、start() C、destroy() D、stop()
8.给出下面代码,关于该程序以下哪个说法是正确的?〔 〕
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
System.out.println(arr[0]); }
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
9.以下哪些语句关于Java存回收的说明是正确的? 〔 〕
A、程序员必须创立一个线程来释放存
B、存回收程序负责释放无用存
C、存回收程序允许程序员直接释放存
D、存回收程序可以在指定的时间释放存对象
10.以下哪个关键字可以用来对对象加互斥锁?〔 〕
A、transientB、synchronizedC、 serializeD、static
11.以下代码段执行后的输出结果为〔 〕
int x =-3;
int y =-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3
12.有以下程序片段,以下哪个选项不能插入到行1。〔 〕
1.
2 .public class Interesting{
3. //do sth
4.}
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
13. 设有下面两个赋值语句:
a = Integer.parseInt(“12〞);
b = Integer.valueOf(“12〞).intValue();
下述说确的是〔 〕。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?
A、OutputStream B、File
C、InputStream D、BufferedOutputStream
15.在编写Java Applet程序时,需在程序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
16.类Parent、Child定义如下:
1. public class Parent
2.{ public float aFun(float a, float b) throws
3. IOException { }
4.}
5.public class Child extends Parent{
6.
7.}
将以下哪种方法插入行6是不合法的。〔 〕
A、float aFun(float a, float b){ }
B、public int aFun(int a, int b)throws Exception{ }
C、public float aFun(float p, float q){ }
D、public int aFun(int a, int b)throws IOException{ }
17.在使用interface声明一个接口时,只可以使用〔 〕修饰符修饰该接口。
A、private B、protected C、private protectedD、public
18、有以下方法的定义,请选择该方法的返回类型〔 〕。
ReturnType method(byte x, double y){
return (short)x/y*2;
}
A、byte B、short C、int D、double
19、关于以下代码段的说确的是〔 〕
1.String s="abcde";
2.StringBuffer s1=new StringBuffer("abcde");
3.if(s.equals(s1))
4. s1=null;
5.if(s1.equals(s))
6. s=null;
A、第1行编译错误,String的构造器必须明确调用
B、第3行编译错误,因为s与s1有不同的类型
C、编译成功,但执行时在第5行有异常抛出
D、编译成功,过程中也没有异常抛出
20、编译并运行以下程序,以下描述哪个选项是正确的〔 〕
1. class X{
2. protectied String toString( )i{
3. return super.toString();}
4. }
A、编译通过运行无异常 B、编译通过但运行时出错
C、行2出错,不能成功编译 D、不能成功编译,行3出错
三.程序阅读题
1.以下程序的输出结果为相等。
class StringTest1
{
public static void main(String[] args)
{
String s1="hello";
String s2=new String("hello");
if(s1.equals(s2)){
System.out.println("相等");
}else{
System.out.println("不相等");
}
}
}
2.以下程序段的输出结果为5 6 7 8 9。
public class TestArray
{
public static void main(String args[ ]){
int i , j ;
int a[ ] = { 5,9,6,8,7};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]<a[k] ) k = j;
int temp =a[i];
a[i] = a[k];
a[k] = temp;
}
for ( i =0 ; i<a.length; i++ )
System.out.print(a[i]+" ");
System.out.println( );
}
}
3.写出以下程序的功能。
import java.io.*;
public class TestFile
{
public static void main(String args[]) throws Exception
{
BufferedReader br=new BufferedReader(
new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt"));
String s;
while (true)
{
System.out.print("请输入一个字符串: ");
System.out.flush();
s=br.readLine();
if (s.length()==0) break;
bw.write(s);
bw.newLine();
}
bw.close();
}
}
功能:从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。
4.阅读以下程序,写出输出结果。
class Animal {
Animal() {
System.out.print ("Animal "); }
}
public
class Dogextends Animal {
Dog() {
System.out.print ("Dog "); }
public static void main(String[] args) {
Dog snoppy= new Dog(); }
}
输出结果:Animal Dog
?JAVA程序设计?期末考试试题〔三〕
一、单项选择题
1、如下哪个是Java中的标识符〔〕
A、public B、super C、3number D、width
2、如下哪个是Java中的标识符( )
A、fieldname B、super C、3number D、#number
3、如下定义:String s = "story";下面哪个语句不是合法的()
A、s += "books"; B、s=s+100;
C、int len = s.length; D、String t =s+“abc〞;
4、如下哪个是Java中有效的关键字()
A、name B、hello C、false D、good
5、下面的代码段执行之后count的值是什么( )
int count = 1;
for (int i = 1; i <= 5; i++) {
count += i;
}
System.out.println(count);
A、5 B、1 C、15 D、16
6、定义一个类,必须使用的关键字是( )
A、public B、class C、interface D、static
7、定义一个接口必须使用的关键字是〔 〕
A、public B、class C、interface D、static
8、如果容器组件p的布局是BorderLayout,那么在p的下边中添加一个按钮b,应该使用的语句是〔 〕
A、p.add(b); B、p.add(b,"North");
C、p.add(b,"South"); D、b.add(p,"North");
9、声明并创立一个按钮对象b,应该使用的语句是〔 〕
A、Button b=new Button(); B、button b=new button();
C、Button b=new b(); D、b.setLabel(“确定〞);
10、Frame对象默认的布局管理器是〔 〕
A、FlowLayout B、BorderLayout
C、CardLayout D、null
11、以下哪一个import命令可以使我们在程序中创立输入/输出流对象〔〕
A、import java.sql.*; B、import java.util.*;
C、import java.io.*; D、import .*;
12、下面哪一个import命令可以为我们提供编写网络应用程序的类〔〕
A、import java.sql.*; B、import java.util.*;
C、import java.io.*; D、import .*;
13、如果需要从文件中读取数据,那么可以在程序中创立哪一个类的对象〔〕
A、FileInputStream B、FileOutputStream
C、DataOutputStream D、FileWriter
二、填空题
1、如果将类MyClass声明为public,它的文件名称必须是〔MyClass.java〕才能正常编译。
2、Java程序中的单行注释符是〔//〕,多行注释符是〔/* */ 〕。
3、Java中布尔类型的常量有两种,它们是〔true〕和〔false〕。
4、Java中用于定义小数的关键字有两个:〔float〕 和 〔double〕,后者精度高于前者。
5、Java中用于两个数相等比拟的运算符是:〔==〕,用于不相等比拟的运算符是〔<>〕。
6、在Java中定义一个字符串类型的变量str的语句是:〔String str;〕 ,定义一个具有10个元素的整型数组a的语句是:〔int [] arr = new int[10];〕 。
7、导入mypackage包中的所类的命令是〔 import mypackage.*; 〕。
8、当声明一个数组int arr[]=new int[5];时,这代表这个数组所保存的变量类型是〔int〕,数组名是〔arr〕,数组的大小为〔5〕,数组元素下标的使用围是〔0到4〕。
9、假设x=13,y=4,那么表达式x%y!=0的值是〔true〕,其数据类型是〔boolean〕。
10、异常处理是由〔try〕、〔catch〕和finally块三个关键所组成的程序块。
11、以下程序段的输出结果是〔三角形〕
int x = 5, y = 6, z = 4;
if (x + y > z && x + z > y && z + y > x)
System.out.println("三角形");
else
System.out.println("不是三角形");
12、下面程序段的执行结果是〔6 5 4 3 2〕
int a[] = { 2, 3, 4, 5, 6 };
for (int i = a.length - 1; i >= 0; i--)
System.out.print(a[i] + "");
三、程序阅读题
2、以下程序的输出结果为__课程号:101 课程名:ASP 学分:3___。
publicclass Course {
private String umber;
private Stringame;
privateintcUnit;
public Course(String number, String name, int unit) {
umber = number;
ame = name;
cUnit = unit;
}
publicvoidprintCourseInfo() {
System.out.println("课程号:" + umber + " 课程名:" + ame + " 学分:" + cUnit);
}
}
class CourseTest {
publicstaticvoid main(String[] args) {
Course c;
c = new Course("101", "ASP", 3);
c.printCourseInfo();
}
}
3、以下程序的输出结果为__汤姆猫体重:20.0斤___。
publicclass Tom {
privatefloatweight;
privatestatic String name;
publicvoid setWeight(float weight) {
this.weight = weight;
}
privatevoid out() {
System.out.println(name + "体重:" + weight + "斤");
}
publicstaticvoid main(String[] args) {
Tom.name = "汤姆猫";
Tom cat = new Tom();
cat.setWeight(20);
cat.out();
}
}
5、以下程序的运行结果是__12345____。
publicclass MyClass {
inta[] = { 1, 2, 3, 4, 5 };
void out() {
for (int j = 0; j < a.length; j++)
System.out.print(a[j] + "");
}
publicstaticvoid main(String[] args) {
MyClass my = new MyClass();
my.out();
}
}
四、简答题
1、简述Java中异常处理的机制?
答:首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。
Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally。
1.异常处理:在Java语言的错误处理构造由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含去除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行 finally块。
2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创立一个。
2、什么是继承?
答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。
3、请简述重载和重写的区别?
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有一样的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽〞了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,那么称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
?JAVA程序设计?期末考试试题〔四〕
一、 单项选择题
1、以下程序段执行后的结果是( )。
String s=new String("abcdefg");
for(int i=0;i<s.length();i+=2){
System.out.print(s.charAt(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 B) 12 35 8 7 2
C) 35 12 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) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt"
4、应用程序的main方法中有以下语句,那么输出的结果是 ( )。
String s1=new String("abc");
String s2=new String("abc");
boolean b1=s1.equals(s2);
boolean b2=(s1==s2);
System.out.print(b1+" "+b2);
A)true false B) false true C) true true D)false false
5、应用程序的main方法中有以下语句,那么输出的结果是 ( )。
Hashtable hashtable=new Hashtable();
hashtable.put("x","12345");
hashtable.put("y","67890");
hashtable.put("a","abcde");
System.out.println(hashtable.get("a"));
A) a B) abcde C) 12345 D) 67890
6、下面语句的功能是( )。
RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" );
A)翻开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B)翻开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C)翻开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D) 以上说法都不对。
7、应用程序的main方法中有以下语句,那么输出的结果是 ( )。
String s="12345#aaa#bbb#67890";
int n=s.indexOf("#");
int k=s.indexOf("#",n+1);
int m=s.indexOf("#",k+1);
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+" "+k2);
}
}
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<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
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<x.length;i++){
if(x[i]> max)
max =x[i];
}
System.out.println(max);
A) 125 B) 5 C) 98 D) 168
12、程序Test.java编译运行后输出的结果是( )。
public class Test {
String s1="java";
public static void main(String args[]) {
int z=2;
Test t
展开阅读全文