java期末考试样卷及说明 要看啊
更新时间:2024-01-19 14:15:01 阅读量: 教育文库 文档下载
- 期末考试样卷是什么意思推荐度:
- 相关推荐
南京信息工程大学
滨江学院JAVA期末考试试卷
一、选择题
1. 如下哪个字符串是Java中的合法标识符?( A )
A、fieldname B、super C、3number D、#number 2. Java中main()函数的返回值是什么类型? ( D )
A、String B、int C、char D、void
3. 下列哪些语句关于Java内存回收的说明是正确的? ( C )
A、程序员必须创建一个线程来释放内存 B、内存回收程序允许程序员直接释放内存 C、内存回收程序负责释放无用内存
D、内存回收程序可以在指定的时间释放内存对象 4. 以下关于继承的叙述正确的是( B )。
A、在Java中一个类只能实现一个接口 B、在Java中类只允许单一继承
C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 5. Java Applet中的paint()方法使用哪种类型的参数? ( A )
A、Graphics B、Graphics2D C、String D、Color
6. 在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。 A、private B、protected C、private protected D、public 7. 下面( B )函数是public void example( ){...}的重载函数? A、public void example( ){...}
B、public void example( int m ){...} C、public void example2( ){...} D、public int example ( ){...}
8. 在浏览器中执行applet 程序,以下选项中的( A )方法将被最先执行。
A、init() B、start() C、destroy() D、stop() 9. 有程序片段如下,以下表示式的结果为true的是( B )。
Float s=new Float(0.1f); Float t=new Float(0.1f); Double u=new Double(0.1); A、s= =t B、s.equals(t) C、u.equals(s) D、t.equals(u)
10. 关于异常的含义,下列描述中最正确的一个是( C )。 A 程序编译错误 B 程序语法错误 C 程序运行时的错误 D 程序编译和运行时发生的错误
11. 类 Panel 默认的布局管理器是( B )。
A、BorderLayout
C、GridLayout
B、FlowLayout
D、CardLayout
12. 下面哪个方法与applet的显示无关? ( B )
A、update() B、draw() C、repaint() D、paint() 13. 已知如下代码:
public class Test{
public static void main ( String arg[] ) {
long a[] = new long[10]; System.out.println ( a[6] ); } }
请问哪个语句是正确的? ( B )
A 程序输出 null B 程序输出 0 C 因为long[]数组声明不正确,程序不能被编译
D 程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常 14. Java语言不是( C ) ..
A、高级语言
C、结构化设计语言
public class ArrayTest {
public static void main(String args[]) { try {
int x[]=new int[-5];
System.out.println(\此行将无法被执行!\ } catch(NegativeArraySizeException e) {
System.out.println(\数组下标不能为负数。\ } } }
B、编译型语言
D、面向对象设计语言
15. 关于以下程序段的说明正确的是 ( C )
A、编译通过,输出: 此行将无法被执行! B、编译通过,输出: 此行将无法被执行!
exception: 数组下标不能为负数。 C、编译通过,输出:
exception: 数组下标不能为负数。 D、编译不能通过
16. Java源文件和编译后的文件扩展名分别为( B )。
A、.class和 .java B、 .java和 .class C、.class和 .class D、 .java和 .java 17. 以下有关构造函数的说法,正确的是:( A )。 A、一个类的构造函数可以有多个 B、构造函数在类定义时被调用
C、构造函数只能由对象中的其它方法调用
D、构造函数可以和类同名,也可以和类名不同
18. 为类Employee中的一个无形式参数且无返回值的方法method书写方法头,以便使用
类名Employee作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为( A )。
A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 19. 下列代码的执行结果是: ( C )。
public class Test5{
public static void main(String args[]){ String s1=new String(\ String s2=new String(\ System.out.print(s1==s2); System.out.print(\
System.out.println(s1.equals(s2)); } }
A、true,false C、false,true
B、true,true D、false,false.
D、sizeof
20. 下列不是Java关键字的是( D )。
A、 final B、 finally C、null
21. 以下( C )是java.io包中的一个兼有输入输出功能的类。
A、Object B、Serializable C、RandomaccessFile D、java.io中不存在这样的类
22. 下面哪个语句正确地声明一个整型的二维数组? ( D )
A int a[][] = new int[][];
B int a[100][100] = new int[][];
C int []a[] = new int[100][100]; D int a[][] = new int[100][100];
23. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名
为( B )。
A .java B.class C .html D .exe 24. 为读取的内容进行处理后再输出,需要使用下列哪种流? ( D )
A Filestream B Pipestream C Randomstream D Filterstream 25. 下列方法中可以用来创建一个新线程的是。( C )
A 实现java.lang.Runnable 接口并重写 start()方法 B 实现java.lang.Runnable 接口并重写 run()方法 C 继承java.lang.Thread 类并重写 run()方法 D 实现java.lang.Thread 类并实现 start()方法 26. 给出如下初始化语句
String s1=new String(“Hello”); String s2=new String(“there”); String s3=new String(); 以下哪种操作是合法的? ( A ) A s3=s1+s2; B s3=s1-s2; C s3=s1&s2; D s3=s1&&s2;
27. 容器Panel和Applet缺省使用的布局编辑策略是( B )
A BorderLayout
B FlowLayout
C GridLayout D CardLayout 28. 给出如下代码:
class Test{ private int m;
public static void fun() { // some code... } }
如何使成员变量m 被函数fun()直接访问? ( C ) A将private int m 改为protected int m B将private int m 改为 public int m C将private int m 改为 static int m D将private int m 改为 int m
29. 以下有关类的继承的说明中正确的是:( D )
A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B子类只能继承父类的方法,不能继承父类的属性 C子类只能继承父类的非私有属性,不能继承父类的方法 D子类不能继承父类的私有属性 30. 以下语句有语法错的是:( A )
A int x=1;y=2;z=3 B for (int x=10,y=0;x>0;x++); C while (x>5); D for(; ;); 二、简答题
1、 请说明this,super,final各自的作用。
答:
this:①指代调用方法的当前对象;
②在构造函数内使用this用于指代另外一个构造函数
super:提供了一种调用父类构造函数的方法。 final:使得某个变量值只能被引用,而不能修改。 2、 试解释方法重构和方法重载的区分。
P63
3、 请解释面向对象程序设计相关的几个概念:继承、 多态、 重载。
继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表
述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 ??
多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性
和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 ??
重载方法:在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表
不同,Java就会将它们看做唯一的方法。 简单的说:一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。 4、 请说明抽象类和接口的异同点。
P95
5、 实例变量与局部变量的区别
P50
三、阅读程序
1. 以下程序段的输出结果为 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]
2. 编程填空(将横线上所缺的内容补充完整)
下列程序中(Assign.java),指定变量b=50为字节类型,变量f=0.55F为单精度实型,变量k=0xfffL为64位整型,并将该三个变量打印输出,请将程序补充完整。(每空1分) import java.io.*;
public ___class____ Assign
{
public static void main(String args[])
{
___byte____b=50; ___float__f=0.55F; ___long____k=0xfffL; System.out.println(\ System.out.println(\ System.out.println(\ } }
3. 写出以下程序的运行结果 。
no Exception Finally Catch Finally
public class TryCatchFinally{
static void Proc( int sel ){
try{
if( sel==0 ){
System.out.println(\
}
}
public static void main( String args[] ){
} }
4. 阅读以下程序,写出输出结果 Animal Dog 。
class Animal{
Animal( ){ System.out.print (\ \}
public class Dog extends Animal{ Dog( ){ System.out.print (\ }
public static void main(String[] args){
Dog snoppy= new Dog( );
return;
else if( sel==1 ){ int i=0; int j=4/i;}
}
catch( ArithmeticException e ) {
System.out.println(\
catch( Exception e ) {
System.out.println(\
finally{
System.out.println(\
}
Proc( 0 ); Proc( 1 );
} }
5. 阅读以下程序:
class Exp1 { public static void main(String[] args) { String s,s1=\ char c; s=args[0]; for (int i=0;i
若在dos命令行输入:java Exp1 DEFabc,则输出为 defABC 。
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(\ break;
int x=Integer.parseInt(str); System.out.println(x*x); } } } 编译运行上面的程序:
1)从键盘输入10,回车后输出的结果为 100 。
2)从键盘输入exit,回车后程序能正确执行吗?为什么?不能,exit不能装换成数字
四、编程题
1、 写出一个Point(点)类,该类具有x, y(表示点的横、纵坐标)两个属性,并定义两个构
造方法,一个无参数,将x,y均设置为0,另一对坐标值为参数,设置x,y为给定坐标值。在类中设计一个show方法,实现输出该类对象的坐标值。 package zjw;
public class Point{ int x,y; Point() {
x=0;y=0; }
Point(int a,int b) {
this.x=a; this.y=b; }
public void show() {
System.out.println(\该类x坐标值为\+this.x); System.out.println(\该类y坐标值为\+this.y); } }
package zjw;
public class test1{
public static void main(String[] args) { Point p=new Point(1,16); p.show(); } }
2、 假设我们从键盘输入一段英文,统计这段文字中单词的个数,并输出其中由四个字母组
成的单词。
package zjw;
import java.util.*; import java.io.*;
public class test2{
/*从键盘中读取一行字符串 */
public static String readString() {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in),1);
String string =\; try {
string =br.readLine(); }catch(IOException ex) {
System.out.println(ex); }
return string; }
public static void main(String[] args) { // TODO 自动生成方法存根 String line;
StringTokenizer token; int num=0;
System.out.print(\请输入一行字符:\); line=readString();
token=new StringTokenizer(line); int tl=token.countTokens(); String[] str=new String[tl]; for(int i=0;i str[i]=token.nextToken(); } System.out.println(\您输入的文字中单词的个数为:\+str.length); System.out.println(\有四个字母组成的单词为:\); for(int i=0;i if(str[i].length()==4) { System.out.println(str[i]); } } } } 3、 从键盘输入一行文本,显示其中各元音字母出现的次数。 package zjw; import java.util.*; import java.io.*; public class Test3{ /*从键盘中读取一行字符串 */ public static String readString() { BufferedReader br=new InputStreamReader(System.in),1); String string =\; try { string =br.readLine(); }catch(IOException ex) { System.out.println(ex); } return string; } public static void main(String[] args) { // TODO 自动生成方法存根 String line; System.out.print(\请输入一行字符:\); line=readString(); System.out.print(\); int numa=0,numi=0,nume=0, numu=0,numo=0; int length=line.length(); for(int i=0;i switch(line.charAt(i)){ case 'a': case 'A': numa++; break; case 'i': case 'I': numi++; break; case 'u': case 'U': numu++; break; case 'e': case 'E': nume++; break; case 'o': case 'O': BufferedReader(new numo++; break; default: break; } } System.out.println(\元音a出现的次数为:\+numa); System.out.println(\元音i出现的次数为:\+numi); System.out.println(\元音e出现的次数为:\+nume); System.out.println(\元音u出现的次数为:\+numu); System.out.println(\元音o出现的次数为:\+numo); } } 4、 编写程序计算12+22+32+42+??+972+982+992+1002的值并输出。 package zjw; public class test4{ public static void main(String[] args) { } 5、 编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小 的排序。 package zjw; public class test5{ public static void main(String[] args) { int i , j ; int a[]={20,10,50,40,30,70,60,80,90,100}; 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; } // TODO 自动生成方法存根 int i,sum=0; for(i=1;i<=100;i++) { sum+=i*10+2; } System.out.print(sum); } for ( i =0 ; i
正在阅读:
java期末考试样卷及说明 要看啊01-19
高考诗歌鉴赏讲义03-22
写作个性差异和因材施教-范文03-17
10种埋没潜能的生活方式11-18
冲孔灌注桩施工质量问题及治理方法05-08
“因材施教,分层教学”行动计划05-30
治疗血液病新技术-血系激活重建疗法01-26
2017给企业员工家属的新年慰问信03-10
讲农民爱听的故事聊农民关心的话题——连云港电视台《李华走乡村》08-09
燃煤锅炉工程施工方案05-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试样
- 期末
- 说明
- java