一.选择题
1. 构造函数何时被调用?( )
A 类定义时;
B 使用对像属性时; C 使用对象方法时; D 对象被创建时。
2. 下列关于继承的说法哪个是正确的?( ) A 子类只继承父类的方法和属性; B 子类继承父类非私有属性和方法;
C 子类只继承父类的方法,而不继承父类的属于性; D 子类将继承父类的所有属性和方法。
3. 关于main方法下列说法哪个是正确的?( ) A 一个类中可以没有main 方法;
B 所有对象的创建都必须放在main方法中; C main 方法必须放在公共类中;
D main方法头的定义可以根据情况任意修改。 4. 下列语句中,属于多分支语句的是( ) A if语句 B switch语句 C do while语句 D for语句
5. 阅读下列代码,其运行结果是( ) public class Test{
public static void main(String args[]){ System.out.println(89>>1); } }
A 44 B 45 C 88 D 90 6. Java语言使用的字符码集是( ) A ASCII B BCD C DCB D Unicode
7. 试题内容:下面哪个代码段是正确的Java源程序( ) A package testpackage;
private class Test{//do something...} B import java.io.*; package testpackage;
public class Test{// do something...} C import java.io.*;
class Person{// do something...}
public class Test{// do something...} D import java.io.*;
Public class Test0{// do something...}
public class Test1{// do something...} 8. 下列哪些说法是正确的?( ) A Java 语言中,接口只允许单一继承 B Java 语言只允许实现一个接口
C Java 语言不允许同时继承一个类并实现一个接口 D Java 语言的单一继承使得代码更加可靠 9. 下列叙述中,正确的是( )
A 声明变量时必须指定一个类型 B Java认为变量number与Number相同 C Java中唯一的注释方式是\
D 源文件中public类可以有0或多个 10. 下面哪个赋值语句是错误的?( ) A float f = 11.1; B double d = 5.3E12; C char c = '\\r'; D byte bb = 127;
11. \运算符的操作数个数是 ( ) A 1个 B 2个 C 3个 D 4个
12. 已知:int[] a = new int[100];在下列给出的数组元素中,非法的是( ) A a[0] B a[1] C a[99] D a[100]
13. 以下语句有语法错的是( ) A int x=1;y=2;z=3
B for (int x=10,y=0;x>0;x++); C while (x>5); D for(; ;);
14. 以下有关类的构造函数继承的说明,正确的是( ) A 子类继承父类的构造函数,但不能自己定义
B 子类可定义自己的构造函数,但受父类定义的构造函数的限制 C 子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定
D 如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义 15. 整型数据类型中,需要内存空间最少的是( ) A short B long C int D byte 二.填空题
16. 设 int x=1,float y=2,则表达式 x / y的值是( )。
17. 执行下列语句后,sum的值为( )。 int sum=100;
for (int I=0; I<10;I++) {
sum-=I; }
18. 设i, j为整型变量且j=8,执行i= ++j后,i的值( )。 19. 基本语句包括三种基本结构:顺序结构、循环结构和( )。 20. 数组x定义如下:
int x[ ][ ]=new int[3][2] 则 x[2].length 的值为( )。
21. 在转向语句中,( )语句使得程序结束本次循环,回到循环的条件测试部
分继续执行。
22. 下列程序段的输出结果是( )。
c=?D?; switch(c) {
case ?C?:System.out.println(“CC”);
case ?D?:System.out.println(“DD”); }
23. 设x为float型变量, y为 double型变量, a为 int型变量,已知 x=2.5f, a=7 ,y=4.22 则表达式x-a%2*(int)x%(int)y的值为( )。 三. 程序分析题
24. 试题内容:下列程序段运行的结果是( ) Class AAA{
String str=new String(\ char[] ch={'a','b','c'};
public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);
System.out.print(ex.str+\ Sytem.out.print(ex.ch); }
public void change(String str,char ch[]){ str=\ ch[0]='g'; } }
答案:good and gbc
25. 给出下面代码段,第9行和第10行哪行将引起一个编译的错误,为什么?( )
1) public class Test { 2) int m, n;
3) public Test() {}
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) { 6) Test t1,t2; 7) int j,k; 8) j=0; k=0;
9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12) }
答案:第 10 行,生成的对象t2没有对应的构造函数
26. 已知类的定义如下,如果用下面三种不同的方法加载类,写出要求的结果:
执行语句 test_3 a1=new test_3() 后;a1.x的内容为( ) ;
执行语句
test_3 a1=new test_3(-2,5) 后;a1.y的内容为( )。 public class test_3{ int x ; int y ;
test_3(int a,int b){ x=a;
y=b; }
test_3(){ x=-1; y=-1; }
int get_x() {
return x++;
}
int get_y() {
return y--;
}
答案:-1 5 27. 下面的程序运行结果是 ( )。
public class Convert{
Convert( )
{ System.out.print(“Hello,”);}
public static void main(String[ ] args){ Convert v=new Convert( );
String str=”elcome.”;
v.prt(str);
}
void prt(String s) { String ch=”w”; ch+=s;
System.out.println(ch); }
}
答案:HelloWelcome
28. 下面程序有运行结果是( )。 public class TestStringBuffer{
public static void main (String[ ]args){ StringBuffer s1=new StringBuffer( );
StringBuffer s3=new StringBuffer(“How are you?”); s1.append(“do you come here?”); s3.setCharAt(1,’d’); System.out.println(s1); System.out.println(s3); } }
答案:do you come here? hdw are you? 四. 问答题
29. Java整形类型数据分为哪几种?
答案:字节型、短整型、整型、长整型 30. 什么是方法的重载?规则是什么?
答 案:
在同一类中定义了多个同名而不同内容的成员方法时,我们称这些方法是重载(overload)的方法。重载方法主要是通过形参列表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分。
31. 构造方法的特点是什么?
答案要点:构造方法的特点是:(1)构造方法名称必须与类名相同;(2)构造方
法不能有返回值;(3)用户不能直接调用构造方法,必须通过关键词new自动调用它。
五. 编程题
32. 编写输出1—20之间的奇数的程序。 参考答案:class Xxx{
public static void main(String[] args) { int s=0;
for(int i=1;i<=20;i=i+2) s=s+i; System.out.println(s);