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

您所在的位置:网站首页 r语言考试选择填空 《JAVA语言程序设计》期末考试试题及答案

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

2024-02-06 00:50| 来源: 网络整理| 查看: 265

文章目录 《JAVA语言程序设计》期末考试试题及答案1(应考必备题库)一、单选择题二、填空题三、写出下面程序的运行结果 《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)一.判断题二.单项选择题三.程序阅读题四.阅读以下程序,写出输出结果。 《JAVA语言程序设计》期末考试试题及答案3(应考必备题库)一、单项选择题二、填空题三、程序阅读题四、简答题 《JAVA语言程序设计》期末考试试题及答案4(应考必备题库)一、 单选题二、程序阅读题 《JAVA程序设计》期末考试试题 (五)一、 单选题二、程序阅读题 《JAVA程序设计》期末考试试题 (六)一、填空题二、选择题三、程序填空题 《JAVA程序设计》期末考试试题 (七)一、选择题二.读程序题三 . 简答题

《JAVA语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题

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

z-- 先返回值在运算,故:返回值是3,z的值变为2 ++x 先运算再返回值,故:x值变2,返回2; 3/2整形数据范围内的计算,返回1; y +=1 y = 3; 返回y = 3.

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()) ; } } //int初始值为0,aMethod调用了两次所以结果为2

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 //i第一次输出的值是0 System.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 )不是面向对象程序设计方法的特点。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 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 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); } }

2、用Java Application编写一个程序,输出你的班级和姓名。 答:

public class HelloJava { //类定义正确3分 public static void main(String[] args) {//2分 System.out.println("学号=2013001,姓名=张三");//5分 } } 《JAVA语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题

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.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.以下程序的输出结果为 相等 。

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 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 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.安全性 18、下列哪项不是Java语言中所规定的注释样式?( B) A.//单行注释 B.–单行注释 C./* D./** *多行注释 *文档注释 */ */

1, // 注释一行 2, /* ...... */ 注释若干行 3, /**……*/文档注释

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程序中的单行注释符是( // ),多行注释符是( /* */ )。

1, // 注释一行 2, /* ...... */ 注释若干行 3, /**……*/文档注释

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--) //这里的a表示你上面定义的那个整型一维数组,然后a.length表示a数组的长度,第一次i出去是4所以a【4】=6 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 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 public static void main(String args[]) { int k1=args.length; int k2=args[1].length(); System.out.print(k1+" "+k2); } } //args.length表示传入参数的个数

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 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 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)器件如:文本框,按钮,分隔窗格和表。

二、程序阅读题

1、阅读下面的程序,回答问题(问3分,问3分,共6分)。 import java.awt.; import javax.swing.; public class T extends JFrame { public T ( ) { super(“GridLayout”); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,3)); con.add(new JButton(“a”)); con.add(new JButton(“b”)); con.add(new JButton(“c”)); con.add(new JButton(“d”)); con.add(new JButton(“e”)); con.add(new JButton(“f”)); setSize(200, 80); setVisible(true); } public static void main(String args[]) { new T(); } } 画图表示程序运行后的图形界面。 如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何? 答案:  接口名:ActionListener 接口中的方法:public void actionPerformed(ActionEvent e) 2、阅读下面的程序代码,并回答问题(①问3分,②问3分,共6分)。 String s1 = new String(“abcde”); String s2 = new String(“abcde”); boolean b1= s1.equals(s2); boolean b2 = s1== s2; System.out.print(b1+" "+b2); 编译运行上面的程序:①程序段执行后,在命令行的输出结果如何?②equals方法的功能是什么?运算符“ == ”\ 的功能是什么? 答: ①true false ②equals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。

《JAVA程序设计》期末考试试题 (五) 一、 单选题

1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( C )。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( D)。 File file1=new File(“d:\xxx\yyy\zzz”); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录: e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是 ( B )。 String s = “xxxxxxxxxxxxxxx#123#456#zzzzz”; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( D )。 public class Test { String x=“1”; 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方法中有以下语句,则输出的结果是 ( A )。 int b[][]={{1, 1, 1}, {2,2}, {3}}; int sum=0; for(int i=0; i sum+=b[i][j]; } } System.out.println(“sum=”+sum); A) 10 B)6 C) 9 D) 13 6、应用程序的main方法中有以下语句,则执行后输出的结果是 ( B)。 int[] x = {125,21,5,168,98}; int min = x[0]; for (int i=1; i 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 10、下面说法不正确的是( D )? A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。 B)List接口是可以包含重复元素的有序集合。 C)Set接口是不包含重复元素的集合。 D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。 11、给定java 代码如下,编译运行后,输出结果是( C)。 public class test { static int i=0; 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 12、有整型数组: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 13、Frame对象默认的布局管理器是(B )。 A、FlowLayout B、BorderLayout C、CardLayout D、null

