收藏 分销(赏)

JAVA期末试题及答案.doc

上传人:精*** 文档编号:1494920 上传时间:2024-04-29 格式:DOC 页数:40 大小:190.05KB 下载积分:14 金币
下载 相关 举报
JAVA期末试题及答案.doc_第1页
第1页 / 共40页
JAVA期末试题及答案.doc_第2页
第2页 / 共40页


点击查看更多>>
资源描述
《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A)封装 (B)继承 (C)覆盖 (D)重载 5.在类的定义中构造函数的作用是( )。 (A)保护成员变量 (B)读取类的成员变量 (C)描述类的特征 (D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( )。 (A)类是对象的抽象 (B)对象是类的抽象 (C)对象是类的子类 (D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为(      )  (A) .class和  .java         (B).java和 .class    (C).class和  .class         (D) .java和  .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class   (B) class,import,package (C) import,package,class  (D) package,class,import 14.下面哪个是非法的: (A) int I = 32;    (B) float f = 45.0;    (C) double d = 45.0;    (D) char c = ‘u’; //符号错 15.Java语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是 (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是 (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁?( ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法 (D) 抽象类中的方法都是抽象方法 20.java.io包的File类是 (A)字符流类 (B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( ) int x=-3; int y=-10; System.out.println(y%x); A、 -1 B、2 C、1 D、3 23.以下关于继承的叙述正确的是( )。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 24. 若有定义:byte[] x={11,22,33,-66}; 其中0≤k≤3,则对x数组元素错误的引用是( ) A)x[5-3] B)x[k] C)x[k+5] D)x[0] 25.paint()方法使用哪种类型的参数? ( ) A、Graphics B、Graphics2D C、String D、Color 26.以下哪个不是Java的原始数据类型( ) A、int B、Boolean C、float D、char 27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( ) A) 隐藏 B) 重写 C) 重载 D) Java不支持此特性 28. 以下有关构造方法的说法,正确的是:( ) A. 一个类的构造方法可以有多个 B. 构造方法在类定义时被调用 C. 构造方法只能由对象中的其它方法调用。 D. 构造方法可以和类同名,也可以和类名不同 29.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( )。 A、init() B、start() C、destroy() D、stop() 30.给出下面代码,关于该程序以下哪个说法是正确的?( ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) {   System.out.println(arr[0]); } } A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 31、有以下方法的定义,请选择该方法的返回类型( )。 ReturnType method(byte x, double y) { return (short)x/y*2; } A、byte B、short C、int D、double 32.下列类定义中哪些是合法的抽象类的定义?( ) A、abstract Animal{abstract void growl();} B、class abstract Animal{abstract void growl();} C、abstract class Animal{abstract void growl();} D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};} 33.有以下程序片段,下列哪个选项不能插入到行1。( ) 1. 2.public class Interesting{ 3.//do sth 4. } A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 34. 设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( )。 A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。 35.在编写Java Applet程序时,需在程序的开头写上( )语句。 A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 36.下列哪一项不属于Swing的顶层容器?( ) A)JApplet B)JTree C)JDialog D)JFrame 37. 为了使包ch4在当前程序中可见,可以使用的语句是( )。 A)import ch4.*; B)package ch4.*; C)ch4 import; D)ch4 package; 38. 请问所有的异常类皆继承哪一个类?( )。 A)java.io.Exception B)java.lang.Throwable C)java.lang.Exception D)java.lang.Error 39.进行Java基本的GUI设计需要用到的包是( )。 A)java.io B)java.sql C)java.awt D)java.rmi 40. 当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?( ) A)KeyEvent B)ActionEvent C)ItemEvent D)MouseEvent 填空题: 1.数组x定义:String x[ ][ ]=new int[3][2]; x[0 ][0 ]=”abc”, x[0 ][1]=”12345”; 则 x.length 的值为______2___,x[0][1].length( ) 的值为__5___。 2、Java语言的变量由变量名、_修饰符_、变量属性、_初值___组成。 3、当程序中需要抛出异常时,应该使用_catch_子句,当需要在方法中声明可能抛出的异常类型,应该使用_______子句。 4、java.applet包中的________类定义了Applet与其运行环境之间的一个标准接口。 5、Java语言中提供的GUI功能主要由java.awt包和_java.swing_包中的类和接口实现。 6、Java源程序文件和字节码文件的扩展名分别为_.java___和__.class___。 7、Java语言的类型检查机制要求对于没有返回值的方法,在其前面必须加___void___进行说明。 8、 类是Java语言的一种_______数据类型。 9、 在Java语言中,所有的对象均通过___________运算符分配内存,并对内存进行自动管理。 10、每个Java Application程序可以包括许多方法,但是必须有且只能有一个______方法,统一格式为__________,它是程序执行的入口。 11、 若要在程序中定义一个公用的int型的类成员变量MAX_LENGTH,且该变量的值保持常数值1000,则定义该变量的语句是_____________________。 12、 子类必须通过_super_关键字调用父类有参数的构造函数。 13、 在Java语言中,所有的类都是类__Object__的子类。 14、 在Java程序中,通过类的定义只能实现单重继承,但通过__接口__ 的定义可以实现多重继承关系。 15、 如果在Java程序中,需要使用java.util包中的所有类,则应该在程序开始处加上语句_import java.util.*_。 16、 下列程序的运行结果是__01234_______________ public class ex2 { public static void main(String[] args) { for(int cnt=0;cnt<10;cnt++) { if(cnt==5) break; System.out.print(cnt); }}} 17、 下列程序的运行结果是______4_________ import java.io.*; public class ATest{ public static void main(String args[]) { SubClass sb = new SubClass( ); System.out.println(sb.fun( )); }} class SuperClass{ int a =24 , b =5 ; } class SubClass extends SuperClass { int fun( ) { return a%b; } } 18、 分析下列程序,填上空白处的语句 class point //定义坐标类 { int x,y; test(int a,int b) {x=a;y=b;} } class rec_extends point __________//定义长方形类 { int length,width; rec(int a1,int b1,int l,int w) {super(a1,b1); length=l;width=w; }} class test {public static void main(String args[]) { ___test r1=new test(“0”, “0”, “10”, “20”)__________________ //定义名为r1的对象同时初始化坐标为0,0,长度为10,宽度为20 r1.print(); }} 19、Java 源文件中最多只能有__________1___________个公共类,其它类的个数不限。  20、在 Java 中所有实现的多维数组,实际上是由一维数组构成的_数组的数组。  21、设 x =15 ,则表达式 ( x + + )/4 的值是___3_______________。 22、___抽象______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 23、 ____run()______方法用于定义线程的执行体. _____start()______方法用于启动线程. 24、String str1=”abc”; String str2=new String(“abc”); System.out.println(str1==str2); 则程序运行后输出结果为:_____fault________ 25、Java语言中,有一个类是所有类或接口的父类,这个类的名称是 ____Object______。    26、当启动 Applet 程序时,首先调用的方法是_____________________。 27、Java语言是一种完全的_____________________程序设计语言。 28. 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是____Applet_____类的子类并且存储该源程序文件的文件名为 。 29. 设 int x = 2 ,则表达式 (x++)/3 的值是_____0_______________。 30. Java提供的访问权限修饰符有4个,即:public、_private、protected和友元。 31. Java中有两种常用的字符串类,一个是String,另一个是_____________________。 32. Java实现多线程的方法有两种,一种方法是通过创建_____________________类的子类实现多线程,另一种方法是定义一个实现 _____________________接口的类。 33. Java不支持多继承。但它允许一个类同时实现多个__接口____,这就相当于部分实现了多继承。 34. Java源文件中,__________import___________语句位于package语句之后、类定义之前。 35. __OutputStreamWriter__类是OutputStream类的子类,用来处理以文件作为数据输出的数据流。 三、编程题: 1.编写一个输出"Hello World!"的程序,用两种方式实现(Application、Applet)。 2.编写一个Java Application,接收从键盘输入的10个整数,并输出其中的最大、最小以及平均值。要求:将计算功能定义在一个类中,由主类接收输入,再用数组的方式传递给实现计算的类的方法,再输出结果。 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分别为实部和虚部的数据。 4.求10个数中的最大值并输出。 5.建立一个学生类,其中成员变量为学号,姓名,及三门课成绩。另外建立一个包含主方法的类,定义2个学生类的对象,求出这2个学生三门课总分的最高分,并将最高分这个学生的信息输出。 6.编写一个Application,接受用户输入的帐号和密码,给三次输入机会. 7.定义一个圆类circle,它有一个变量radius(半径)、若干个构造函数和一个求圆的面积的方法。在主类test的main()方法中随机生成一个100以内的整数,通过构造函数的参数传递给radius,调用圆类circle中的方法计算并输出圆的面积。 8.编写Applet程序模拟屏幕保护程序,在屏幕上随机画圆。圆的位置和半径是随机的。50毫秒后再随机画下一个圆,一旦画满了50个圆,就清除屏幕。然后重新开始画圆。 9.请编写一个实现如下功能的Application:比较从键盘输入的两个整数是否相等,并根据比较结果显示“相等”或“不相等”。 10.请编写一个Applet,其中包含两个标签(一个用于给出提示信息,另一个用来输出结果)和一个文本框。要求从文本框中获取用户给出的一个整数,并将该数的绝对值在标签上输出。 11.编写一个Application,利用数组求出”HELLO”,”JAVA””PROGRAM”三个字符串的平均长度。 12.SQL Server 中有一个名为 friends 的表,如下图,利用JDBC编程实现显示表中记录信息。 一: 1、 application程序 public class a { public static void main(String args[]) { System.out.println("Hello World!"); } } 2、applet程序 public class b extends java.applet.Applet { public paint(java.awt.Graphics g) { g.outstring("Hello World!",10,10); } } 二: public class Complex{ private float shibu; private float xubu; Complex() { this(0,0); } Complex(float shibu,float xubu){ this.shibu=shibu; this.xubu=xubu; } public void Add(Complex p) { Complex result=new Complex(); result.shibu=this.shibu+p.shibu; result.xubu=this.xubu+p.xubu; System.out.print("加法果为:"+result.shibu+"+"+result.xubu+"i"); } public static void main(String[] args) { Complex fushu1=new Complex(1,2); Complex fushu2=new Complex(3,4); fushu1.Add(fushu2); } } 三: import java.lang.*; public class COMplex {   int RealPart;   int ImagePart;   COMplex(){     RealPart=0;     ImagePart=0;     }   COMplex(int real,int image){     RealPart=real;     ImagePart=image;   }   COMplex complexAdd(COMplex a){     COMplex repart = new COMplex();     repart.RealPart=this.RealPart+a.RealPart;     repart.ImagePart=this.ImagePart+a.ImagePart;  return repart;        }   void ToString( ) {         System.out.println(this.RealPart+"+"+this.ImagePart+"i");     }   public static void main(String args[]){     COMplex C1=new COMplex(2,3);     COMplex C2=new COMplex(4,6);     COMplex C3=new COMplex();     CplexAdd(C2).ToString();     CplexAdd(C3).ToString();    // C3.ToString();      } } 四: import java.util.Scanner; public class Test { public static void main(String args[]){ int num[]=new int[10]; int max; Scanner scan=new Scanner(System.in); System.out.print("请输入10个数字:"); for(int i=0; i<10; i++){ num[i]=scan.nextInt(); } max=num[0]; for(int i=1; i<10; i++){ if(max<num[i]) max=num[i]; } System.out.println("最大值是"+max); } 五: //学生类 public class Student{ private String stu_id; private String stu_name; private float math; private float chinese; private float computer; public void setStu_id(String stu_id){ this.stu_id=stu_id; } public String getStu_id(){ return stu_id; } public void setStu_name(String stu_name){ this.stu_name=stu_name; } public String getStu_name(){ return stu_name; } public void setMath(float math){ this.math=math; } public float getMath(){ return math; } public void setChinese(float chinese){ this.chinese=chinese; } public float getChinese(){ return chinese; } public void setComputer(float computer){ puter=computer; } public float getComputer(){ return computer; } } //主方法的类 public class Start{ public static void main(String[] args){ Student stu1=new Student(); stu1.setStu_id("No1"); stu1.setStu_name("张三"); stu1.setMath(89.5f); stu1.setChinese(70f); stu1.setComputer(98f); Student stu2=new Student(); stu2.setStu_id("No2"); stu2.setStu_name("李四"); stu2.setMath(79.5f); stu2.setChinese(90f); stu2.setComputer(68f); float stu1Sum = stu1.getMath()+stu1.getChinese()+stu1.getComputer(); float stu2Sum = stu2.getMath()+stu2.getChinese()+stu2.getComputer(); if(stu1Sum > stu2Sum){ System.out.println ("总分最高分为:"+stu1Sum); System.out.println ("学号:"+stu1.getStu_id()); System.out.println ("姓名:"+stu1.getStu_name()); System.out.println ("数学:"+stu1.getMath()); System.out.println ("语文:"+stu1.getChinese()); System.out.println ("计算机:"+stu1.getComputer()); }else if(stu1Sum < stu2Sum){ System.out.println ("总分最高分为:"+stu2Sum); System.out.println ("学号:"+stu2.getStu_id()); System.out.println ("姓名:"+stu2.getStu_name()); System.out.println ("数学:"+stu2.getMath()); System.out.println ("语文:"+stu2.getChinese()); System.out.println ("计算机:"+stu2.getComputer()); }else{ System.out.println ("总分一样高为:"+stu1Sum); System.out.println ("学号:"+stu1.getStu_id()); System.out.println ("姓名:"+stu1.getStu_name()); System.out.println ("数学:"+stu1.getMath()); System.out.println ("语文:"+stu1.getChinese()); System.out.println ("计算机:"+stu1.getComputer()); System.out.println ("学号:"+stu2.getStu_id()); System.out.println ("姓名:"+stu2.getStu_name()); System.out.println ("数学:"+stu2.getMath()); System.out.println ("语文:"+stu2.getChinese()); System.out.println ("计算机:"+stu2.getComputer()); } } } 九: import java.util.Scanner; public class COMPare {  public static void main(String args []){    Scanner tr=new Scanner(System.in);    int b=tr.nextInt();    int a=tr.nextInt();    if(a==b)     System.out.println("相等");    else     System.out.println("不相等");   } } 十一: class Average { public static void main(String args[]) { String array[] = new String[3]; array[0] = "HELLO"; array[1] = "JAVA"; array[2] = "PROGRAM"; int total = array[0].length(); total += array[1].length(); total += array[2].length(); System.out.println("平均字符串长度为: " + total/3); } } JAVA复习卷 一、选择题(2’*15=30’) 1、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、下面的代码段执行之后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 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5、下列程序段执行后的结果是( )。 String s = new String("abcdefg"); for (int i=0; i<s.length(); i+=2){
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服