《JAVA程序设计》期末考试试题(精选3套)
在日复一日的学习、工作生活中,我们会经常接触并使用考试题,考试题可以帮助学校或各主办方考察参试者某一方面的知识才能。大家知道什么样的考试题才是规范的吗?下面是小编整理的《JAVA程序设计》期末考试试题,欢迎阅读与收藏。

《JAVA程序设计》期末考试试题 1
一、 单选题
1、下列程序段执行后的结果是( )。
String s = new String("abcdefg");
for (int i=0; i
System.out.print(s.charAt(i));
}
A) aceg B) ACEG C) abcdefg D) abcd
2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).
A) 2 7 8 12 35 B) 12 35 8 7 2
C) 35 12 8 7 2 D) 8 7 12 35 2
3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。
File f = new File(填代码处);
file =new FileReader(f);
in=new BufferedReader(file);
A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt"
4、应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s1=new String("abc");
String s2=new String("abc");
boolean b1=s1.equals(s2);
boolean b2=(s1==s2);
System.out.print(b1+" "+b2);
A)true false B) false true C) true true D)false false
5、应用程序的main方法中有以下语句,则输出的结果是 ( )。
Hashtable hashtable=new Hashtable();
hashtable.put("x","12345");
hashtable.put("y","67890");
hashtable.put("a","abcde");
System.out.println(hashtable.get("a"));
A) a B) abcde C) 12345 D) 67890
6、下面语句的功能是( )。
RandomAccessFile raf2 = newRandomAccessFile("1.txt","rw" );
A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D) 以上说法都不对。
7、应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s="12345#aaa#bbb#67890";
int n=s.indexOf("#");
int k=s.indexOf("#",n+1);
int m=s.indexOf("#",k+1);
String s2=s.substring(m+1);
System.out.println(s2);
A) 123456 B) 67890 C) aaa D) bbb
8、下面程序段执行后b的值是( )。
Integerinteg =new Integer(9);
boolean b = integ instanceof Object;
A) 9 B) true C) 1 D) false
9、应用程序Test.java的源程序如下,在命令行键入:
java Test aaa bb c
回车后输出的结果是 ( )。
public class Test {
publicstatic void main(String args[]) {
int k1=args.length;
int k2=args[1].length();
System.out.print(k1+" "+k2);
}
}
A) 3 2 B)1 2 C) 1 3 D)3 3
10、应用程序的main方法中有以下语句,则输出的结果是 ( )。
int b[][]={{1}, {2,2}, {2,2,2}};
int sum=0;
for(int i=0;i
for(int j=0;j
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
A) 32 B)11 C) 2 D) 3
11、应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。
int[] x={125,21,5,168,98};
int max=x[0];
for(int i=1;i
if(x[i]>max)
max=x[i];
}
System.out.println(max);
A) 125 B) 5 C) 98 D) 168
12、程序Test.java编译运行后输出的结果是( )。
public class Test {
Strings1="java";
publicstatic void main(String args[]) {
intz=2;
Testt=new Test();
System.out.println(t.s1+z);
}
}
A) java2 B)2 C)没有输出结果 D)java
13、应用程序的main方法中有以下语句,则输出的结果是 ( )。
Strings1="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 的内容是( )。
import java.io.*;
public class Test {
publicstatic void main(String args[]) {
try{
Strings="ABCDE";
byteb[]=s.getBytes();
FileOutputStreamfile=new FileOutputStream("test.txt",true);
file.write(b);
file.close();
}
catch(IOExceptione) {
System.out.println(e.toString());
}
}
}
A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE
15、下面那些方法不是接口Collection中已声明的方法( )?
A)添加元素的add(Object obj) 方法
B)删除元素的remove(Objectobj)方法
C)得到元素个数的length()方法
D)返回迭代器的iterator()方法,迭代器用于元素遍历
二、多选题
1、下面main()方法的定义哪些是正确的( )?
A) publicstatic void main(String args[]) {} B) publicstatic void main(String[]) {}
C) publicstatic void main(String[] args) {} D)publicstatic void main(String [] x) {}
2、线程对象的生命周期中,通常经历下面哪些状态( )。
A)新建 B)运行 C)就绪 D)死亡
3、下面说法正确的是( )。
A) final 可修饰类、属性(变量)、方法。
B) abstract可修饰类、方法。
C) 抽象方法只有方法头,没有方法体。
D) 关键字final和abstract不能同时使用。
4、下面关于java中输入/输出流的说法正确的是( )。
A) FileInputStream与FileOutputStream类用读、写字节流。
B) Reader与Writer类用来读、写字符流。
C) RandomAccessFile既可以用来读文件,也可以用来写文件。
D) File类用来处理与文件相关的操作。
5、下面说法正确的是( )。
A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。
B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。
C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。
D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。
6、下面关于Java中异常处理try块的说法正确的是( )?
A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。
B) catch 块后必须有finally块。
C)可能抛出异常的.方法调用应放在try块中。
D)对抛出的异常的处理必须放在try块中
7、下面关于进程、线程的说法正确的是( )。
A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。
B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。
C)Java多线程的运行与平台相关。
D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。
8、关于BufferedReader类的readLine()方法,以下说法正确的是()。
A)方法readLine()每次读取一行数据。
B)方法readLine()每次读取一个字节。
C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。
D)如果读到流的末尾,该方法返回的结果为null。
三、程序阅读题
1、阅读下面的程序,回答问题(u问3分,v问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();
}
}
u画图表示程序运行后的图形界面。
v如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?
答案:
u
v接口名:ActionListener
接口中的方法:publicvoid actionPerformed(ActionEvent e)
2、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。
import java.util.*;
publicclass T {
public static void main(Stringargs[]) {
Set set = new TreeSet();
set.add(new Integer(10));
set.add(new Integer(5));
set.add(new Integer(15));
set.add(new Integer(5));
set.add(new Integer(10));
System.out.println("size =" + set.size());
Iterator it=set.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
}
}
u程序运行后输出的结果如何?
v说明java中的集合(Set接口)和映射(Map接口)的主要区别。
答案:
u
size = 3
5 10 15
vSet接口是不包含重复元素的集合;Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。
3、阅读下面的程序,并回答问题(u问3分,v问3分,共6分)。
import java.io.*;
public class Test {
public static void main(String args[]) throws IOException {
BufferedReader buf=new BufferedReader(
newInputStreamReader(System.in));
while(true) {
String str=buf.readLine();
if(str.equals("quit"))
break;
int x=Integer.parseInt(str);
System.out.println(x*x);
}
}
}
编译运行上面的程序:
u从键盘输入5,回车后输出的结果如何?
v从键盘输入quit,回车后程序执行情况如何?
答案:
u25
v终止应用程序的运行。
《JAVA程序设计》期末考试试题 2
1). applet的运行过程要经历4个步骤,其中哪个不是运行步骤?
A.浏览器加载指定URL中的HTML文件
B.浏览器显示HTML文件
C.浏览器加载HTML文件中指定的applet类
D.浏览器中的Java运行环境运行该applet
正确答案:B
2). 二维数组A[O,…,8][0,…,9],其每个元素占2字节。从首地址400开始,按行优先顺序存储,则元素A[8][5]的存储地址为( )。
A.570
B.506
C.410
D.482
正确答案:A
答案解析:A[8][5]元素存储的位置在第9行第6列,所以A[8][5]之前存储的个数应为8×10+5 = 85,这些元素占用的空间为85×2字节=170字节,所以A[8][5]的存储位置为400+170= 570。
3). 用于生产过程控制的系统,一般都是( ),它要求有对输入数据及时做出响应的.能力。
A.批处理系统
B.分时系统
C.实时系统
D.及时系统
正确答案:C
答案解析:用于生产过程控制的系统,一般都是实时系统,它要求有对输入数据及时做出反应(响应)的能力。由于环境和控制对象以及工作任务的不同,控制系统对计算机系统的要求也会不同,一般会对计算机系统的可靠性、封闭性、抗干扰性等指标提出要求。
4). Java语言的许多特点中,下列哪个特点是C++语言所不具备的?
A.高性能
B.跨平台
C.面向对象
D.有类库
正确答案:B
5). 在匹配器(Matcher)类中,用于寻找下一个模式匹配串的方法是( )。
A.static boolean matches()
B.boolean matcher .fi nd()
C.i nt matcher .start()
D.i nt matcher .end()
正确答案:A
答案解析:本题考查考生对Java 中的匹配器(Matcher)类的理解。Matcher 类用于将一个输入字符串i nput 和模式串pattern 相比较。Boolean matcher .fi nd()方法用于寻找下一个模式匹配串;i nt matcher .start()方法用于返回匹配串的一个起始索引整数值;i nt matcher .end()方法用于返回匹配串的一个终止索引整数值。而用于输入字符串与模式串比较的方法是static boolean matches(),选项A 正确。
6). J2EE和( )语言绑定。
A.C
B.C++
C.Java
D.汇编语言
正确答案:C
答案解析:J2EE的基础是J2SE,以Java为平台;而C语言用于ODBCAPI。由于两者不兼容,SUN公司才提出了JDBC作为Java几个平台与麴据库的标准连接。
7). 下列关于结构化设计原则的描述,错误的是
A.在块和进程的非正常出口处往往需要调用GOTO语句,使用GOTO语句使程序执行效率提高,但是滥用GOTO语句确实有害,应该避免使用GOTO语句。
B.程序设计时应该自顶向下,逐步求精。
C.程序设计时,应该将复杂问题进行模块化,就是将程序设计的总目标分解为若干个分目标,再进一步分解为具体的小目标。
D.在进行程序设计时,应该尽量在一行书写一条语句,尽量做到效率第一,清晰第二。
正确答案:D
8). 如果线程调用下列方法,不能保证使该线程停止运行的是( )。
A.sleep()
B.stop()
C.yield()
D.wait()
正确答案:C
答案解析:线程的方法中sleep()方法的作用是使比当前线程优先级低的线程运行。该方法使一个线程暂停运行一段固定时间。在休眠时间内,线程将不运行,低优先级的线程将有机会运行。yield()方法为只让给同等优先级的线程运行。如果没有同等优先级的线程是可运行状态,yield()方法将什么也不做,即线程将继续运行。stop()方法是强行终止线程。wait()方法是线程间交互的方法,是使一个线程停止运行,进入等待状态。
9). 开发软件时对提高开发人员工作效率至关重要的是( )。
A.操作系统的资源管理功能
B.先进的软件开发工具和环境
C.程序员的数量
D.计算机的并行处理能力
正确答案:B
答案解析:先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。
10). 信息隐蔽的概念与下述哪一种概念直接相关( )。
A.软件结构定义
B.模块独立性
C.模块类型划分
D.模拟耦合度
正确答案:B
答案解析:信息隐蔽的概念与模块独立性这一概念直接相关。
《JAVA程序设计》期末考试试题 3
选择题
1). 下面( )是合法的标识符。
A.$persons
B.2Users
C.*poi nt
D.this
正确答案:A
答案解析:本题考查Java 标识符的命名,属于考试重点内容,应该掌握。Java 中标识符的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java 中标识符不能以数字开头,所以选项B错误;不能以“*”开头,选项C错误;this 是专用标识符,具有专门的意义和用途,选项D 错误,只有选项A 正确。
2). 设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。
A.s =b
B.s>b
C.s
D.s>=b
正确答案:B
答案解析:顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[O]~R[n -1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mi d]. key>k,则说明待查找的结点只可能在左子表R[O]~R[mi d -1]中,我们只需在左子表中继续进行折半查找,若R[mi d]. key
3). 定义一个表示10个值为null的字符串数组,下面选项正确的是( )。
A.String []a;
B.String a[];
C.char a[10][];
D.String a[]=new String[10];
正确答案:D
答案解析:本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在Java中,字符char是基本类型,字符串String则是以对象的形式来表示的;选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串数组赋值,则默认为null。
4). Thread类中能运行线程的方法是( )。
A.resume()
B.start()
C.run()
D.init()
正确答案:C
答案解析:resume()是Thread类提供的用于线程控制的方法;start()是Thread类中的.方法,新建的线程不会自动运行,必须调用线程的start()方法才能运行该线程;run()是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run()方法开始执行的,就像Java应用程序从main()开始、Applet从init()开始一样;init()不是Thread类中的方法。
5). 在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送
A.调用语句
B.命令
C.口令
D.消息
正确答案:D
6). 下列的( )原始类型在使用流时可以互换。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
正确答案:B
答案解析:本题考查Java语言中字节类型的概念。在Java语言中,byte是字节类型,用1字节表示.boolean是布尔类型,用true和false表示,它们的表示方法并不一样,也不提供它们之间的转换,选项A错误。Java内部用整数来表示char,通常可以在方法调用和其他语句中互换使用char和int,选项B正确。char用2字节表示,byte字节类型用l字节表示,Java内部也不允许互换使用它们,选项C错误。String在Java语言中是一个类,它提供对字符串的一系列操作,而char是Java语言中的一个基本类型,它不是一个类,两者有本质的区别,故而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言中提供的类都是以大写字母开头,基本类型都用小写字母表示。
7). 下列说法中,不属于数据模型所描述的内容是( )。
A.数据结构
B.数据操作
C.数据查询
D.数据约束
正确答案:C
答案解析:数据模型所描述的内容包括三个部分
【《JAVA程序设计》期末考试试题】相关文章:
sun认证:java程序设计考试试题07-10
2017年java期末考试试题09-18
2016年java期末考试试题及答案10-08
计算机二级Java语言程序设计试题07-17
java试题及答案10-10
2017java期末考试参考试题07-29
计算机二级Java语言程序设计考试试题09-06