1.下面是findSum(int m,int n)方法的定义,方法调用findSum(1,5)的返回结果是( )
int findSum(int m, int n) {
int sum = 0;
for(int i = m; i <= n; i++){
sum += i;
}
return sum;
}
2.下列类定义中哪些是合法的抽象类的定义?()
A.abstract Animal{abstract void growl();}
B.class abstract Animal{abstract void growl();}
C.abstract class Animal{abstract void growl();}
D.abstract class Animal{abstract void growl(){System.out.println( “growl”);};}
3.在运行时,由java解释器自动引入,而不用import语句引入的包是()。
A.java.lang
B.java.system
C.java.io
D.java.util
4.下面运行结果为
public class Bground extends Thread{
public static void main(String argv[]){
Bground b = new Bground();
b.run();
}
public void start(){
for(int i=0;i<10;i++){
System.out.println("Value of i = "+i);
}
}
}
5.Which statement declares a variable a which is suitable for referring to an array of 50 string objects?
下面哪个Java语句声明了一个适合于创建50个字符串对象数组的变量?
A.char a[][];
B.String a[];
C.String[] a;
D.Object a[50];
E.String a[50];
F.Object a[];
6.哪个关键字可以对对象加互斥锁?()
A.synchronized
B.volatile
C.serialize
D.static
7.下面返回值为
public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
8.java如何返回request范围内存在的对象?
A.request.getRequestURL()
B.request.getAttribute()
C.request.getParameter()
D.request.getWriter()
9.下面有关servlet service描述错误的是?
A.不管是post还是get方法提交过来的连接,都会在service中处理
B.doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的
C.service()是在javax.servlet.Servlet接口中定义的
D.service判断请求类型,决定是调用doGet还是doPost方法
10.下面哪些Java中的流对象是字节流?
A.FileInputStream
B.BufferedInputStream
C.PushbackInputStream
D.ByteArrayInputStream
(1)for(i=1;i<=5;i++) 这样理解就好了,sum是1+2+3+4+5;
(2)C
普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。
那么什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。
而拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明。
(3)答案:A
java.lang包是java语言的核心包,lang是language的缩写
java.lang包定义了一些基本的类型,包括Integer,String之类的,是java程序必备的包,有解释器自动引入,无需手动导入
(4)编译通过,但无输出
对于线程而言,start是让线程从new变成runnable。run方法才是执行体的入口。 但是在Thread中,run方法是个空方法,没有具体实现。 Bground继承了Thread,但是没有重写run方法,那么调用run方法肯定是无输出。
(5)BCF
在java 中,声明一个数组时,不能直接限定数组长度,只有在创建实例化对象时,才能对给定数组长度.。
如下,1,2,3可以通过编译,4,5不行。而String是Object的子类,所以上述BCF均可定义一个存放50个String类型对象的数组。
- String a[]=new String[50];
- String b[];
- char c[];
- String d[50];
- char e[50];
(6)答案:A
synchronized关键字是同步代码块关键字,对对象加互斥锁
(7)10
public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2: //i=2,进入case2
result = result + i * 2; //result = 4
case 3: //因为没有break,会继续向下执行,result= 4+2*3 = 10
result = result + i * 3;
}
return result;
}
(8)B
request.getParameter(“username”) 只是处理参数 ,但是在有username这个参数的情况下,你可以认为是等价。但是paramter是个string返回值。 request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。
(9)B
doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的
(10)ABCD
stream结尾都是字节流,reader和writer结尾都是字符流 两者的区别就是读写的时候一个是按字节读写,一个是按字符。 实际使用通常差不多。 在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。 只是读写文件,和文件内容无关的,一般选择字节流。