《JAVA程序设计》复习题一
一、单选择题
1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. java B. .class
C. html D. .exe
2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。

A. 3 B. 3. 5
C. 4 D. 5
3、不允许作为类及类成员的访问控制符的是( C )。
A. public B. private
C. static D. protected
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( )
5、给定java 代码如下,编译运行后,输出结果是(C )。

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
6、如下哪个是合法的Java中的标识符( A )。
A、fieldname B、super C、3number D、#number
7、下面的代码段执行之后count的值是什么( D)。

int count = 1;
for (int i = 1; i <= 5; i++) {//第一次i出去是1count += i;}
System.out.println(count);

A、5 B、1 C、15 D、16
8、下列哪一个import命令可以使我们在程序中创建输入/输出流对象( C )。
A、import java.sql.; B、import java.util.;
C、import java.io.; D、import java.net.;
9、下列程序段执行后的结果是(A )。

String s = new String("abcdefg");
for (int i=0; i<s.length(); i+=2){//i第一次输出的值是0System.out.print(s.charAt(i));}

A) aceg B) ACEG C) abcdefg D) abcd
10.Java“一次编译,随处运行”的特点在于其( A )
A.跨平台性 B.面向对象型 C.多线程性 D.安全性
11.下列有关类、对象和实例的叙述,正确的是( B)
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
B.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
C.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
D.类是对象的抽象,对象是类的具体化,实例是类的另一个名称
12.下列( D )不是面向对象程序设计方法的特点。
A.封装 B.继承 C.多态 D.结构化
13.下列哪个属于容器的构件(B )?
A.JFrame B.JButton C.JPanel D.JApplet
B)JButton属于容器的构件,容器是用来存放构件的,而构件必须要放在容器上才能显示起作用
如果只创建出一个JButton来,没有任何意义,只有放在其它三项的容器里面,才能看到使用
14.下列有关父类属性和方法继承规则的描述错误的是( A )
A.父类中private修饰的属性和方法在子类中不被继承
B.父类中public修饰的属性和方法在子类中被继承且可访问
C.父类中protected修饰的属性和方法在子类中被继承且可访问
D.父类中default修饰的属性和方法在之类中被继承,若父类和子类在同一个包中,则也可访问

二、填空题
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程序中,通过类的定义只能实现 (单重)继承,但通过接口的定义可以实现(多重)继承关系。
9、面向对象的软件开发方法用类把(数据)和基于数据的(操作)封装在一起。
10、在Java语言中,用来分配内存的运算符是(new)。
11、接口中的方法只能是(抽象方法)。
12、javax.swing包中的 JMenu 类是负责创建菜单的,它的一个实例就是一个菜单。

三、写出下面程序的运行结果
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;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="+s);}}

运行结果: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 + " to " + two);}public static void main(String args[]){Parent p = new Parent("south", "north");Parent t = new Child("east", "west");p.print();t.print();}}

运行结果 south east to west
四、编程题
1、编写Java GUI应用程序,完成从键盘输入矩形的长和宽,求矩形的周长和面积并输出结果的功能,如下图所示。

import  javax.swing.JOptionPane;
public class Rect
{public static void main(String args[])
{String s;double    length,width,girth,area;s = JOptionPane.showInputDialog("输入矩形的长:");length = Double.parseDouble(s);s = JOptionPane.showInputDialog("输入矩形的宽:");width = Double.parseDouble(s);girth = (length + width) * 2;area = length * width;JOptionPane.showMessageDialog(null,"周长为:" + girth + "\n" + "面积为:" + area);
}
}

《JAVA语言程序设计》期末考试试题及答案2

一、单项选择题
1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( B)
A、 String args
B、String args[]
C、Char arg
D、StringBuffer args[]
2.以下关于继承的叙述正确的是(A )。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
3.paint()方法使用哪种类型的参数? (A )
A、Graphics B、Graphics2D C、String D、Color
4.以下哪个不是Java的原始数据类型( B )
A、int B、Boolean C、float D、char
5.若需要定义一个类域或类方法,应使用哪种修饰符?( A )
A、static B、package C、private D、public
6.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。
A、init() B、start() C、destroy() D、stop()
7.有以下程序片段,下列哪个选项不能插入到行1。( D )