二、程序阅读题

1、阅读下面的程序代码,并回答问题(1问3分,2问3分,共6分)。 String s1 = new String(“abcde”); String s2 = new String(“abcde”); boolean b1= s1.equals(s2); boolean b2 = s1== s2; System.out.print(b1+" "+b2); 程序段执行后,在命令行的输出结果如何? 解释输出(1)的结果的原因? 答案:在这里插入图片描述 1 true false 2 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("quit")) 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("Tom", 'm', 90, 88); new Student("Jack", 'm', 66, 89); new Student("Mary", 'f', 76, 86); System.out.println("name\tsex\tchinese\tenglish"); 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("The list is empty."); else { do{ System.out.println(friend.toString()); friend=friend.next; }while(friend!=null); } } public String toString() { return new String(name+"\t"+sex+"\t"+chinese+"\t"+english); } }

答案: 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. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。 9、使用运算符( new ),创建类的对象,给对象分配内存空间。 10、程序中实现多线程的方法有两种:继承Thread类和实现( Runnable )接口。 11、同一个类中多个方法具有相同的方法名,不同的参数列表称为方法的( 重载 )。 12、Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为( float )和( double )两种具体类型。 13、假设x=1,y=2,则表达式x+y>=x*y的值是( true ),其数据类型是(布尔)。 14、在Java的基本数据类型中,char型采用Unicode编码方案,这样无论是中文字符还是英文字符,都是占用( 2 )字节内存空间。 15、用户自定义异常是通过继承_____ 异常 ____类或其子类。 16、为了支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库编程接口API,叫做 JDBC 。 17、可以通过继承 Thread 类和实现 Runnable 接口来创建线程。

二、选择题

