Java程序设计练习题.docx
《Java程序设计练习题.docx》由会员分享,可在线阅读,更多相关《Java程序设计练习题.docx(36页珍藏版)》请在冰点文库上搜索。
Java程序设计练习题
Java程序设计练习题
一、选择题
1、类的构造方法何时被调用?
()
A、类定义时B、调用对象方法时
C、使用对象的变量时D、创建对象时
2、哪种方法返回String中的字符数___
A、size()B、length()C、width()D、girth()
3、Java编程所必须的默认引用包为( )
A、java.sys包 B、java.lang包
C、包 D、以上都不是
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A、staticvoidmethod()B、publicvoidmethod()
C、finalvoidmethod()D、abstractvoidmethod()
5、下列哪个是合法的Java标识符?
()
A、Tree&GlassesB、FirstJavaApplet
C、$theLastOneD、273.5
6、设有下面的两个类定义:
classAA{
voidShow(){System.out.println(“我喜欢Java!
”);
}
classBBextendsAA{
voidShow(){System.out.println(“我喜欢C++!
”);
}
则顺序执行如下语句后输出结果为:
()
AAa=newAA();BBb=newBB();
a.Show();b.Show();
A、我喜欢Java!
B、我喜欢C++!
我喜欢C++!
我喜欢Java!
C、我喜欢Java!
D、我喜欢C++!
我喜欢Java!
我喜欢C++!
7、在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。
A、if–elseB、switchC、tryD、throw
8、下面的代码段中,执行之后count的值是()
intcount=1;
for(inti=1;i<=5;i++)
{count=count+i;
}
System.out.println(count);
A、5B、1C、15D、16
9、若a的值为3时,下列程序段被执行后,c的值是多少?
()
c=1;
if(a>0)
if(a>3)c=2;
elsec=3;
elsec=4;
A、1B、2C、3D、4
10、switch(m)
{Case0:
System.out.println(“Condition0”);
Case1:
System.out.println(“Condition1”);
Case2:
System.out.println(“Condition2”);
Case3:
System.out.println(“Condition3”);break;
Default:
System.out.println(“OtherCondition”);
}
当m的值为________时能引发”Condition1”的输出
A)0,1B)1,2C)2,3D)3,4
11、下面的是关于类及其修饰符的一些描述,不正确的是:
()。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
12、对于子类的构造函数说明,下列叙述中不正确的是()。
A、子类无条件地继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
13、在下述Java语言语句中,错误的创建数组的方法是()
A、intintArray[];intArray=newint[5];
B、intintArray[]=newint[5];
C、int[]intArray={1,2,3,4,5};
D、intintArray[5]={1,2,3,4.5};
14、以下哪个表达式是不合法的( )
A、String x=”Hello”; int y=9; x+=y;
B、String x=”Hello”; int y=9; x=x+y;
C、String x=”Hello”; int y=9; if(x= =y) { }
D、String x=null;int y=(x!
=null)&&(x.length()>0) ?
x.length :
0
15、下面的语句的作用是:
()。
VectorMyVector=newVector(100,50);
A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。
B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。
C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。
D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。
16、Java语言具有许多优点和特点,下列选项中哪个反映了Java程序并行机制的特点()
A)安全性 B)多线性 C)跨平台 D)可移植
17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )
A)public static void main()
B)public static void main(String[ ] args)
C) public static int main(String[ ] arg)
D)public void main(String arg[ ])
18、以下代码段执行后的输出结果为( )
int x=3; int y=10;
System.out.println(y%x);
A)0 B)3 C)1 D)2
19、下面关于继承正确的是()
A)在Java中只允许单一继承
B)在Java中一个类只能实现一个接口
C)在Java中一个类不能同时继承一个类和实现一个接口
D)Java的单一继承使得代码不可靠
20、编译JavaApplet源程序文件产生的字节码文件的扩展名为()。
A、javaB、classC、htmlD、exe
21、若在某一个类定义中定义有如下的方法:
abstractvoidperformDial();
该方法属于()。
A、本地方法B、最终方法C、解态方法D、抽象方法
22、在Java中,下面关于包的陈述中正确的是()。
A、包的声明必须是源文件的第一句代码
B、包的声明必须紧跟在import语句的后面
C、只有公共类才能放在包中
D、一个包中只能放一个源文件
23、在java中,类Worker是类Person的子类,Worker的构造方法中有一句”super()”, 该语句( )。
A、调用类Worker中定义的super()方法
B、调用类Person中定义的super()方法
C、调用类Person的构造函数
D、句法错误
24、在类设计中,类的成员变量要求仅仅能够被本类内的成员方法访问,请问应该使用下列哪个修辞词
A、protected
B、public
C、private
D、不需要任何修辞词
25、下列二维数组定义中错误的是()。
A、inta[][]=newint[][];
B、int[]a[]=newint[10][10];
C、inta[][]=newint[10][];
D、int[][]a=newint[10][10];
26、在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protected
C、privateprotectedD、public
27、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
A.javaB.class
C.htmlD..exe
28、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A.3B.3.5
C.4D.5
29、不允许作为类及类成员的访问控制符的是()。
A.publicB.private
C.staticD.protected
30、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
31、哪个是Java的标识符()
A、publicB、superC、3numberD、width
32、如下哪个是Java中的标识符()
A、fieldnameB、superC、3numberD、#number
33、已知如下定义:
Strings="story";下面哪个语句不是合法的()
A、s+="books";B、s=s+100;
C、intlen=s.length;D、Stringt=s+“abc”;
34、如下哪个是Java中有效的关键字()
A、nameB、helloC、falseD、good
35、下面的代码段执行之后count的值是什么()
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
A、5B、1C、15D、16
36、定义一个类,必须使用的关键字是()
A、publicB、classC、interfaceD、static
37、定义一个接口必须使用的关键字是()
A、publicB、classC、interfaceD、static
38、下面那些方法不是接口Collection中已声明的方法()?
A)添加元素的add(Objectobj)方法
B)删除元素的remove(Objectobj)方法
C)得到元素个数的length()方法
D)返回迭代器的iterator()方法,迭代器用于元素遍历
38、应用程序的main方法中有以下语句,则输出的结果是()。
Strings="12345#aaa#bbb#67890";
intn=s.indexOf("#");
intk=s.indexOf("#",n+1);
intm=s.indexOf("#",k+1);
Strings2=s.substring(m+1);
System.out.println(s2);
A)123456B)67890C)aaaD)bbb
39、下面程序段执行后b的值是()。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
40、应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;
intk2=args[1].length();
System.out.print(k1+""+k2);
}
}
A)32B)12C)13D)33
41、应用程序的main方法中有以下语句,则输出的结果是()。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;ifor(intj=0;j
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
A)32B)11C)2D)3
42、应用程序的main方法中有以下语句,则执行后输出的结果是()。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;iif(x[i]>max)
max=x[i];
}
System.out.println(max);
A)125B)5C)98D)168
43、程序Test.java编译运行后输出的结果是()。
publicclassTest{
Strings1="java";
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
}
}
A)java2B)2C)没有输出结果D)java
44、应用程序的main方法中有以下语句,则输出的结果是()。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
A)12.5B)120.5C)12D)“12.5”
45、关于下面的程序Test.java说法正确的是()。
publicclassTest{
Stringx="1";
inty;
publicstaticvoidmain(Stringargs[]){
intz=2;
System.out.println(x+y+z);
}
}
A)3B)102C)12D)程序有编译错误
46、应用程序的main方法中有以下语句,则输出的结果是()。
intb[][]={{1,1,1},{2,2},{3}};
intsum=0;
for(inti=0;ifor(intj=0;j
sum+=b[i][j];
}
}
System.out.println("sum="+sum);
A)10B)6C)9D)13
47、应用程序的main方法中有以下语句,则执行后输出的结果是()。
int[]x={125,21,5,168,98};
intmin=x[0];
for(inti=1;iif(x[i]min=x[i];
}
System.out.println(min);
A)125B)5C)98D)168
48、应用程序的main方法中有以下语句,则输出的结果是()。
Hashtablehashtable=newHashtable();
hashtable.put("100","aaa");
hashtable.put("200","bbb");
hashtable.put("300","ccc");
System.out.println(hashtable.get("300").toString()
+hashtable.get("200").toString()
+hashtable.get("100").toString());
A)aaaB)bbbC)cccD)cccbbbaaa
49、以下关于java异常说法不正确的是()。
A)Throwable类是Java语言中Error类和Exception类的父类。
B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。
C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所有异常对象的父类。
D)以上说法都不对。
50.关于选择结构下列哪个说法正确?
( )
A.if语句和else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
51.while循环和do…while循环的区别是:
( )
A.没有区别,这两个结构任何情况下效果一样
B.while循环比do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do…while循环是先循环后判断,所以循环体至少被执行一次
52.关于for循环和while循环的说法哪个正确?
( )
A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
53.下列修饰符中与访问控制无关的是 ( )
A.private B.public
C.protectedD.final
54、void的含义:
( )
A.方法没有返回值 B.方法体为空
C.没有意义 D. 定义方法时必须使用
55、return语句:
( )
A.只能让方法返回数值 B.方法都必须含有
C.方法中可以有多句return D.不能用来返回对象
56.关于对象成员占用内存的说法哪个正确?
( )
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
57.下列说法哪个正确?
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
58.下列说法哪个正确?
( )
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
59.关于方法main()的说法哪个正确?
( )
A.方法main()只能放在公共类中
Bmain()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
60.构造函数何时被调用?
( )
A、创建对象时 B、类定义时
C、使用对象的方法时 D、使用对象的属性时
61. 抽象方法:
( )
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
62.关于继承的说法正确的是:
( )
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
63.关于构造函数的说法哪个正确?
( )
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
64.this和super:
A、都可以用在main()方法中
B、都是指一个内存地址
C、不能用在main()方法中
D、意义相同
65.关于super的说法正确的是:
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
66.覆盖与重载的关系是 ( )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
67.关于接口哪个正确?
( )
A、实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事
68.异常包含下列哪些内容?
( )
A.程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误
C.程序的编译错误
D.以上都是
69. 对于已经被定义过可能抛出异常的语句,在编程时:
( )
A、必须使用try/catch语句处理异常,或用throws将其抛出
B.如果程序错误,必须使用try/catch语句处理异常
C.可以置之不理
D.只能使用try/catch语句处理
70.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
71.设有定义inti=6;,则执行以下语句后,i的值为(C)。
i+=i-1;
A)10B)121C)11D)100
72.下列选项中,用于在定义子类时声明父类名的关键字是(C)。
A)interfaceB)packageC)extendsD)class
73.若已定义byte[]x={11,22,33,-66};
其中0≤k≤3,则对x数组元素错误的引用是()。