1.在 main() 方法中给出数组buffer和下标i,如果将此下标中的元素显示到控制台上,需要使用( )。
A.System.out.print (buffer[i]);
B.FileOutputStream fout = new FileOutputStream(this.filename);
C.FileInputStream fin = new FileInputStream(this.filename);
D.System.in.read(buffer)。
2.以下会产生精度丢失的类型转换是( )
A.float a=10
B.int a=(int)8846.0
C.byte a=10; int b=-a
D.double d=100
3.下面输出的结果为
public static void main(String args[]) {
System.out.println(14^3);
}
4.如果希望监听TCP端口9000,服务器端应该怎样创建socket?
A.new Socket(“localhost”,9000);
B.new ServerSocket(9000);
C.new Socket(9000);
D.new ServerSocket(“localhost”,9000);
5.Java 多线程有几种实现方法?( )
A.继承Thread类
B.实现Runnable接口
C.实现Thread接口
D.以上都不正确
6.下面程序输出的结果为
public class ExceptionTest
{
public void method()
{
try
{
System.out.println("进入到try块");
}
catch (Exception e)
{
System.out.println("异常发生了!");
}
finally
{
System.out.println("进入到finally块");
}
System.out.println("后续代码");
}
public static void main(String[] args)
{
ExceptionTest test = new ExceptionTest();
test.method();
}
}
7.下面程序输出额的结果为
public class Demo {
public static String sRet = "";
public static void func(int i)
{
try
{
if (i%2==0)
{
throw new Exception();
}
}
catch (Exception e)
{
sRet += "0";
return;
}
finally
{
sRet += "1";
}
sRet += "2";
}
public static void main(String[] args)
{
func(1);
func(2);
System.out.println(sRet);
}
}
8.下面程序输出的结果为
class Base{
public Base(String s){
System.out.print("B");
}
}
public class Derived extends Base{
public Derived (String s) {
System.out.print("D");
}
public static void main(String[] args){
new Derived("C");
}
}
9.下面哪些接口直接继承自Collection接口()
A.List
B.Map
C.Set
D.Iterator
10.下面有关servlet的层级结构和常用的类,说法正确的有?
A.GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
B.大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现
C.ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象
D.HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息
(1)A
在main中已经给出字节数组,直接System.out.print();输出即可。BC都是文件输出输入流,D是标准输入流,所以不符合题意。
(2)B选项,因为java语言的浮点类型默认是double类型,而不是float,所以是大范围到小范围,就损失了精度。
(3)13
按位异或符:相同取0,不同取1。11100011=1101十进制为13
(4)B
ServerSocket(int port)方法创建一个server socket 绑定一个端口
(5)AB
创建线程的方法
(1)直接定义一个类继承线程类Thread,重写run()方法,创建线程对象,调用线程对象的start()方法启动线程
(2)定义一个线程任务类实现Runnable接口,重写run()方法,创建线程任务对象,把线程任务对象包装成线程对象, 调用线程对象的start()方法启动线程
(3)定义一个线程任务类实现Callable接口,申明线程执行的结果类型;重写线程任务类的call方法,这个方法可以直接返回执行的结果
创建一个Callable的线程任务对象,把Callable的线程任务对象包装成一个未来任务对象FutureTask;把未来任务对象包装成线程对象,调用线程的start()方法启动线程
(6)进入到try块 进入到finally块 后续代码
若try-catch语言中有return,则保存return的值,执行finally,若finally中无return,则返回之前保存的return值,若finally中有return,则用finally中的return覆盖try-catch中的return
(7)1201
在catch捕获异常并最终指向finally语句时,其后面的不执行。
(8)编译错误
在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。
(9)AC
(10)正确答案: A B C D