1.关于选择结构下列哪个说法正确? ( B ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 2.while循环和 do…while循环的区别是:  (D  ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 3.关于 for循环和 while循环的说法哪个正确? ( B ) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 4.下列修饰符中与访问控制无关的是 ( D ) A.private    B.public C.protected D.final 5. void的含义:  ( A ) A.方法没有返回值    B. 方法体为空 C.没有意义     D. 定义方法时必须使用 6. return语句:  (C ) A.只能让方法返回数值     B.方法都必须含有 C.方法中可以有多句return    D.不能用来返回对象 7.关于对象成员占用内存的说法哪个正确?  ( B ) A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对 8.下列说法哪个正确?© A.不需要定义类,就能创建对象 B.对象中必须有属性和方法 C.属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量 9.下列说法哪个正确?  ( A ) A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用 10.关于方法main()的说法哪个正确?( C ) A.方法main()只能放在公共类中 B main()的头定义可以根据情况任意更改 C.一个类中可以没有main()方法 D.所有对象的创建都必须放在main()方法中 11.构造函数何时被调用?  ( A ) A、创建对象时      B、类定义时 C、使用对象的方法时   D、使用对象的属性时 12. 抽象方法:  (  C) A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法 D、抽象类中的方法都是抽象方法  13.关于继承的说法正确的是:  (B  ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性 14.关于构造函数的说法哪个正确?  ( C ) A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数 C、构造函数与类同名 D、构造函数必须自己定义,不能使用父类的构造函数 17.覆盖与重载的关系是  ( A ) A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事 18.关于接口哪个正确?  ( A ) A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事 19.异常包含下列哪些内容?  (  A) A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误   C.程序的编译错误 D.以上都是

20. 对于已经被定义过可能抛出异常的语句,在编程时:  ( A ) A、必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理 D.只能使用try/catch语句处理 21. 字符流与字节流的区别在于(D  ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同 22.下列流中哪个不属于字节流  (  D) A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader

三、程序填空题 1.public class Sum{ public static void main(String [] args){ int j=10; System.out.println("j is : "+j); calculate(j); System.out.println("At last, j is : "+j); } static void calculate (int j){ for (int i = 0;i…} abstract void b(); abstract int c(int i); } interface AsSuper { void x(); } abstract class SubAbstract extends SuperAbstract implements AsSuper { public void b(){…} abstract String f(); } public class InheritAbstract extends SubAbstract{ 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()); } }

在以上这段程序中: 抽象类有: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; //此属性值用于检验 Leaf increment(){ //定义方法increment(),返回值是Leaf类的对象 i++; return (1) ;//将当前对象的地址作为返回值返回 } void print() { System.out.println(" i = " + i); } public static void main(String args[]){ Leaf x = (2); //创建Leaf类的对象x x.increment().increment().increment().print(); }//多次调用方法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(“file1.txt”); //指定源文件 File outFile = new File(“file2.txt”); //指定目标文件 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("FileStreamsTest: "+e); } } } 答案: (1) new FileInputStream(inFile); (2) fos.write©; 5. 阅读程序,给出结果:

// AbstractClassDemo.java源代码如下: abstract class Shape { //定义抽象类Shape和抽象方法display abstract void display(); } class Circle extends Shape { void display() { //实现抽象类的方法 System.out.println("Circle"); } } class Rectangle extends Shape { void display() { //实现抽象类的方法 System.out.println("Rectangle"); } } class Triangle extends Shape { void display() { //实现抽象类的方法 System.out.println("Triangle"); } } public class AbstractClassDemo{ public static void main(String args[]){ (new Circle()).display(); //定义无名对象来调用对应的display方法 (new Rectangle()).display(); (new Triangle()).display(); }

} 输出结果是 ? 答案:(1) Circle; (2) Rectangle; (3) Triangle。

《JAVA程序设计》期末考试试题 (七) 一、选择题

请说出下列代码的执行结果 : (B) String s = “abcd”; String s1 = new String(s); if (s = = s1) System.out.println(“the same”); if (s.equals(s1)) System.out.println(“equals”); A. the same equals B. equals C. the same D. 什么结果都不输出

下列有关 Java 中接口的说法哪个是正确的? (B) A. 接口中含有具体方法的实现代码 B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字 D. 接口不允许继承

下列代码的执行结果是什么? (B) String s1 = “aaa”; s1.concat(“bbb”); System.out.println(s1); A. The string “aaa”. B. The string “aaabbb”. C. The string “bbbaaa”. D. The string “bbb”.

如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件 ? © A. smallButton.add(myListener); B. smallButton.addListener(myListener); C. smallButton.addActionListener(myListener); D. smallButton.addItem(myListener);

二.读程序题 读下列代码,说出这段程序的功能。 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("IOException: " + e); } } } 答案:读取键盘输入,显示到屏幕上,直到键盘输入为空为止。 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、以下程序的输出结果为____ mainbord:华硕 cpu:Intel 。 public class Computer { String mainbord,cpu; public Computer(String s1,String s2) { mainbord=s1; cpu=s2; } public static void main(String[]args) { Computer c=new Computer(“华硕”,“Intel”); System.out.println(“mainbord:”+c.mainbord+" cpu:"+c.cpu); } } 4、下列程序的运行结果是 s = 180_____。 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); } } 5、 读程序,写出正确的运行结果。 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 三 . 简答题

Java语言的特点。 答: 简单性:Java风格类似于C++,但它摒弃了C++中容易引起程序错误的地方 面向对象:Java语言的设计是完全面向对象 分布式: 解释执行: 健壮性:Java提供自动垃圾回收机制,异常处理机制,进行严格的类型检查 平台无关性: 安全性 多线程 动态性

请描述 AWT事件模型。 答: 结合AWT事件模型并举例来说: import java.awt.event.*;

监听对象必须实现对应事件监听器的接口 class MyFirstFrame extends Frame implements ActionListener {…} 2.明确事件监听器的接口形式 public void actionPerformed ( ActionEvent event) {…}

MyFirstFrame 类必须实现接口ActionListener中的所有方法。

注册监听对象. 为了把MyFirstFrame对象注册为两个按钮的事件监听对象,必须在MyFirstFrame 的构造函数中添加语句如下: cancelButton.addActionListener(this); okButton.addActionListener(this);

在 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() {…} }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3