1.
2 .public class Interesting{3. //do sth
4.}

A、import java.awt.; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
8. 设有下面两个赋值语句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述说法正确的是( D )。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
9.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?(A)
A、OutputStream B、File
C、InputStream D、BufferedOutputStream
10.在编写Java Applet程序时,需在程序的开头写上( B )语句。
A、import java.awt. ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
11.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、private B、protected C、private protected D、public
12.Java源文件和编译后的文件扩展名分别为( B )
A.class 和java B.java 和class C.class和class D.java和java
13.下列说法中,不正确的一项是(B )
A.Java程序只有两类:Application和Applet
B.类的方法只能由public修饰
C.面向对象的程序设计的优点有可重用性、可扩展性、可管理性
D.Java语言通过接口支持多重继承
14.main(B)方法是Java Application程序执行的入口点,关于main()方法的方法头,下面( )是合法的。
A.public static void main ()
B.public static void main (String args[ ])
C.public static int main (String [ ] args)
D.public void main (String args[ ])
15.在类中若要处理ItemEvent事件,则该类需要实现的接口是(A )
A.ItemListener B.ActionListener C. itemStateChanged D. Event
16.将GUI窗口中的组件按照从左到右如打字式排列的布局管理器是( A )
A.FlowLayout B.BorderLayout C.GirdLayout D.CardLayout
二、判断题
1.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。( √ )
2.子类只能继承父类的public,protected和同一个包中的package级的成员。( √ )
3.在类中实现一个接口,则一定要实现接口中的所有方法。( × )
4.抽象方法不仅有方法头,还应该有方法体。( × )
拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
5.在比较str1和str2两个字符串对象值是否相等时使用语句str1==str2。( √ )
6.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√ )
7.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 (× )
java自动回收机制
8.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。 (× )
构造函数无返回值
9.如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。( √ )
10.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 (√ )
11.静态初始化器是在其所属的类加载内存时由系统自动调用执行。 (√ )
12.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 (× )
13.Java applet也能够存取客户机磁盘上的文件。( √ )
14.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。( √ )
三.程序阅读题
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文件中,直至输入空行。

四.阅读以下程序,写出输出结果。

class  Animal {Animal() {System.out.print ("Animal  ");  }
}
public  class  Dog  extends  Animal {Dog() {System.out.print ("Dog ");  }public static void main(String[] args) {Dog  snoppy= new  Dog();  }
}

输出结果:Animal Dog

《JAVA语言程序设计》期末考试试题及答案3
一、单项选择题
1、如下哪个是Java中的标识符(D)
A、public B、super C、3number D、width
2、如下哪个是Java中的标识符( A)
A、fieldname B、super C、3number D、#number
3、已知如下定义:String s = “story”; 下面哪个语句不是合法的(C )
A、s += “books”; B、s = s + 100;
C、int len = s.length; D、String t = s + “abc”;
4、如下哪个是Java中有效的关键字(C )
A、name B、hello C、false D、good
5、下面的代码段执行之后count的值是什么( D )

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、定义一个类,必须使用的关键字是(B )
A、public B、class C、interface D、static
7、定义一个接口必须使用的关键字是(C )
A、public B、class C、interface D、static
8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( C)
A、p.add(b); B、p.add(b,“North”);
C、p.add(b,“South”); D、b.add(p,“North”);
9、声明并创建一个按钮对象b,应该使用的语句是( A )
A、Button b=new Button(); B、button b=new button();
C、Button b=new b(); D、b.setLabel(“确定”);
10、Frame对象默认的布局管理器是( B )
A、FlowLayout B、BorderLayout
C、CardLayout D、null
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象(C)
A、import java.sql.; B、import java.util.;
C、import java.io.; D、import java.net.;
12、下面哪一个import命令可以为我们提供编写网络应用程序的类(D)
A、import java.sql.; B、import java.util.;
C、import java.io.; D、import java.net.;
13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(A)
A、FileInputStream B、FileOutputStream
C、DataOutputStream D、FileWriter
14、在编写Java Applet程序时,需在程序的开头写上( B)语句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
15、如何在框架(Frame)中显示标题?(C )
A、调用根窗格的set Title 函数显示
B、调用内容窗格的setTitle函数显示
C、调用框架对象的setTitle函数显示
D、调用框架对象的Border对象的setTitle函数显示
16、下列各种java中的构造函数定义,那种形式是错误的构造函数定义( C)。

