1.下列不属于访问控制符的是(D)
A public
B private
C protected
D static
答案:D public 公有 private私有 protected受保护 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。
2.下列外部类定义中,不正确的是:(C )
class x { .... }
class x extends y { .... }
static class x implements y1,y2 { .... }
public class x extends Applet { .... }
内部类可以用static修饰,外部类则不能。
此外,外部类只能用public和defaule以及final修饰。内部类几乎都可以用修饰符public、protected、default、private和final、static修饰。
3.如下代码的 结果是什么 ? B
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Base
BaseBase
编译失败
代码运行但没有输出
运行时抛出异常
在执行new Alpha()时,会先执行父类的构造方法,在执行相应的子类的构造方法,所以此处会打印Base,在执行new Base()时,会直接执行Base中无参构造器的代码,再输出Base,所以选B
4.我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。(错)
对
错
System是java.lang中的类,out为System中的一个静态成员,out是java.io.PrintStream类的对象,而println()是java.io.PrintStream类的方法,所有可以调用类.静态方法.println()方法
5.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(C )
public
private
static
final
static表示静态变量,归类所有,该类的所有对象公用
6.
下面程序的输出结果是什么。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
找到最大值
找到最小值
从大到小的排序
从小到大的排序
这个排序算法虽然能实现从大到小排序,但看得人眼晕。。。
每次排序,先拿前面的值依次和末尾值比较,比末尾值大的则交换,每次排序最大的值放到末尾;关键还没完,还要再和前面的值交换,将最大值放到前面。。。
7.
假设 a 是一个由线程 1 和线程 2 共享的初始值为 0 的全局变量,则线程 1 和线程 2 同时执行下面的代码,最终 a 的结果不可能是(D)
boolean isOdd = false;
for(int i=1;i<=2;++i)
{
if(i%2==1)isOdd = true;
else isOdd = false;
a+=i*(isOdd?1:-1);
}
-1
-2
0
1
假设两线程为A、B,设有3种情况:
1.AB不并发:此时相当于两个方法顺序执行。A执行完后a=-1,B使用-1作为a的初值,B执行完后a=-2
2.AB完全并发:此时读写冲突,相当于只有一个线程对a的读写最终生效。相同于方法只执行了一次。此时a=-1
3.AB部分并发:假设A先进行第一次读写,得到a=1;之后A的读写被B覆盖了。B使用用1作为a的初值,B执行完后a=0
8.
以下的变量定义语句中,合法的是(C)
byte=128
boolean=null
long a=123L
double=0.9239d
9.
以下程序输出(D)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
2
3
4
5
记住一点,遇到break才跳出
10.
以下代码执行的结果显示是多少(B)?
505000
0
运行时错误
5050
count = count++ 这个count一直为0;
11.
一个递归算法必须包括(B)
递归部分
终止条件和递归部分
迭代部分
终止条件和迭代部分
12.若有定义:byte[]x={11,22,33,﹣66};其中0≤k≤3,则对x数组元素错误的引用是(C)
x[5-3]
x[k]
x[k+5]
x[0]
13.What is displayed when the following is executed; A
1 2 3 |
|
Ceil d1=-0.0 floor d1=-1.0
Ceil d1=0.0 floor d1=-1.0
Ceil d1=-0.0 floor d1=-0.0
Ceil d1=0.0 floor d1=0.0
Ceil d1=0 floor d1=-1
ceil:大于等于 x,并且与它最接近的整数。
floor:小于等于 x,且与 x 最接近的整数。
14.以下哪几种是java的基本数据类型。BC
String
int
boolean
Double
java 8中基本数据类型:byte,short,int,long,double,float,boolean,char
15.
下列哪个类的声明是正确的?D
abstract final class HI{}
abstract private move(){}
protected private number;
public abstract class Car{}
A选项,final是最终类,不能被继承;abstrct类是抽象类,只能被继承,两者冲突。 B选项,private修饰符定义的属性及方法不能被子类实现,而抽象类的子类必须实现所有的抽象方法。两者冲突。 C选项,修饰符重复,而且没有定义数据类型。 D选项,正确。
16.执行下列程序的输出结果为( D )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
s1 == s2 s1 not equals s2
s1 == s2 s1 equals s2
s1 != s2 s1 not equals s2
s1 != s2 s1 equals s2
s1直接指向常量池中的字符串变量(没有就在常量池创建一个) s2是指向堆里的一个字符串对象,对象里面有常量池中字符串对象的引用
16.int a[]= {1,2,3,4,5}, int *p = a, 下列表达式与 ++*p 相同的是(C)
*++p
a[0]
++a[0]
*p++
*p指针指向第一位,也就是a[0],++*p就是++a[0]