1、 . . . . 第一局部 根底知识练习 目标 本章对应于《学生指南》各章的容分别提供了练习题集,包括: ● 第一章Java入门 ● 第二章数据类型和运算符 ● 第三章流程控制与数组 ● 第四章封装 ● 第五章继承 ● 第六章抽象类与接口 ● 第七章多态 ● 第八章异常 ● 第九章多线程机制 ● 第十章输入输出流 ● 第十一章使用泛型和集合框架 ● 第十二章基于Swing的图形用户界面(GUI)设计 ● 第十三章Java事件驱动编程 第
2、一章练习题〔Java入门〕 1.以下哪项不是JDK所包含的容?〔选一项〕 A.Java编程语言 B.工具与工具的API C.Java EE扩展API D.Java平台虚拟机 2.以下关于JDK、JRE和JVM的描述。哪项正确? A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.以下哪个工具可以编译java源文件? A.javac B.jdb C.j
3、avadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?〔选三项〕 A.java.lang B.javax.servlet . C.j ava. io D.java.sql 83 / 83 6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 7.以下关于JVM的表达,哪项正确?〔选两项〕 A
4、.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的表达,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统 D.Java语言与平台无关。Java程序的运行结果与操作系统无关 9.以下关于Applet和Java程序之间关系的表达,哪项错误? A. -个A
5、pplet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上 C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上 D.Applet是一种Java SE平台的应用程序 10.以下关于Java HotSpot的描述,哪两项错误?〔选两项〕 A.JavaHotSpot是一种热编译技术,在编译Java源程序时会被使用 B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用 C.Java HotSpot是一种热编译技术,它只对程序的局部字节码进展优化 D.Java HotSpot是一种热编译技术,它会对程序
6、的全部字节码进展优化 11.环境变量PATH中含有多个路径时,路径和路径之间可以用哪项来隔开? A.: B. , C.* D:| 12.CLASSPATH中的“.〞的含义是哪项? A.省略号 B.当前目录 C.所有目录 D.上级目录 13.JVM在执行一个Java类时,大致采用以下过程? A.执行类中的代码一>装载类一>校验类 B.校验类一>装载类一>执行类中的代码 C.装载类一>执行类中的代码一>校验类 D.装载类一>校验类一>执行类中的代码 14.当运行—个Java程序时,
7、传递参数的格式是哪项? A. java类名参数1,参数2 B. javac类名参数1参数2 C. java类名参数1参数2 D. java类名参数1+参数2 15.以下关于Java文件名的表达,正确的有?〔选两项〕 A.Java源文件的扩展名应为.java B.Java源文件的文件名应与文件中的类名一致 C. Java字节码文件的扩展名应为.java D. 一个Java源文件中只能包含一个Java类 lC 2D 3A
8、4A SACD 6D 7AC 8C 9B 10 A D 11 A 12 B 13 D 14 C 15 A B 第二章练习题〔数据类型和运算符〕 1.以下哪项不属于Java语言的根本数据类型? A.int B.String C.dou
9、ble D.boolean 2.以下哪项不是int类型的字面量? A.\u03A6 B.077 C.OxABBC D.20 3.以下哪项不是有效的标识符? A.userName B.2test C.$change D._password 4.以下哪项是Java语言中所规定的注释样式?〔选三项〕 A.//单行注释 B.--单行注释 C. /* *单行或多行注释 */ D. /kk *文档注释 */ 5.以下哪项不是
10、Java语言的关键字? A.goto B.sizeof C.instanceof D.volatile 6.现有如下五个声明: Linel: int a_really_really_really_long_variable_name=5 ; Line2: int _hi=6; Line3: int big=Integer. getlnteger("7〞); Line4:int $dollars=8; line5: int %opercent=9; 哪行无法通过编译? A.Lin
11、e1 B.Line3 C. Line4 D. Line5 7.现有: 1. class Top { 2. static int x=l; 3. public Top (inty) { x*=3; } 4. } 5. class Middle extends Top { 6. public Middle() {x+=1; ) 7. public static void main (String [] args) { 8. Midd
12、le m = new Middle(); 9. System. out .println (x); IO. } II. } 结果为: A.1 B. 2 C.3 D.编译失败 8.现有: 1. class Passer f 2. static final int X=5; 3.public static void main (String [] args) { 4. new Passer().go (x); 5.System. ou
13、t .print (x); 6, ) 7. void go (int x) { 8.System. out .print(x++); 9. } 10. } 结果是什么? A.55 B.56 C.65 D.66 9.现有: 1. class Wrench f 2.public static void main(String [] args) { 3.Wrench w=new Wrench(); Wrench w2=new Wre
14、nch(); 4. w2=go (w, w2); 5.System.out.print (w2==w); 6. } 7.static Wrench go (Wrench wrl, Wrench wr2) { 8.Wrench wr3=wrl; wrl=wr2; wr2=wr3; 9. return wr3; 10. } 11. } 结果是什么? A. false B. true C.编译失败 D.运行的时候有异常抛出 10.现有
15、 5. class Wrench2 { 6. int size; 7.public static void main(String [] args) { 8.Wrench2 w=new Wrench2(); 9. w.size=II; IO. Wrench2 w2=go(w, w.size); II. System. out .print (w2. size); 12. ) 13. static Wrench2 go(Wrench2 wr. int s)
16、 { 14. S=12; 15。 return wr; 16. } 17. } 结果为: A. 11 B. 12 c.编译失败。 D.运行时异常被抛出 11.现有: class Test2 f public static void main (String [] args) { short a,b,C; a=l; b=2; C=a+b; a+=2: } } 以上代码中,哪
17、一句是错误的? A.a=1: B.C=a+b; C. a+=2; D. short a,b,C; 12.表达式:1-2/5+2 'k5的结果是哪项? A. 10.6 B. 9.8 C. 9 13.现有代码片段: String s="123"; String sl=S+456; 请问sl的结果是哪项? A. 123456 B. 579 C.编译错误 D.运行时抛出异常 14.根本数据类型float的包裹类是哪项? A. Integ
18、er B. Double C. Float D. Character 15.现有: 1. class Test4 { 2. public static void main (String [] args) { 3. boolean X=true; 4. boolean y=false; 5. short Z=42; 6. 7. if((z++==42) && (y=true))z++; 8.if((x=false) || (++z==45)) z++; 9. 10.
19、 System. out.println(¨z=〞+z); II. } 12. } 结果为: A. Z=42 B. z=44 C. Z= 45 D. z= 46 第二章练习题 参考答案 1B 2A 3B 4ACD 5B 6D 7D 8A 9B 10 A 11 B 12 D 13 A 14 C 15 D 第三章练习题 第三章练习题〔流程控制与数组〕 1.现有: clas
20、s TestApp{
public static void main (String[] args){
for (int i=0; i 21、oid main (String[] args){
int x=6;
if (x>l)
System. out. println("x>l");
else if (x>5)
System. out .println("x>5");
else if (x<10)
System. out. println("x 22、 }
}
上述程序运行后的结果是哪项?
A.x>5
B.x>l
C. x<10
D.x<29
3.现有:
class TestApp{
public static void main (String[] args){
int [5] myarray={ 10, 11, 12, 13, 14);
int sum=0;
for (int x : myarray)
sum+=x;
System. out. println( "sum= "+s 23、um);
}
}
上述程序运行后的结果是哪项?
A. sum=10
B. sum=70
C. sum=60
D. 运行时抛出异常
4.以下有关数组的声明中,正确的选项是哪项?〔选两项〕
A. int s[10];
B. int[10] s;
C. int[5] s={l,2,3,4,5};
D. int s[];
5.数组array,其最后一个元素的下标是?
A. array. size
B. array. length-l
C. array 24、 size-l
D. array.length
6.程序:
class TestApp{
public static void main (String[] args){
int X=5:
switch (x){
case l:
case 2:
case 3:
System. out.println〔“一季度〞〕;
break;
case 4:
case 5:
case 6:
System. out.println〔“二季度〞〕;
25、 break;
default:
System. out.println〔“三季度以上〞〕;
break;
)
}
)
上述程序运行后的结果是哪项?
A. 一季度
B.二季度
c.三季度以上
D.无输出
7.为将数组myArray的长度由3改为6,现采取以下编码:
int[]myArray=new int [3];
myArray=new int[6];
代码执行后,以下表达哪项是正确的?
A.数组myArray的长度已由3改为6,其中 26、前3个元素的值不变,后3个元素
的值为空。
B.数组myArray的长度已由3改为6,其中前3个元素的值不变,后3个元素
需再经过初始化后才能使用。
C.数组myArray的长度没有变化。
D.数组myArray的长度已由3改为6,原来3个元素的值全部丢失。
8.现有:
1. class Ifs {
2.public static void main (String [] args) {
3.boolean state=false;
4. int i=2;
5.if( 27、i>2) && (state=true))
6.i++;
7.if( (++i>4) l l (state=false))
8.i++;
9.System.out .println (i);
10. }
11. }
结果为:
A. 6
B. 5
C. 4
D.编译失败
9.现有:
3. public class Tester {
4.public static void main (String[] args) {
5. 28、 intx-5;
6. Integer xl=x; Integer x2=x;
7.int x3=new Integer(5);
8. system..ut.print(x1.equals(x));
9. system..ut.print(xl==x);
lu. system..ut.print(x2.equals(xl));
11. system..ut.print(x2==xl);
12- system..ut.print(x2==x3);
13- system. 29、ut.print(x2.equals(x3));
“ l4.}
15. }
结果为:
A.编译失败
B. falsefalsetruetruetruetrue
C. truetruetruetruetruetrue
D. falsefalsetruetruetruefalse
E. truefalsetruefalsefalsetrue
F.运行时异常被抛出
10.现有:
1. class Rectangle {
2' public static V.id ma 30、in(string [] args) {
3. int[]x=(1,2,3);
4. x[1]= (x[1]>1) ?x[2]: O;
5. System.out.println(x[1]);
6. }
7. }
结果为:
A.3
B.2
C.1
D.0
11.现有:
1.class Output (
2.public static void main (String[] args) {
3. int 31、i=5:
4.System.out.print( "4"+i+"");
5.System.out.print (i+5+"7");
6.System.out.println (i+"8");
7. }
8. }
结果为:
A. 9 9722
B. 9 55758
C. 45 10758
D.45 9722
12.以下哪种初始化数组的方式是错误的?
A. String[]names={"zhang", "wang", "li");
B. Strin 32、g names[] =new String [3];
names [O] ="zhang"; names [1] ="wang"; names [2] ="li";
C. String[3] names={"zhang", "wang", "li"};
D. 以上皆正确
13.现有:
1. class WhileTests {
2.public static void main (String [] args) {
3. int X=5;
4. while (++x<4) { 33、
5.--x;
6. }
7.System.out.println( "x="+x);
8. }
9. }
结果是什么?
A.X=6
B. X=5
C.X=2
D.编译失败
14.现有:
1. class Test2 f
2.public static void main (String [] args) {
3. boolean X= true;
4. boolean y=false;
5. s 34、hort Z=20;
6.
7.if((x==true) && (y=true)) z++;
8. if((y==true) || (++z==22)) z++;
9.
10. System. out .println( "z="+z);
11. }
12. }
结果是什么?
A.Z=21
B. z=22
C. z=23
D. Z= 24
15.现有:
1. class Foo {
2.public stati 35、c void main (String [] args) {
3. int x=O;
4. int y=4;
5.for (int z=0; z<3; Z++; X++) {
6. if(x>1&++y<10)
7. y++;
8. }
9.System. out .println (y);
10. }
11. }
结果是什么?
A.7
B.8
C.10
D.12
36、 I D
2B
3C
4CD
5B
6B
7D
8A
9C
11 C
37、 12 C
13 A
14 B
15 B
第四章练习题〔封装〕
1.以下有关类、对象和实例的表达,正确的选项是哪一项?
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差异
B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称
D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
38、
2.以下类Account的构造方法中,声明正确的选项是?
A. Account (String name){)
B. Account (String name)
C.Account (name)()
D. NewAccount (String name){)
3.类Account中字段声明正确的选项是哪项?
A. class Account f
name;
amount;
)
B. class Account{
String name=l.0;
double a 39、mount="Mike";
)
C. class Accountf
String name;
double amount;
)
D. class Account{
String name= "Mike,,, double amount=1000.0;
)
4.类Account中方法声明正确的选项是哪一项?
A. class Account f
deposit();
)
B. class Accountf
void deposit();
40、
}
C. class Accountf
void deposit(){)
)
D. class Accountf
void deposit{)
)
5.以下有关类声明的代码片段,哪一项为哪一项正确的?
A. package school;
import java. sql.*;
class Student {
}
B.import java.sql.*;
package school;
class Student f
)
41、 C. package school;
class Student{
}
import java. sql.*j
D. package school;
import java. sql.*;
private String name;
class Student {
}
6.有关new关键字的描述正确的选项是哪项?
A.创建对象实例的时候可以不使用new关键字
B.new所创建的对象不占用存空间
C.new会调用类的构造器来创建对象
D.new所创建的对象一定存在引 42、用变量
7.以下哪些是方法public int add (int a)的重载方法?〔选三项〕
A. public int add (long a);
B. public void add (int a)j
C. public void add (long a);
D. public int add (float a);
8.我们定义一个Account类来描述银行账户,银行账户有账户名、金额等属性
特征,同时有存款、取款等行为特征,下述代码适合描述的是哪项?
A.class Accountf
43、 String name;//账户
String amount; //金额
Account (String name)( )
void deposit (double mount){ //存款
)
void withdraw (double mount){ //取款
}
)
B.class Accountf
String name;//账户
doujole amount; //金额
Account (double amount){ )
void d 44、eposit (double mount){ //存款
)
void withdraw (double mount){ //取款
)
)
C.class Accountf
String name;//账户
double amount; //金额
Account (String name){ )
void deposit (double mount){//存款
)
void withdraw (double mount){ //取款
)
)
45、D.class Accountf
String name;//账户
double amount;//金额
Account (String name){ )
void deposit(){//存款
)
void withdraw(){//取款
)
)
9.现有:
1. class Banana2 f
2. static int X=2;
3.'public static void main (String [] args) {
4. int 46、 X=2;
5.Banana2 b=new Banana2();
6. b.go(x);
7. }
8. static {x+=x; )
9. void go (int x) {
10. ++x;
11. System. out.println (x);
12. }
13. }
结果为:
A.7
B. 5
C. 3
D. 2
10.现有:
1. class TestFoo f
2 47、. int x;
3. String y;
4.int getX() { return x; }
5.String getY() {return y; }
6. void setX (int x) {
7. int Z=7:
8. this.x=x;
9. }
10. }
可以添加多少个修饰符来封装此类?
A.5
B. 4
C. 3
D. 2
11.定义枚举如下:
public en 48、um Direction{
EAST,SOUTH,WEST,NORTH
)
F列正确使用该枚举类型的语句是哪项?
A. Direction Direction=EAST;
B. Direction direction=Direction.WEST;
C. int a- Direction.NORTH;
n Direction direction=2;
12.定义类:
package utils;
public class Rep{
public static String twice ( 49、String s){return s+s ;)
}
再定义另一个类Demo:
l.//insert code here
2.public class Demo{
3. public static void main (String[] args){
4.System. out .println( twice( "Hello"));
5. }
6.}
在第一行插入哪项代码,可以使程序正常编译和执行?
A.import utils.*;
B. import utils.Rep. 50、
C. import static utils.Rep.twice;
D. static import utils.Rep.twice;
13.现有:
public class TestDemo{
private int X-2;
static int y=3;
public void method(){
final int i=100;
int j =10;
class Cinner {
public void mymethod(){
//Here
}
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818