A 、 class MyClass
{ public MyClass()  {  }
}
B、 class MyClass
{   public MyClass(int X)   {   }
}
C、 class MyClass
{   public int  MyClass()   {   }
}
D、 class MyClass
{  public  MyClass(int x, int y)  {  }
}

17、Java属于( A )型语言。
A.解释 B.编译 C.多线程性 D.安全性
19、以下关于抽象类和接口的说法正确的是( B )。
A.抽象类可以用来定义接口 B.定义抽象类时需要abstract
C.抽象类中的所有方法都是具体的 D.抽象类可以是对接口的实现
20、Applet可以做下列哪些操作( D)?
A.读取客户端文件  B.在客户端主机上创建新文件
C.在客户端装载程序库  D.读取客户端部分系统变量
21、下列说法中,错误的一项是( D )
A.在Java中,若要处理某类事件,必须定义相关的事件处理类
B.在对事件源实例化之后,要注册相应事件的监听器
C.事件处理类必须实现与该类事件相对应的监听器接口
D.事件源通常是一个构件,也称做监听器
22、下列哪项是不能改变线程状态的方法?(C )
A.start( ) B.sleep( ) C.main( ) D.stop( )
二、填空题
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("三角形");elseSystem.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] + "");

13、定义类的保留字是( class ),定义接口的保留字是( interface )。
14、构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。
15、Java语言只允许单继承,指每个类只能有一个 ( 父类 ) ,但通过接口的定义可以实现( 多重 ) 继承关系。
16、在Java中,抽象类不能 被实例化 。
17、在Java中,为了能监视到ActionEvent类型的事件,事件源必须使用 addActionListener( ) 方法获得监视器。
18、利用DriverManager类的 getConnection(String url)静态方法创建数据库连接。
三、程序阅读题
1、以下程序的输出结果为Peter is 17 years old!。

public class Person {String name;int age;public Person(String name, int age) {this.name = name;this.age = age;}public static void main(String[] args) {Person c = new Person("Peter", 17);System.out.println(c.name + " is " + c.age + " years old!");}
}

2、阅读以下程序,输出结果为 90and10

public class ClassA  {public int a;
}
class ClassB extends ClassA  {public String b="and";
}
class ClassC extends ClassB  {public int c;public static void main(String[] args) {ClassC  cc=new  ClassC();cc.a=90;cc.c=10;System.out.println(cc.a+cc.b+cc.c);}}

3、以下程序的输出结果为 课程号:101 课程名:ASP 学分:3。

public class Course {private String cNumber;private String cName;private int cUnit;public Course(String number, String name, int unit) {cNumber = number;cName = name;cUnit = unit;}public void printCourseInfo() {System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit);}
}
class CourseTest {public static void main(String[] args) {Course c;c = new Course("101", "ASP", 3);c.printCourseInfo();}
}

4、以下程序的输出结果为 汤姆猫体重:20.0斤。

public class Tom {private float weight;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();}
}

5、以下程序的输出结果
姓名: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("Tom", 15);son.address = "金水区";son.school = "九中";son.tel = "66123456";son.out();}
}

6、下列程序的运行结果是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、简述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的方法是可以改变返回值的类型。

4、Java 规定类中的成员变量和方法具有4种访问控制符?哪四种?请列出。

答:Public、protected、private、default

5、什么是实例变量和类变量及他们的区别?

