一、选择题
1.D(第一项减去2倍的第二项等于第三项, 所以是1)
2.D
3.A
0=03+0;2=13+1;10=23+2;30=33+3;
68=43+4
4.A
102=(96+108)/2
96=(108+84)/2
108=(84+132)/2
84=(132+*)/2
*=36
即后两位数之和的一半为前一位数
5.B
16=1;
25=32;
34=81;
43=64;
52=25;
61=6;
70=1
6.D
-2=(-2)×1³
-8=(-1)×2³
0=0×3³
64=1×4³
下一个数应该是250
250=2×5³
7.B
后面一个数等于相邻一个的2次方+再前一个数的2倍
2*2+3^2=13
2*3+13^2=175
2*13+175^2=30651
* 是乘号 ^2 是平方
8.A
第三项等于前两项相乘减5
3*7-5=16
16*7-5=107
16*107-5=1707
9.
11.C
说反了,类的实例化结果就是对象,而对一类对象的抽象就是类
12.ACE
13.C
构造方法,是一个类要实例成对象调用的方法;是必须有,但是创建一个类,java底层都会生成一个默认的无参数的方法!但是:如果你写了一个构造方法,不管有参无参,系统就不会再默认生成,这时如果你写的是有参的,系统不会生成无参的,用的时候就不能直接new类名(); 只能用 new 类名(参数);所以:一般来说,只要写了有参的构造函数,都要写一个无参的构造函数
14.A
15.D
16.C
17.B先计算+=右面的部分.z--为先运算再自减,++x为先自增后运算.所以按照结合性,+=右面自左向右运算,z--时z=3运算后然后变成2,++x变成2,x的值自增加为2.所以整个式子为y+=3/2-2,3/2取整等于1,1-2= -1,即y+=1,即y=y+(-1)=2-1=1
18.B
19.B是对的
A. 程序员不需要创建线程来释放内存.
C. 也不允许程序员直接释放内存.
D. 不一定在什么时刻执行垃圾回收.
20.A
抛出一个例外时,该线程就终止了,所以A正确。
当前线程调用sleep()方法或者wait()方法时,只是暂时停止了该线程的运行,不是终止线程,注意题目说的是“终止”,就是完全停止,所以B错误。
当创建一个新的线程时,该线程也加入到了抢占cpu执行权的队伍中,但是是否能抢到,并不清楚,和A的思想一样,所以C错误。
当一个优先级高的线程进入就绪状态时,它只是有较高的概率能够抢到CPU的执行权,不是一定就能抢到执行权,所以D错。
二、填空题
1.5 8
2.true
3.2008
4. paint
5.接口
6. java.util
三、名词解释
1.重载方法:同一个类 函数名一样 参数名/参数个数/参数顺序不一样
四、阅读程序题
1.123456654321
五、编程题
1.Stringstr="abc";
StringBuffer sb = new StringBuffer(str);
sb.reverse();
str=new String(sb);
return str;
2.
@Override
publicvoid run() {
inti = 1;
intsum = 0;
while (i< 1000000000) {
i += 2;
sum += i;
}
System.out.println(sum);
}
@Override
publicvoid run() {
CalendarcalCurrent= Calendar.getInstance();
intintDay = calCurrent.get(Calendar.DATE);
intintMonth = calCurrent.get(Calendar.MONTH) + 1;
// 月信息是以0开始
intintYear = calCurrent.get(Calendar.YEAR);
System.out.println("Date:"+ intMonth+ "/"+ intDay+ "/"+ intYear+ "\n");
System.out.println("Time:"+ calCurrent.get(Calendar.HOUR) + ":" + calCurrent.get(Calendar.MINUTE) + "\n");
}