10 下列不是InputStream子类的是__C____。
A、文件输入流FileInputStream B、对象输入流ObjectInputStream
C、字符输入流CharInputStream D、压缩文件输入流ZipInputStream
11 Java中没有CharInputStream流。
下列方法中可以用来创建一个新线程的是___C___。
A、实现java.lang.Runnable接口并重写start()方法
B、实现java.lang.Runnable接口并重写run()方法
C、继承java.lang.Thread类并重写run()方法
D、继承java.lang.Thread类并重写start()方法
解析:java.lang中的Thread类的典型构造方法为:
public Thread(ThreadGroup group,Runnable target,String name)
接口Runnable定义了run()方法;而Thread类本身也实现了Runnable接口,故创建线程有两种方法:
1、用实现Runnable接口的类的实例作target参数生成Thread类的实例
2、编写继承Thread类的类,并重写(override)run()方法
12 下列关于线程优先级的说法中,正确的是__C____。
A、线程的优先级是不能改变的 B、线程的优先级是在创建线程时设置的
C、在创建线程后的任何时候都可以设置 D、B和C
解析:Java语言中线程的优先级是用一个介于MIN_PRIORITY 和MAX_PRIORITY之间的整数来表示的。可以在创建线程后的任何时候修改线程的优先级。
13 下列代码中,将引起一个编译错误的行是__D____。
1)public class Test{
2) int m,n;
3) public Test(){}
4) public Test(int a){m=a;}
5) public static void main(String args[]){
6) Test t1,t2;
7) int j,k;
8) j=0;k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
A、第3行 B、第5行 C、第6行 D、第10行
解析:第10行代码中的参数数目比类Test的任何一个构造方法声明的形参都多,因此引起编译错误。
14 阅读下列代码后
public class Person{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
15 正确的说法是__A____。
A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出为零 D、输出为空
解析:由于数组arr声明时未用static关键字,而main()方法直接引用arr(而非通过Person的实例引用),将产生"非静态变量不能从静态上下文中引用"(non-static variable cannot be referenced from a static context)的编译错误。
16 某二叉树中度为2的结点有18个,则该二叉树中有 19 个叶子结点。
解析:二叉树的性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
17 问题处理方案的正确而完整的描述称为 算法 。
18 线程在生命周期中要经历5种状态,分别是新建状态、可运行状态、运行状态、___阻塞 或 Blocked___状态和终止状态。[NextPage]
19 请阅读下列程序代码,然后将程序的执行结果补充完整。
程序代码:
class throwsException
{
static void Proc(int sel) throws ArithmeticException,ArrayIndexOutOfBoundsException
{
System.out.println("In Situation"+sel);
if(sel==0){
System.out.println("no Exception caught");
return;
}
else if(sel==1){
int iArray[]=new int[4];
iArray[1]=3;
}
}
public static void main(String[] args)
{
try{
Proc(0);
Proc(1);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Catch"+e);
}finally{
System.out.println("in Proc finally");
}
}
}
执行结果:
In Situation0
no Exception caught
__In Situation1____
in Proc finally
解析:调用Proc(1)时,执行语句System.out.println("In Situation"+sel);控制台输出In Situation1。然后在if语句中执行sel==1分支,该分支中无任何输出语句。
当使用Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread的值是___false___。
表达式:r instanceof Thread的语义即"r是否为Thread的实例(instance)"。再看Thread的构造方法(Thread有许多构造方法,以下是最典型的构造方法,其它构造方法都是从下面的构造方法中"减掉"一些参数形成的):
Thread(ThreadGroup group, Runnable target, String name)
可见,Thread构造方法中没有类型为Thread的参数,故r不可能是Thread的实例
20 面向对象的语言将客观世界都看成由各种对象组成。具有共同特征和行为的对象组成类,类是变量和___操作___的集合体。
21 Random类中的nextInt(N)方法得到一个介于0至N-1之间的随机数,而平常用到的Math.random()是得到一个介于0与1之间的小数。
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|