Java程序设计期末考试题.docx
- 文档编号:27134606
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:17
- 大小:21.53KB
Java程序设计期末考试题.docx
《Java程序设计期末考试题.docx》由会员分享,可在线阅读,更多相关《Java程序设计期末考试题.docx(17页珍藏版)》请在冰豆网上搜索。
Java程序设计期末考试题
Java程序设计期末考试题
一、选择题
下列说法中,不正确的是(A)
A)一个java源程序编译通过后,得到的结果文件数也只有一个。
B)一个java源程序经过编译后,得到的文件的扩展名一定是.class。
C)一个java源程序只能有一个publicclass类定义,且源文件的名字与publicclass的类名相同,扩展名必须是.java。
D)一个java源程序可以包含多个class类。
请问,以下哪些描述是正确的?
请选择所有正确答案:
(1)如果package语句存在,则必须出现在源文件的非空白首行。
(2)如果import语句存在,则必须出现在源文件的非空白首行。
(3)如果main()方法存在,则必须出现在源文件的非空白首行。
(4)如果在源文件中声明了一个public接口,则其名称必须和源文件名一致。
请问,以下哪些是Java中的合法标识符?
请选择所有正确答案:
(1)my-id
(2)my_id
(3)101ids
(4)id101
请问,以下哪些是合法的标识符?
请选择所有正确答案:
(1)%abcd
(2)$abcd
(3)1abcd
(4)package
(5)_a_long_name
以下哪个不是Java的关键字?
()
A、FALSEB、constC、thisD、void
以下哪个不是Java的关键字?
()
A、TRUEB、goto
C、thisD、void
Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16
C、32D、64
请问一下哪些修饰符用于声明一个常量?
请选择一个正确答案:
(1)static
(2)final
(3)abstract
(4)public
给出以下代码,该程序的运行结果是什么?
publicclassExample{
finalintx=0;
Example(){
x=1;
}
finalintaMethod(){
returnx;
}
}
请选择所有正确答案:
(1)代码编译错误,因为非final类中存在final方法。
(2)代码编译成功。
(3)代码编译错误,因为代码中对一个final变量x有改变其值的操作。
(4)代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。
(5)代码编译错误,因为final修饰符只能修饰方法不能修饰变量,因此语句finallintx=0错误.
给出以下代码,请问该程序的运行结果是什么?
1.publicclassExample{
2.privatefinalinti=10;
3.privatebytek=i;
4.privatestaticvoidmain(Stringargs[]){
5.System.out.println(k);
6.}
7.}
请选择一个正确答案:
(1)代码在第2行编译错误
(2)代码在第3行编译时发出变量k不精确警告。
报错是是因为k和i没有声明static,而不是不精确警告。
(3)代码编译成功。
(4)代码编译成功,但在运行期第5行抛出异常。
给出以下代码,该程序的运行结果是什么?
publicclassExample{
finalintx=0;
Example(){
x=1;
}
finalintaMethod(){
returnx;
}
}
请选择所有正确答案:
1.代码编译错误,因为非final类中存在final方法。
2.代码编译成功。
3.代码编译错误,因为代码中对一个final变量x有改变其值的操作。
4.代码编译错误,如果去掉变量x前的final修饰符,可使代码编译通过。
给出以下代码,请问该程序的运行结果是什么?
classExample{
publicstaticvoidmain(Stringargs[]){
inta=5;
System.out.println(cube(a));
}
intcube(inttheNum){
returntheNum*theNum*theNum;
}
}
请选择一个正确答案:
(1)代码编译失败,因为方法cube()已经在java.lang.Math类上定义过。
(2)代码编译失败,因为方法cube()不是static方法。
(3)代码编译成功,但运行期抛出异常。
(4)打印输出125。
有代码如下,请补全:
publicclassExample{
publicenumColor{Red,Green,Blue};
publicvoidfoo(){
//在这里插入代码
System.out.println(c);
}
}
1.for(Colorc:
Color.values())
2.for(Colorc=RED;c 3.for(Colorc: c.hasNext();c.next()) 4.for(Colorc: Color[0];c 请问,以下哪些修饰符用于修饰变量,可使该变量属于类而不属于类实例? 请选择一个正确答案: (1)static (2)final (3)abstract (4)transient 设有下面两个类的定义: classPerson{ longid;//身份证号 Stringname;//姓名 } classStudentextendsPerson{ intscore;//入学总分 intgetScore(){ returnscore; } } 则类Person和类Student的关系是()。 A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误 对于以下类: classA{} classBextendsA{} classCextendsA{} publicclassTest{ publicstaticvoidmain(Stringargs[]){ Ax=newA(); By=newB(); Cz=newC(); //此处插入一条语句 } } 下面哪个语句可以放到插入行? () A)x=y;B)z=x;C)z=(C)y;D)y=(A)y; 给出以下代码,请问插入以下哪些语句可以满足对插入语句的要求? publicclassT{ intr; ints; T(intx,inty){ r=x; s=y; } } classSextendsT{ intt; publicS(intx,inty,intz){ //插入代码处: 要求插入代码实现r=x,s=y t=z; } } 请选择一个正确答案: (1)T(x,y); (2)this(x,y); (3)super(x,y); (4)super(x,y,z); (5)以上均不对。 请问以下哪些关于构造器的描述是正确的? 请选择所有正确答案: (1)子类可以继承父类的构造器。 (2)如果没有提供任何构造器,编译器自动为类提供一个无参的默认构造器。 (3)构造器的返回类型均为void。 (4)构造器可以抛出异常。 --------------------------------------------------------------------- 请问,以下哪些是有关方法覆盖的正确描述? 请选择所有正确的答案: 1.覆盖的方法和被覆盖的方法具有相同方法名、参数列表和返回类型。 2.覆盖的方法的访问范围声明不能比被覆盖的方法的访问范围小。 3.覆盖的方法不能抛出被覆盖的方法不能抛出的异常。 4.被覆盖的方法不能被private修饰。 在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。 A、privateB、protected C、privateprotectedD、public 已经声明了类“publicclassThimplementsRunnable”,下面哪条 语句可以启动该类型的线程? A.Threadt=newThread(newTh());t.start(); B.newTh.start(); C.Tht=newTh();t.start(); D.Tht=newTh();t.run(); 给出以下代码,请问该程序的运行结果是什么? 1.classExample{ 2.publicstaticvoidmain(Stringargs[]){ 3.Objecto=newString("abcd"); 4.Strings=o; 5.System.out.println(s); 6.System.out.println(o); 7.} 8.} 注意: 第四行是错误的,必须将o强制转换成String类型 abcd abcd 请选择一个正确答案: (1)打印输出abcd和abcd (2)代码编译失败,第3行发生错误。 (1)代码编译失败,第4行发生错误。 (2)代码编译失败,第6行发生错误。 三、判断题 1.在Java中一个类不能同时继承一个类和实现一个接口。 F 2.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 T 3.接口ActionListener所对应的事件适配器是ActionAdapter.F 4.构造方法是类的一种特殊方法,它的方法名必须与类名相同。 T 5.在一个Java源程序文件中,可以有多个public类。 F 6.Java语言含有指针。 F 7.Java程序编译之后所生成文件的扩展名为“.java”。 F 8.假设有一个Java源程序文件,它只定义了一个具有public属性的类Hello,那么编译该文件的命令是“javacHello”。 F 9.BorderLayout使用"东","西","南","北","居中"来指定组件的位置。 T 10.构造方法一般不允许返回任何值,但也不允许标注void。 T 11.要启动一个线程需要调用Thread的方法start.在运行完start之后,该线程就处于运行态了。 F 12.当执行到同步语句“synchronized”的语句块时,引用类型表示式所指向的对象就会被锁住,不允许其他线程对其进行访问,即当前的线程独占该对象。 T 13.抽象类可以实例化,但不能被继承;最终类不能实例化,可以被继承。 F 14.Java语言不含有指针与析构方法,所以Java程序只有在结束运行时,才能释放所占用的内存。 F 15.Java语言是不区分大小写的。 F 16.Java程序源文件的扩展名为“.jar”。 F 17.Frame是顶层容器,要使得Frame对象可见必须调用方法setVisible(true)。 T 18.以//开始的是多行注释语句。 F 19.在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。 F 20.在Java中一个类只能实现一个接口。 F 21.在同一个类中,允许存在具有相同方法名和相同参数列表的方法,只要这些方法的返回类型不相同。 T 30.对于数组int[][]t={{1,2,3},{4,5,6}};来说,t.length等于3,t[0].length等于3.F32.抽象方法不能含有方法体,并且必须在抽象类中。 F 33.Math类中的方法round()的功能是返回与参数最近的整数即: 四舍五入后取整。 T 34.已知intt=64000在语法上正确,则shorts=640000呢? F 36.Java数组中可以放入任何类型的数据。 T 39.Java程序分成应用程序和小程序两类,一个Java程序有可能既是应用程序,又是小程序。 T 41.java.lang包是Java程序自动导入的,因此可以直接用其中的类和接口;位于类继承关系层次结构的根部的类Object就在此包中。 T 42.有时候为了避免引起混淆,构造方法名可以不与所属的类名同名。 F 43.以/*开始,*/结束的是单行注释。 F 四、填空题 1.Java语言通过__垃圾回收__机制简化了程序的内存管理。 2.String类和StringBuffer类都被定义为_最终类___,不能有子类。 3.建立Java开发环境,一般需要设置环境变量: _path__和_classpath___. 4.在Java程序中,每一行_//___之后的内容是程序的注释,另外介于__/*__和_*/___之间的内容也是注释。 5.设有一个Java应用程序,其源程序文件名为J_Test.java,则编译该源程序的命令为___javac__,运行该应用程序的命令为__java___. 6.接口中定义的常量默认具有_public____staticfinal的属性 接口中定义的方法默认具有publicabstract的属性 7.数组对象的长度在数组对象创建之后,就__不能___改变,数组元素的下标总是从__0__开始。 已知数组a的定义是inta[]={1,2,3,4,5};则a[2]=__3__。 已知数组b的定义是intb[]=newint[5];则b[2]=__0___;已知数组c的定义是Objectc[]=newObject[5];则c[2]=_null___。 8.在Java语言中,字符串常量是用__双引号__括起来的字符序列,字符串不是字符数组,而是类__String___的实例对象。 9.接口ActionListener的方法actionPerformed的返回值类型是__void__. 10.接口MouseMotionListener的方法mouseDragged的参数类型是_MouseEvent_____. 11.请填写下面两处的空白,使得下面的方法产生一个异常: voidmethod()__throwsException______ { ___throw___newException(“exception”); } 12.Java语言中,有一个类是所有类或接口的父类,这个类的名称是_Object____。 13.在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有___1___个。 14.编译一个定义了两个类和三个方法的Java源文件,总共会产生__2___个字节码文件,这些字节码文件的扩展名是____.class___. 15.Java标识符是由字母、__$__、____下划线_和___数字__组成,其中__数字___不能放在开头 16.Java字符采用的是ISO规定的_unicode___字符。 17.面向对象程序设计语言支持两种形式的多态: ____编译时多态___和_运行时多态____。 18.在Java语言中,Java.lang包中定义了三种字符串类: String_、_StringBuilder_和__StringBuffer__。 六、编程题 1.请编写程序,实现对数组inta[]=newa[5];从键盘随意输入5个值,进行从小到大排序,并在控制台窗口输出排完序的结果。 importjava.util.*; publicclassNum1_Sort{ publicstaticvoidmain(Stringargs[]){ int[]a=newint[5];//定义一个大小为5的整型数组 inttemp;//临时变量 Scanners=newScanner(System.in); //输入5个整数 for(inti=0;i a[i]=s.nextInt(); } //冒泡排序 for(inti=0;i for(intj=1;j if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } //输出打印 for(inti=0;i System.out.print(a[i]+""); } } } 2.请编写应用程序,要求包含一个窗口,并且要求利用窗口事件相应,实现窗口的关闭。 importjava.awt.*; importjava.awt.event.*; publicclasswinClose{ publicstaticvoidmain(Stringargs[]){ Framef=newFrame("这是一个窗口"); f.addWindowListener(newWindowAdapter(){//定义匿名类 publicvoidwindowClosing(WindowEvente){ System.exit(0); } }); f.setVisible(true); } } 3.编写一个完整的JavaApplication程序。 包含接口ShapeArea,类Circle、Test,具体要求如下: ⑴接口ShapeArea: ①接口方法 doublegetArea(): 求一个形状的面积 doublegetPerimeter(): 求一个形状的周长 ⑵类Circle: 实现ShapeArea接口,并有以下属性和方法: 1属性 radius: double类型,表示圆的半径 2方法 Circle(doubler): 构造函数 toString()方法: 输出圆的描述信息,如“radius=1.0,perimeter=6.28,area=3.14” ⑶Test类作为主类要完成测试功能 1生成Circle对象 ②调用对象的toString方法,输出对象的描述信息 interfaceShapeArea{ publicdoublegetArea();//返回形状面积 publicdoublegetPerimeter();//返回形状周长 } classCircleimplementsShapeArea{//实现接口 doubleradius; Circle(doubler) { this.radius=r; } publicdoublegetArea(){ return3.14*radius*radius; } publicdoublegetPerimeter(){ return2*3.14*radius; } publicvoidtoStr(){//打印输出 System.out.print("radius="+radius+",perimeter"+getPerimeter()+",area"+getArea()); } } classTest{ publicstaticvoidmain(Stringargs[]){ Circlec=newCircle(2.0); c.toStr(); } } 4.用二维数组存放、打印杨辉三角型 classDemo{ publicstaticvoidmain(Stringargs[]){ inti,j; intLevel=7; int[][]iaYong=newint[Level][]; System.out.println("杨辉三角形"); for(i=0;i iaYong[i]=newint[i+1];//定义二维数组的第i行有i+1列 } iaYong[0][0]=1; for(i=0;i iaYong[i][0]=1; for(j=1;j iaYong[i][j]=iaYong[i-1][j-1]+iaYong[i-1][j]; iaYong[i][iaYong[i].length-1]=1; } for(int[]row: iaYong){ for(intcol: row) System.out.print(col+""); System.out.println(); } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 期末 考试题