1JavaSE考试题参考答案剖析_学4个月java找工作
时间:2020-07-20 20:20:18 来源:天一资源网 本文已影响 人
JavaSE考试题 )150分钟(时间
选择题() 分75一.
1.在Java中负责对字节码解释执行的是( B )
A. 垃圾回收器
B. 虚拟机
C. 编译器
D. 多线程机制
2.BufferedReader的父类是( B )
A. FileReader
B. Reader
C. PipedReader
D. InputStreamReader
3.在读字符文件Post.dat时,使用该文件作为参数的类( A )
A. BufferedReader
B. DataInputStream
C. DataOutputStream
D. FileInputStream
4.下列不是InputStream子类的是( C )
A. FileInputStream
B. ObjectInputStream
C. CharInputStream
D. ZipInputStream
5.下列方法中可以用来创建一个新线程的是( D )
A. 实现java.lang.Runnable接口并重写start()方法
B. 实现java.lang.Runnable接口并重写run()方法
C. 继承java.lang.Thread类并重写start()方法
D. 继承java.lang.Thread类并重写run()方法
6.当启动Applet程序时,首先调用的方法是( B )
A. stop()
B. init()
C. start()
D. destroy()
7.序列化一个类时,如果要隐藏某个成员,使之在反序列化时不能看到搞成员的真实
数据,应当使用的关键字是( C )
hiddern
A.
B. private
C. transient
D. destroy
8.将键值对(key--value)保存到映射(Map)对象中的方法是( B )。
A.add(Object key,Object value)
B.put(Object key,Object value)
C.insert(Object key,Object value)
D.get(Object key,Object value)
9. 一个java Application 运行后,在系统中是作为一个( B )
A.线程
B.进程
C.进程或线程
D.不可预知
10.下列关于线程调度的叙述中,错误的是:( D )
A. 调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
B. 调用线程的yield()方法,只会使与当前线程相同优先级的线程获得运行机会
C. 当有比当前线程优先级高的线程出现时,高优先级的线程将抢占CPU并运行
D. 具有相同优先级的多个线程的调度一定是分时的.
11.下列关于线程优先级别的说法中,正确的是( C )
A. 线程的优先级是不能改变的
B. 线程的优先级在创建线程时设定
C. 在创建线程后的任何时候都可以设置
D. B,C
12.实现一个线程的创建方法有几种( B )
A. 一种
B. 二种
C. 三种
D. 四种
13.下列关于泛型的说法,错误的是( B )
A、泛型是一种参数化类型
B、可以取代继承机制。
C、避免了运行时进行类型转换可能的潜在性错误
D、增强了程序的灵活性和安全性
14.以下那个是java.io包中一个兼有输入输出功能的类( C )
A. Object
B. Serializable
RandomAccessFile
C.
中不存在这样的类D. Java.io
) 15.要串行化某些类的对象,这些类就必须实现( A 接口A.Serializable 接口B.java.io.Comparable 接口.java.io.DataImputC 接口.DataOutputD
) D 数据库的JDBC驱动程序类名及其完整包路径为( 16.Oraclejdbc.driver.oracle.OracleDriver .Ajdbc.oracle.driver..OracleDriver .Bdriver.oracle.jdbc.OracleDriver .Coracle.jdbc.driver.OracleDriver D.
)
( C 17.下列数组a中,能够在程序运行时动态调整大小的是int[] a A.
String[] a
B.
A=new ArrayList() C.
A=new Array() D.
Java图形用户界面编程中,若显示一些不需要用户修改的文本信息18.在 类的对象来实现 )一般使用( A
Label .AButton .BTextArea .CTestField .D
) .WindowListener接口中,可以实现窗口关闭功能的方法是( A 19Public void windowClosing(WindowEvent e); A.Public void windowOpened(WindowEvent e); B.Public void windowClosed(WindowEvent e);
C.Public void windowDeactivated(WindowEvent e); D.
20.Panel默认的布局管理器是( C )
A.GridLayout
B.BorderLayout
C.FlowLayout
D.CardLayout
21.容器Frame使用的缺省布局编辑策略是( B )。
A.FlowLayout
B.BorderLayout
C.GridLayout
CardLayout
.D.
22.Socket类的那个方法返回Socket对象绑定的本地端口( B )
A.getPort()
B.getLocalPort()
C.getRemotePort()
D.不存在这样的方法,因为Socket对象绑定的本地端口对程序是透明的。
23.默认情况下,SocketChannel处于什么模式( A )
A.阻塞模式
B.非阻塞模式
24.对于以下代码:
int n=socketChannel.read(byteBuffer);//假设n>=0
byteBuffer.flip();
假定执行socket.read(byteBuffer)方法前,byteBuffer的容量、极限和位置分别为
c,1,p,则执行完以上代码后,byteBuffer的容量、极限和位置分别是多少?( B )
A.容量为c、极限为1,位置为p+n
B.容量为c、极限为p+n,位置为0
C.容量为l、极限为p+n,位置为0
D.容量为c、极限为p+n,位置为p+n
25.在服务器程序中,线程在那些情况下可能会进入阻塞状态?多选( CDE )
A.线程执行Socket的getInputStream()方法获得输入流
B.线程执行Socket的getOutputStream()方法获得输出流
C.线程执行ServerSocket的Accept()方法
D.线程执行Socket的输入流读取数据
E.线程执行Socket的输出流写一批数据
26.ServerSocketChannel可能会发生那个事件( A )
A.SelectionKey.OP_ACCEPT接收连接就绪事件
B.SelectionKey.OP_CONNECT连接就绪事件
C.SelectionKey.OP_READ读就绪事件
D.SelectionKey.OP_WRITE 写就绪事件
27.SocketChannel可能会发生那个事件(多选)( BCD )
A.SelectionKey.OP_ACCEPT接收连接就绪事件
B.SelectionKey.OP_CONNECT连接就绪事件
C.SelectionKey.OP_READ读就绪事件
D.SelectionKey.OP_WRITE 写就绪事件
28.下列程序的功能是在控制台上,每隔1秒钟显示字符串”Hello”,能够填写在程序中下划线位置,使程序完整,并能够正确运行的语句是( A )
public class Test implements Runnable{
public static void main(String[] args){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public void run(){
for(;;){
try{
__________
}
catch(_________ e ){}
System.out.println(“Hello”);
}
}
}
A. Thread. sleep (1000) InterruptedException
A. sleep (1000) InterruptedException
B. t. sleep (1000) InterruptedException
C. Thread. sleep (1000) RuntimeException
29.集合类保存在类包( A )
A java.util
B java.io
C java.lang
D java.text
30. 线程实现同步方法的关键字是( A )
A. synchronized
B. asynchronized
C. lock
D. locked
二.填空(4)
分01.集合分为___Collection___________和___Map________两个最顶端的接口。
2.获得集合中元素总数的方法是_size()_______。
3.线程在生命周期中要经历5种状态,分别是
新建状态、_可运行状态(或就绪状态)_、_正在运行状态__、阻塞状态和___死亡状态__。
4.如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头:___public MyFrame extends Frame_________
5.下面的类RandomEx从Random扩展,并为其添加一个public int nextInt(int min,int max)方法,以便产生min---max之间的随机数(包含下限min,但不包含上限max),试填空实现这个 功能。.
class RandomEx extends Random{
public int nextInt(int min,int max){
int result=nextInt( max-min )+( min );
return (result );
}
}
6.设表student的结构如下:
name varchar2(30),
age int,
salary number(6,2)
连接对象为conn,
String sqlUpdate=UPDATE studet SET salary = ?, age=? WHERE name = ?;
现要修改name=”东方人华”这个人的age=25,salary=3546.8,
写出用PreparedStatement 执行sqlUpdate语句的相关代码(按执行顺序)
PreparedStatement ps=null;
_ps= conn.prepareStatement(sqlUpdate) _______________;
__ps.setDouble(1,3546.8) ________________________;
__ps.setInt(2,25)___________________________;
___ps.setString(3,”东方人华”)_________________;
int affectRow=ps.executeUpdate();//执行,并返回影响的行数
7.假设数组 PPM中存放过去100天某地大气污染指数,下列方法计算过去100天该污染指数
每天在10以上(含10),并且连续出现3天以上(含3天)的次数
//例如: int[] PPM={5,2,10,15,16,15,3,5,6,17,18,17,20,31,20}; 应当返回2
请将程序补充完整。
static public int PpmCount(int[] PPM)
{
final int PpmValue=10; //污染指数临界值
连续出现的天数界限值 final int ConDays=3; // int TempConDays=0;
int GreatDays=0; //累计满足条件的天数 int Length=PPM.length;
for(int i=0;i<Length;i++)
{
) if( PPM[i]>=PpmValue 次数+1 TempConDays+=1; //
else
{
if( TempConDays>=ConDays )
GreatDays++;
( TempConDays=0 );
}
}
if(TempConDays>=ConDays)
GreatDays++;
return ( GreatDays );
}
下列方法convertToBinary()使用链式列表将十进制数n转换为二进制数,
.8 试填空完成之。
public class TestConvert {
public String convertToBinary(int n){
LinkedList stack=new LinkedList();
int m=n;
while(m!=0){
int remainder=( m % 2 )
char c=(char)('0'+remainder);
stack.addFirst(Character.valueOf(c));
m=( m/2 );
}
Iterator it=stack.iterator();
StringBuffer sb=new StringBuffer();
while(it.hasNext()){
char c=(Character)it.next();
sb.append( c );
}
return sb.toString();
}
}
三.编程题() 分351.设计一个线程,使得字符串”大连是一个美丽的海滨城市” 每隔1秒钟输出一个字符。
运行结果如下:(多行输出)
大
大连
大连是
……
大连是一个美丽的海滨城市
参考答案:
class WordDisplay extends Thread{
牰癩瑡?瑓楲杮琠硥?大连是一个美丽的海滨城市;
public void run(){
for(int i=1;i<=text.length();i++){
try{
System.out.println(text.substring(0,i));
sleep(1000);//休眠1s
}
catch(InterruptedException e){
e.print
}
}
}
}
或
class WordDisplay implements Runnable{
牰癩瑡?瑓楲杮琠硥?大连是一个美丽的海滨城市;
public void run(){
for(int i=1;i<=text.length();i++){
try{
System.out.println(text.substring(0,i));
sleep(1000);//休眠1s
}
catch(InterruptedException e){
}
}
}
}
2.编写BankAccount类,要求如下:
A. 该类由此款人姓名(String name ),存款余额(double balance),存期(int year)及年利
率(double rate)四个数据成员,其中年利率的默认值为0.03.
B. 该类有两个重载的构造方法.其中一个构造方法不含参数,设置默认的存款为
10元,存期一年;另一个构造函数包含二个用于创建对象时设置存款额与存期
的参数。
C. 该类有三个方法:存款(save),取款(fetch)及计算存期满后的总金额(calcTotal).
D. 创建一个账号fans,创建时即(利用构造函数)存入1000元,存期3年,后又存入
2000元(利用save方法),计算存期满后的总金额(利用calcTotal方法)
参考答案:
public class BankAccount {
private String name;//姓名(账号)
存款余额balance;// private double
private int year;//存期
private double rate=0.03;//年利率
//构造方法
public BankAccount(String name){
this(name,10.0,1);//默认存款10元,存期1 年
}
构造方法//
public BankAccount(String name,double deposit,int year){
=name;
this.balance=deposit;
this.year=year;
}
//存款
public void save(double deposit){
this.balance+=deposit;
}
//取款
public double fetch(double reduce) throws Exception{
if(this.balance>=reduce){
this.balance-=reduce;//余额
return reduce;
}
else{
桴潲?敮?硅散瑰潩?不能透支!);
}
}
//存期满后的总金额
public double calcTotal(){
double total=balance;
for(int i=1;i<=year;i++){
total=total*(1+rate);
}
return total;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//测试用
BankAccount fans=new BankAccount(
ans,1000,1);
fans.save(2000);
double totalMoney=fans.calcTotal();
System.out.println( otalMoney==>+totalMoney);
}
}
附加题(选作):
3.编写一个加密类Ecryption,在其中实现对字符串的加密和解密方法。加密原理是:
加密后的字符串的第一个字符是原字符串的最后一个字符,其余的每个字符是对应的原welcome'e' “,字符串中的前一个字符的值加上3。比如:“末尾的字符为“welcom““zhofrp““ezhofrp“ 故加密后的结果为,依次加上3后成为
参考答案:
class Ecryption{
//加密方法:输入明文,返回密文
public String encrypt(String source){
//加密代码
}
//解密方法:输入密文,返回明文
public String decrypt(String dest){
//解密代码
}
}
public class EncryptDecrypt {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String source=Apple12大连;
String dest=encrypt(source);
System.out.println(source+ 加密==>+dest);
String resultSource=decrypt(dest);
System.out.println(dest+ 解密==>+resultSource);
}
// 加密函数
static public String encrypt(String str){
StringBuilder result=new StringBuilder(str.substring(str.length()-1));//取最后一个字符放到结果字符串的开头
for(int i=0;i<str.length()-1;i++){
char c=(char)(str.charAt(i)+3);//取出第i个字符;
result.append(c);
}
return result.toString();
}
//解密函数
static public String decrypt(String str){
StringBuilder result=new StringBuilder();//取最后一个字符放到结果字符串的开头
for(int i=1;i<str.length();i++){
char c=(char)(str.charAt(i)-3);//取出第i个字符;
result.append(c);
}
result.append(str.charAt(0));//原来第一个字符到现在最后一个字符
return result.toString();
}
}
相关关键词: 美术生的高考试题,快来看看你能考多少分?不好意思,我满分 又是一年高考季,2018年汽车知识全国统一高考试题,请看题! 高考试题详细分析|2018全国卷1数学理科逐题解析 高考试题出来了,看了心理踏实了许多! 2011年成人高考试题