合肥学院JAVA期末考试复习题库
更新时间:2023-12-20 17:00:01 阅读量: 教育文库 文档下载
- 合肥学院数据结构期末考试推荐度:
- 相关推荐
一、判断题:
1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字
free。(F) 回收不用free 2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与
赋值对象相同的新对象。(F) 字符串类型的变量是不能赋非字符串的值,如string str=”a” int b=0, str=b是错误的
3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。(F) 不定义构造函数,编译器会使用默认构造函数,并不代表构造函数不存在
4.类及其属性、方法可以同时有一个以上的修饰符来修饰。(T)
5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点 (F)应该是左上角
6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。(F)//含有抽象方法的类必须声明为抽象类,抽象方法不能为private的,因为抽象方法没有具体的实现,需要在子类中继承并重写来具体实现。抽象方法必须重写实现其具体的功能。方法永远不能同时标示为abstract和final,因为abstract修饰的方法必须要重写实现其方法,而final是阻止重写的。Private和abstract也不能同时修饰方法,因为private阻止继承,也就是阻止了重写实现,这与abstract也是相违背的。Abstract不能和static同时使用,static是静态的,就是在编译时已经确定的东西,当然不能是抽象(动态)的,那是运行时才能确定的东西。
7. Final类中的属性和方法都必须被final修饰符修饰。(F) 静态的必须被静态的修饰符修饰
8.最终类不能派生子类,最终方法不能被覆盖。(T) 9.子类要调用父类的方法,必须使用super关键字(F)。 10.一个Java类可以有多个父类。(F)
11、 Java中,如果类C是类B的子类,类B是类A的子类,则C不仅继承了B
中的成员,同样也继承了A中的成员。(T)
12、文本区和文本框都能引发两类事件:文本改变事件和动作事件。(T) 13、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。(F) 抽象类中的方法必须有抽象方法,也可以有非抽象方法
14、程序中一旦执行了catch语句块,则不会执行finally语句块。(F)
Finally语句块的作用就是为了保证无论出现什么情况,一定要执行的,那么finally里的code肯定会执行,并且是在return前执行.(只要语句执行了,肯定是在return前执行的.finally中也可以有return,并且会覆盖其他的return
根据java规范:在try_catch_finally中,如果try_finally或者catch_finally中都有
return,则两个return语句都执行并且最终返回到调用者那里的是finally中的return的值;而如果finally中没有return,则理所当然的返回的是try或者catch中的return的值,但是finally中的代码是必须要执行的,方法在return的时候并不是把它所拥有的那个值给返回了,而是复制一份返回.因此,对于基本类型的数据,在finally中改变return的值对返回值没有任何影响,而对于引用类型的数据就有影响)
15、接口Java.lang.runnable中只有一个run()方法。(T)多线程接口
(java.lang.runnable)线程接口runnable中只有一个抽象方法run,通过runnable接口中的方法的类即可创建出多线程
二、选择题:
1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( B )
A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其 他包中的该类的子类
B. 可以被两种类访问和引用:该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问
2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C ) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是( B )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问
4、下列关于修饰符混用的说法,错误的是( BD )
A. abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C. abstract方法必须在abstract类中 D. staic方法中能处理非static的属性
5、容器Panel和Applet缺省使用的布局编辑策略是( B )
A、Border Layout B、Flow Layout C、Grid Layout D、Card Layout
6、以下标识符中哪项是不合法的( C )
A、 Big Meaningless Name B、$int C、1 st D、$1
7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )
A、 public static void main() B、public static void main(String[ ] args) C、 public static int main(String[ ] arg)D、public void main(String arg[ ])
8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( A )
A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空
9、以下代码段执行后的输出结果为( B )
int x=3; int y=10; System.out.print ln(y%x); A、0 B、1 C、2 D、3
10、以下哪个表达式是不合法的( B )
A、String x=”Hello”; int y=9; x+=y;
B、String x=”Hello”; int y=9; if(x= =y) { } C、String x=”Hello”; int y=9; x=x+y;
D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 0
11、在JAVA的异常处理模型中,能单独和finally语句一起使用的块是( A )。
A、try B、catch C、throw D、throws
12、下列关于修饰符混用的说法,错误的是( BD)
A、abstract不能与final并列修饰同一个类 B、abstract类中不可以有private的成员 C、abstract方法必须在abstract类中 D、staic方法中能处理非static的属性
13、以下关于布局的说法,错误的是( C )p159
A、 Border Layout是边框布局,它是窗体的默认布局 B、 null是空布局,它是面板的默认布局
C、 Flow Layout是流布局,这种布局将其中的组件按照加入的先后顺序从左向右排列, 一行排满之后就转到下一行继续从左至右排列 D、 Grid Layout是网格布局,它以矩形网格形式对容器的组件进行布置。容
器被分成大小相等的矩形,一个矩形中放置一个组件
14、如果需要从文本文件中读出数据,则可以在程序中创建哪一个类的对象A A、FileInputStream B、FileOutputStream C、DataOutputStream D、FileWriter
三、程序阅读题:
1、阅读以下程序,输出结果为 1.23 。
class Q1{ public static void main(String args[]){ double d=1.23; Dec dec=new Dec( ); dec.decrement(d); System.out.print ln(d); }
class Dec{ public void decrement(double dec Me){ dec Me = dec Me - 0.1;
}
}
2、以下程序的输出结果为 value is Hello 。 public class Short{ public static void main(String args[ ]) { StringBuffer s = new StringBuffer(“Hello”);//StringBuffer是字符串变量 if((s.length( )>5)&& (s.append(“there”) . equals(“False”))) ; System.out.println(“value is ”+s); } }
3、以下程序段的输出结果为 Message four 。 int x=0,y=4, z=5; if ( x>2){ if (y<5){ System.out.println(“Message one”); } else { System.out.println(“Message two”); } }
else if(z>5){ System.out.println(“Message three”); } else { System.out.println(“Message four”); }
4、以下程序段的输出结果为 Value is two. Value is three. int j=2; switch ( j ) { case 2: System.out.print(“Value is two.”); case 2+1 : System.out.println(“Value is three.”); break; default: System.out.println(“value is “+j); break; }
5、以下程序段的输出结果为
正常:d=20 异常处理结束! 算术异常
异常处理结束! 正常:d=5
异常处理结束! 下标越界异常! 异常处理结束!
。 public class E3{
public static void main(String args[]) { int array1[]={5,0,20}; for(int i=0;i<=array1.length;i++) { try{ int d=100/array1[i]; System.out.println(\正常:d=\ catch(ArithmeticException e) {System.out.println(\算术异常\ catch(ArrayIndexOutOfBoundsException e){System.out.println(\下标越界异常!\ finally {System.out.println(\异常处理结束!\\n\}}
四、程序编程题:
1、编写一个Applet程序,利用Graphics类可绘制的图形:直线、直角矩形、圆角矩形、多边形、圆和椭圆,各个图形的坐标可以自定义。
import java.awt.*;
import java.awt.event.*;
public class GraphicsTest extends Frame{
private class WindowCloser extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0); } }
public GraphicsTest() {
super(\); setSize(200,200); setVisible(true);
addWindowListener(new WindowCloser()); }
public void paint(Graphics g) {
g.setColor(Color.black); g.drawLine(10,40,30,40); g.setColor(Color.blue); g.drawRect(30,40,100,200); // g.setColor(Color.red);
// g.drawPolygon();//封闭的多边形 g.setColor(Color.yellow); g.drawOval(40,60,100,200); }
public static void main(String args[]) {
GraphicsTest x= new GraphicsTest(); } }
2、编写一个Applet程序,包括一个标签对象prompt和一个按钮对象btn,实现ActionListener接口,监听并处理btn引发的动作事件。要求当单击按钮时,标签对象上的字符发生改变。
3、编写一个Application或者Applet程序,包含一个TextField对象tf和一个Text Area对象ta,实现了Text Listener接口和Action Listener接口,要求当用户在tf中
输入或修改文本时,在tf文本区域中可以得到一个同步的拷贝。当用户在tf中输入回车时将tf中的文本清空。
4、创建一个标题为“按钮”的窗框,窗框中显示有“按下我”字样的按钮。
4解:
import java.awt.*;
public class A extends Frame { private Button B= new Button(\按下我\); public A() { super(\按钮\); add(B); pack(); setVisible(true); } public static void main(String args[]) { A C = new A(); } }
public class Point2D {
private int x; private int y;
public Point2D(int x,int y){ this.x=x; this.y=y; }
public void offset(int a, int b) {
x=x+a; y=y+b; }
共 6 页,第 6 页 static double Dist(Point2D p2d1,Point2D p2d2) {
System.out.println(\点p2d1\+\+p2d1.x+\+p2d2.y+\+\与点p2d2\+\+p2d2.x+\+p2d2.y+\+\之间的距离为\);
return(Math.sqrt((p2d1.x-p2d2.x)*(p2d1.x-p2d2.x)+(p2d1.y-p2d2.y)*(p2d1.y-p2d2.y))); }
public static class Point3D extends Point2D {
private int x,y,z;
Point3D(int x,int y,int z) {
super(x,y); this.x=x; this.y=y;
this.z=z; }
public void offset(int a, int b,int c) {
x=x+a; y=y+b; z=z+c; }
static double Dist(Point3D p3d1,Point3D p3d2) {
System.out.println(\点p3d1\+\+p3d1.x+\+p3d1.y+\+p3d1.z+\+\与点p3d2\+\+p3d2.x+\+p3d2.y+\+p3d2.z+\+\之间的距离为\);
return(Math.sqrt((p3d1.x-p3d2.x)*(p3d1.x-p3d2.x)+(p3d1.y-p3d2.y)*(p3d1.y-p3d2.y)+(p3d1.z-p3d2.z)*(p3d1.z-p3d2.z)));} }
public static void main(String[] args) {
Point2D p2d1 = new Point2D(1,2);
p2d1.offset(10, 11); //p2d1的平移量,即变换之后就变成了p2d1=(11,13)了。 // Point2D p2d2 = new Point2D(11,13); Point2D p2d2 = new Point2D(3,4); Point3D p3d1 = new Point3D(1,2,3);
p3d1.offset(2,3,4);//p2d1的平移量,即变换之后就变成了p3d1=(3,5,7)了。 Point3D p3d2 = new Point3D(2,3,4); double p1,p2; System.out.println(Point2D.Dist(p2d1,p2d2)); System.out.println(Point3D.Dist(p3d1,p3d2)); } }
复数加减
import java.util.*; public class Complex { public int x,y;
Complex(int x,int y){ this.x=x; this.y=y; }
public static void showComp(int x,int y) {
if(y>=0)
System.out.println(x+\+y+\); else
System.out.println(x+\+(-y)+\); }
public static void addComp(Complex C1,Complex C2){
// System.out.println((C1.x+C2.x)+\ showComp(C1.x+C2.x,C1.y+C2.y); }
public static void subComp(Complex C1,Complex C2){ showComp(C1.x-C2.x,C1.y-C2.y); }
public static void multiComp(Complex C1,Complex C2){ showComp(C1.x*C2.x-C1.y*C2.y,C1.x*C2.y+C1.y*C2.x); }
public static boolean equalComp(Complex C1,Complex C2) {
if((C1.x==C2.x)&&(C1.y==C2.y)) return true; else
return false; }
public static void main(String args[]) {
Complex C1 = new Complex(5,8); Complex C2 = new Complex(7,12); addComp(C1,C2); subComp(C1,C2); multiComp(C1,C2);
System.out.println(equalComp(C1,C2)); } }
Point3D:
class Point2D{ int x,y;
Point2D(int a,int b) {
x=a; y=b; }
void offset(int a,int b){ x=x+a; y=y+b; } }
public class Point3D extends Point2D{ private int z;
Point3D(int a,int b,int c){ super(a,b); z=c; }
Point3D(Point2D p2,int c){ super(p2.x,p2.y); z=c; }
void offset(int a,int b,int c){ x=x+a; y=y+b; z=z+c; }
//void distance(Point2D p,Point2D p2){} public static void main(String[] args){ Point2D p2d1= new Point2D(2,1);
Point2D p2d2= new Point2D(2,2); Point3D p3d1= new Point3D(2,1,1); Point3D p3d2= new Point3D(2,1,2); double cx,cy,dx,dy,dz; cx=p2d1.x-p2d2.x; cy= p2d1.y-p2d2.y;
正在阅读:
合肥学院JAVA期末考试复习题库12-20
教育培训机构创业计划书 207-19
点评书记抓党建讲话提纲09-07
《搭石》教学反思【优秀3篇】03-28
某局“迎七一学党章重温入党誓词”主题党日活动实施方案08-08
汽车营销案例分析题10-02
卫生行政执法文书常见问题分析 试题09-04
小学三好学生主要事迹04-14
培训期间互动游戏02-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 合肥学院
- 题库
- 期末
- 复习
- 考试
- JAVA
- 临床血液学检查(实验诊断学 1)
- 劳动人事学院专业和博导介绍 - 图文
- 解释《十数河图》《九宫洛书》
- 筋伤试题题库
- 备自投装置运行方式的分析及整组试验
- 三年级数学上册新编寒假作业(强烈推荐)(48)
- 小学五年级英语上册期末考试题及答案 - 图文
- 2017-2022年中国书写用纸行业深度分析与投资前景预测报告 - 图文
- 《现代数学与中学数学》考试答案
- 工作居住证相关材料
- 谈谈初中学生生物学习兴趣的培养
- 非公企业党建工作制度
- 江苏省东台中学2010届高三高考考前指导(数学)(含解析)
- 民俗学名词解释
- 实习二 营养缺乏所致疾病案例分析
- 教育卫生系统事业单位公示 - 图文
- 2018年第四季度入党积极分子思想汇报
- 易经中的智慧
- 文献检索考试题库
- 法华经指掌疏事义