答:用修饰符static说明的变量是类变量,其他是实例变量。不同对象的实例变量将分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,改变其中一个对象的类变量的值,会影响其他对象的这个类变量的值。

6、用abstract修饰符修饰的类和方法有什么特点?

答:用abstract修饰的类不能创建对象,必须产生子类,有子类创建对象
用abstract修饰的方法只允许声明,而不允许实现。
如果一个类是一个abstract类的子类,它必须实现父类的abstract方法。

五、程序设计题
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() {System.out.println("鱼儿在游...");}
}
public class TestAnimal {public static void main(String[] args) {Bird bird = new Bird();bird.run();Fish fish = new Fish();fish.run();}
}

3、编写一个Frame框架应用程序,要求如下:
(1) 在窗口设置两个菜单“文件”、“编辑”
(2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”
(3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴”
(4) 点击关闭菜单项时,使程序关闭。
解答:

import java.awt.Color;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/** 主窗体*/
public class MyFrame extends Frame {private static final long serialVersionUID = 6895463895656626294L;private Frame frmMain;       // 窗体MenuBar mb;                    // 菜单栏Menu mnuFile;                 // "文件"菜单Menu mnuEdit;                // "编辑"菜单MenuItem miOpen;             // "打开"菜单项MenuItem miSave;            // "保存"菜单项MenuItem miClose;           // "关闭"菜单项MenuItem miCopy;            // "复制"菜单项MenuItem miPaste;           // "粘贴"菜单项public MyFrame() {frmMain = new Frame("主窗体");// 创建菜单栏mb = new MenuBar();// 创建菜单mnuFile = new Menu("文件");mnuEdit = new Menu("编辑");// 创建菜单项miOpen = new MenuItem("打开");miSave = new MenuItem("保存");miClose = new MenuItem("关闭");miCopy = new MenuItem("复制");miPaste = new MenuItem("粘贴");}public void showFrame() {frmMain.setSize(800, 600);frmMain.setLocation(100, 100);frmMain.setBackground(Color.white);frmMain.setVisible(true);frmMain.setLayout(null);frmMain.addWindowListener(new WindowHandler()); // 注册窗口监听器// 将菜单栏放入窗体中frmMain.setMenuBar(mb);// 将菜单放入菜单栏中mb.add(mnuFile);mb.add(mnuEdit);// 将菜单项放入菜单中mnuFile.add(miOpen);mnuFile.add(miSave);mnuFile.add(miClose);mnuEdit.add(miCopy);mnuEdit.add(miPaste);// 注册动作事件监听器miClose.setActionCommand("miClose_Clicked");miClose.addActionListener(new MenuHandler());}// 定义一个内部类,在这个类中编写窗口关闭事件处理程序。private class WindowHandler extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0); // 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。}}// 定义一个内部类,在这个类中编写动作事件处理程序。private class MenuHandler implements ActionListener {public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "miClose_Clicked") {System.exit(0); // 退出应用程序}}}
}
public class TestMyFrame {public static void main(String[] args) {// 启动主窗体MyFrame guiWindow = new MyFrame();guiWindow.showFrame();}
}

《JAVA语言程序设计》期末考试试题及答案4
一、 单选题
1、下列程序段执行后的结果是( A )。

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 ).
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构造函数中正确的路径和文件名的表示是( C )。
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方法中有以下语句,则输出的结果是 ( A )。

   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方法中有以下语句,则输出的结果是 (B )。

    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、下面语句的功能是( A)。

RandomAccessFile  raf2 = new RandomAccessFile("1.txt","rw" );

A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D) 以上说法都不对。
7、应用程序的main方法中有以下语句,则输出的结果是 B( )。

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的值是(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
回车后输出的结果是 ( A )。

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方法中有以下语句,则输出的结果是 ( A )。

 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方法中有以下语句,则执行后输出的结果是 ( D )。

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编译运行后输出的结果是( A )。

public class Test {String s1=“java”;
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方法中有以下语句,则输出的结果是 ( A )。

String s1=“0.5”, s2=“12”;
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 的内容是( D )。

import java.io.*;
public class Test {public static void main(String args[]) {try {String s=“ABCDE”;
byte b[]=s.getBytes();
FileOutputStream file=new FileOutputStream(“test.txt”,true);
file.write(b);
file.close();
}
catch(IOException e) {System.out.println(e.toString());
}
}
}

A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE
15、在Java语言中,表达式10/3的结果是(C )。
A.3.3 B.3.33 C.3 D.3.0
16、已知数组arrey,其最后一个元素的下标是(D )。
A.arrey.size B.arrey.length C. arrey.size-1 D. arrey.length-1
17、初始状态下,ResultSet的指针初始位置在( )
A.第一行之前 B.第一行 C.最后一行 D.最后一行之后
18、下列有关Swing的叙述,哪项错误? ( D )
A.Swing是Java基础类(JFC)的组成部分
B.Swing是可用来构建GUI的程序包
C.Java基础类(JFC)是Swing的组成部分
D.Swing是AWT图形工具包的替代技术

Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

编程题(上机实验):
一、定义一个圆类,在类的内部提供一个属性:半径r,同时提供两个方法:计算面积和计算周长。
二、定义一个表示学生信息的类Student,要求如下:
(1)类Student的成员变量:
sNO表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。
(2)类Student的成员方法:
getNo():获得学号;
getName():获得姓名;
getSex():获得性别;
getAge()获得年龄;
getJava():获得Java 课程成绩
根据类Student的定义,在主类中创建三个该类的对象,输出每个学生的信息,计算并输出这三个学生Java语言成绩的平均值。
三、实现动物世界的继承关系
要求:
1、设计一个动物类(Aniaml):
成员方法:吃(eat)、睡觉(sleep)、移动(move)。
2、设计一个兔子类(Rabbit)继承动物类,重写父类的eat方法;
3、设计一个狮子类(Tiger)继承动物类,重写父类的eat方法;
4、在主类中,分别生成兔子对象r,狮子对象t,输出r和t的吃、睡觉和移动的行为。
四、按如下要求编写Java程序:
1、定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。
2、定义接口B,里面包含抽象方法void setColor(String c)。
3、定义圆柱体类Cylinder实现接口A和B,该类中包含三个成员变量:底圆半径radius、圆柱体的高height、颜色color。
4、创建主类,实例化Cylinder类,调用area()方法计算圆柱体的体积,调用setColor()方法设置圆柱体的颜色,并输出。
五、设计一个抽象类Shape,要求如下:
1、包含抽象方法:求面积的area()方法和求周长的perimeter()方法;以及普通方法:设置颜色的setColor()方法和获取颜色的getColor方法();
2、设计其子类Circle(圆形)类,包含属性半径r,并实现Shape类中的抽象方法;
3、编写测试类ShapeTest,分别实现相应的求面积、求周长以及设置并获取颜色的操作。

参考文献

《JAVA程序设计》期末考试复习题相关推荐

  1. java程序设计期末考试试题_JAVA语言程序设计期末考试试题及答案

    <JAVA语言程序设计期末考试试题及答案>由会员分享,可在线阅读,更多相关<JAVA语言程序设计期末考试试题及答案(13页珍藏版)>请在人人文库网上搜索. 1.JAVA语言程序 ...

  2. java期末试题c卷,JAVA程序设计期末考试试卷及参考答案

    <JAVA程序设计> 期末考试试卷 考生注意:1.本试卷满分100分. 2.考试时间90分钟. 3.卷面整洁,字迹工整. 4.填写内容不得超出密封线. 总分题号一二三四五六 核分人题分21 ...

  3. 【JAVA】-- 期末考试复习题含答案(每章对应题、选择、填空、简答、编程)(上)

    第1章 课后习题 一.填空题 1.Java是一种____面对对象____语言,它是由___Sun_____公司(已被Oracle公司收购)开发的高级程序设计语言. 2.针对不同的开发市场,SUN公司将 ...

  4. 大学java程序设计期末考试,成功跳槽阿里!

    一面 自我介绍 项目中的监控:那个监控指标常见的有哪些? 微服务涉及到的技术以及需要注意的问题有哪些? 注册中心你了解了哪些? consul 的可靠性你了解吗? consul 的机制你有没有具体深入过 ...

  5. Python面向对象程序设计期末考试复习题及答案(含编程题)

    一.选择题 1.关于面向过程和面向对象,下列说法错误的是(B). A.面向过程和面向对象都是解决问题的一种思路 B.面向过程是基于面向对象的 C.面向过程强调的是解决问题的步骤 D.面向对象强调的是解 ...

  6. 大学期末考java编程题_大学慕课2020年Java程序设计期末考试大全答案

    [问答题,简答题] 集团本地网综合化集中维护AAA标准分由哪几个部分组成? [问答题,案例分析题] 两个用户在营业厅内不知何故,突然争吵并打斗起来,作为营业班长的你该如何处理? [问答题,简答题] 某 ...

  7. 【JAVA】-- 期末考试复习题含答案(每章对应题、选择、填空、简答、编程)(下)

    前面部分在上一个文章. 第6章  集合类 一.填空题 1. ________是所有单列集合的父接口,它定义了单列集合(List和Set)通用的一些方法. 2.使用Iterator遍历集合时,首先需要调 ...

  8. java期末考试复习题_java期末考试复习题库 试题题库.doc

    java期末考试复习题库 试题题库 1 Java中对数据库查询结果集进行操作的对象是() ( A:Connection对象 B:Statement对象 C:DriverManager对象 D:Resu ...

  9. java面向对象期末考试试题_《面向对象程序设计——java》期末考试试题2008a卷.doc...

    <面向对象程序设计--java>期末考试试题2008a卷.doc 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第 7 页 共 ...

  10. 软件工程期末考试复习题

    软件工程期末考试复习题 时间:2019年7月5日考 作者:玄月二五 1.8 练习题 -.填空题 1.软件工程是一门综合性的交叉学科,它涉及计算机学科.工程学科.管理学科和数学学科. 2.软件工程研究的 ...

最新文章

  1. Linq to SQL Like Operator(转)
  2. adb指令没有数据线,在WLAN下也可使用
  3. jsf 项目_您将在下一个项目中使用JSF吗?
  4. java报错找不到对象,使用Spring源码报错java:找不到类 InstrumentationSavingAgent的问题...
  5. Python机器学习:多项式回归与模型泛化010L1L2和弹性网络
  6. centos安装mysql5.6系统崩溃_CentOS中安装MySQL5.6报错的解决方法
  7. 【博客项目】—用户修改功能(十一)
  8. jsp语法 --模板元素,表达式,脚本片段,声明,注释
  9. 1.MySql驱动的jar包下载
  10. 一步一步学Repast 第五章——模拟粒子运动,了解Schedule
  11. 微前端框架 之 qiankun
  12. 通过计算机名共享文档,共享文档
  13. 手机如何html5音频取,怎么用手机把视频里的音频提取?
  14. XPe开发初体验:XPe概述
  15. qrcode的使用方法
  16. 自学数据结构_五月十日_综述
  17. uni-app底部安全区高度(padding-bottom、bottom)
  18. Linux 减,linux下的shell运算(加、减、乘、除)
  19. java如何实现多线程_Java中实现多线程的两种方式
  20. XAMPP Apache关于https配置问题

热门文章

  1. ROS2机器人笔记20-09-24
  2. WTG Windows系统安装到U盘/移动硬盘
  3. TensorFlow入门(十-I)tfrecord 固定维度数据读写
  4. @Pointcut的使用
  5. python 3 or 5的值_python表达式3or5的值为_表达式 3 or 5 的值为
  6. 倒排索引的数据结构:Term index、Term Dictionary、Posting List
  7. 使用 vue-element-admin 开发后台管理系统【安装】
  8. CSP 201903-1 大中小
  9. 使用Intent传递对象
  10. 随身wifi与宽带的区别是什么?