Java选择题

1阅读下列代码
public class Test{
public static void main(String args[]){
System.out .println(15>>1);
}
}
其运行结果是( )
A 7 B 8 C 16 D 14
2已知:int[]a=new int[100];在下列给出的数组元素中,非法的是:( )
A a[0] B a[1] C a[99] D a[100]
3下列属于合法的Java标识符是( )
A 5books B _cat C +static D -3.14159
4 在 Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是( )
A.ava.applet B.java.awt C.java.util D.java.lang
5 public class Foo{
public static void main(String args[]){
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operate(a,b);
System.out.println(a+","+b);
}
static void operate(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}
}
What is the result? ( )
A.The code compiles and prints “A.B”.
B.The code compiles and prints “A.A”.
C.The code compiles and prints “B.B”.
D.The code compiles and prints “AB.B”.
E.The code compiles and prints “AB.AB”.
6在 Java 中,用 package 语句说明一个包时,该包的层次结构必须是( )
A 与文件的结构相同
B 与文件目录的层次相同
C 与文件类型相同
D 与文件大小相同
7哪个关键字可以抛出异常?( )
A transient B finally
C throw D static
8有关类Demo,哪句描述是正确的? ( )
public class Demo extends Base{
private int count;
public Demo(){
System.out.println("A Demo object has been created");
}
protected void addOne() {count++; }
}
A 当创建一个Demo类的实例对象时,count的值为0。
B 当创建一个Demo类的实例对象时,count的值是不确定的.
C 超类对象中可以包含改变count 值的方法。
D Demo的子类对象可以访问count。
9在Java中,能实现多重继承效果的方式是( )
A.内部类 B.适配器 C.接口 D.同步
10 java语言使用的字符码集是( )
A ASCⅡ B BCD C DCB D Unicode

【1】 a
因为右移运算符“>>”的运算规则是将15的2进制值1111右移移位,高位(左边)补0,也就是 1111 --右移-->0111 转化为10进制就是7.
通常正整数右移操作相当于x/2
【2】 d
因为数组下标是从0开始的,新建一个100个元素的数组a他的下标应该是0-99,所以a[100]错误
【3】 b
Java标识符的命名规则:
1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。
2) 不能把关键字和保留字作为标识符。
3) 标识符没有长度限制。
4) 标识符对大小写敏感。
a违反第一条规则,c和d违反第二条规则
【4】 d
这个是java默认的,没什么好解释的,可能是用的比较多,就这么设计的吧。
【5】 e
1 public class Foo{
2 public static void main(String args[]){
3 StringBuffer a = new StringBuffer("A");
4 StringBuffer b = new StringBuffer("B");
5 operate(a,b);
6 System.out.println(a+","+b);
7 }
8 static void operate(StringBuffer x,StringBuffer y){
9 x.append(y);
10 y=x;
11 }
12 }

在这段代码中有一个main方法,一个静态方法,main方法调用了静态方法。程序首先由main方法开始执行,创建了两个StringBuffer的对象,并分别赋值为A B(第3,4行)然后调用了这个类的静态方法operate(第5行)。operate方法需要2个参数,这个时候传入的a和b已经有初始值了,分别是A,B。这时程序运行到第9行,把y的值(也就是b的值“B”)添加到x的值(也就是a的值“A”)的末尾。这时x的值为“AB”。第10行将x的值赋值给y。那么现在Y的值也是AB。程序执行完此方法,开始执行第6行,打印“a+','+b”。打印结果就是 AB,AB
【6】 b
就这么规定的,没什么解释的。。
【7】 c
同上
【8】 a
因为int类型的变量在没有赋值时默认值是0,所以答案b是错的。
Demo类继承自Base类,其中count变量是private的,private类型的变量只有类本身才能访问。所以在父类中也不可能包含改变count 值的方法。因为父类不能访问count对象,而Demo类中也没有seter方法。
Demo子类也不能访问count,所以d也是错的。
【9】 c
java语言是不支持多继承的,为了解决类似问题,接口出现了。。
【10】 d
在THINK IN JAVA 3rd的12章里一个例子出现了UTF-16BE,测试结果
byte[] utf_16be = name.getBytes("utf-16be");

printbyte(utf_16be);

58 02 length = 2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-04
1.A
2.D
3.B
4.D
5.D
6.B
7.C
8.A
9.C
10.D
楼下的:第五题operate方法里的y值并没有改变b的值,我运行过了。应该是选D,你试试。
相似回答