JAVA程序设计习题范文.docx
《JAVA程序设计习题范文.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计习题范文.docx(23页珍藏版)》请在冰豆网上搜索。
![JAVA程序设计习题范文.docx](https://file1.bdocx.com/fileroot1/2022-12/7/07e1776e-4db0-45b8-95b7-a96766c2fc4c/07e1776e-4db0-45b8-95b7-a96766c2fc4c1.gif)
JAVA程序设计习题范文
第一章 JAVA语言概论
一、选择题
1. 下列不属于java语言鲁棒性特点的是:
(B)
A. java能检查程序在变异和运行时的错误
B. java能运行虚拟机实现跨平台
C. java自己操纵内存减少了内存出错的可能性
D. java还实现了真数组,避免了覆盖数据的可能
2.(红)java语言的执行模式是:
(B)
A. 全编译型
B. 全解释型
C. 半编译和半解释型
D. 同脚本语言的解释模式
3. 下列关于虚拟机说法错误的是:
(B)
A. 虚拟机可以用软件实现
B. 虚拟机部可以用硬件实现
C. 字节码是虚拟机的机器码
D. 虚拟机把代码程序与各操作系统和硬件分开
4. java语言是1995年由(A)公司发布的
A. Sun
B. Microsoft
C. Borland
D. FoxSoftware
5. 下列不是虚拟机执行过程特点的是:
(A)
A. 双线程
B. 多线程
C. 动态链接
D. 异常处理
6. java以JVM为基础,最下层是移植接口,由适配器和(B)组成
A. 网卡
B. Javaos
C. Java基本类
D. Java应用程序和applet小程序
7.(红)java程序的执行过程中用到一套JDK工具,其中javac.exe指:
(A)
A. java语言编译器
B. java字节码解释器
C. java文档生成器
D. java类分解器
8. java的API结构中,不属于类库主要包括的核心包的是:
(C)
A. java包
B. javax
C. javadoc包
D. org扩展包
9. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有(A)类或者界面是公共的
A. 一个
B. 两个
C. 四个
D. 任意多个
10. 在当前的java实现中,每个编译单元就是一个以(A)为后缀的文件
A. java
B. class
C. doc
D. exe
二、填空题
1. 1991年,SUN公司的JameGosling和BillJoe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个__Oak__软件,它是java的前身。
2.(红)java是一个网络编程语言,简单易学,利用了__面向对象__的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。
3. java可以跨平台的原因是java虚拟机
4. JVM的执行过程有三个特点:
多线程,动态连结,异常处理;
5. JAVA程序的安全性体现在多个层次上,在编译层,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。
6. JAVA的产品主流操作系统平台是Solaris、Windows和Macintosh.
7. JAVA系统运行时,通过垃圾回收机制周期性的释放无用对象所使用的内存,完成对象的清除。
8. 在JAVA语言中,将后缀名为java的源代码文件编译后形成后缀名为.class的字节码文件。
9. JAVA语言的执行模式是半编译和半解释型。
10. JAVA类库具有跨平台的特点,保证了软件的可移植性。
11. 在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:
javac.exe、java.exe、javadoc.exe(或java文档生成器)、javap.exe、jkb.exe
12. JAVA程序包括源代码(.java文件)、由编译器生成的类(.class文件)、由归档工具jar生成的.jar文件、对象状态序列化.ser文件。
13. 在JAVA语言中,为将源代码翻译成字节码文件时产生的错误称为编译错误。
而将程序在运行中产生的错误称为运行错误。
14. JavaApplication应用程序的编写和执行分3步进行:
编写源代码、编译源代码、 解释执行。
15.(红)每个java应用程序可以包括许多方法,但必须有且只能有一个main方法。
16.(红)JAVA源文件中最多只能有一个public或公共类,其它类的个数不限。
17. JAVA的体系结构中,最下层是移植接口,上面一层是虚拟机,虚拟机的上层是java基本类和基本API,它们都是具有可扩展性。
18. 类库主要包括核心JAVA包、javax和org扩展包。
19. JAVA解释器采用生成与体系结构无关的字节代码指令的技术,只需安装JAVA运行系统,就可保证JAVA程序可以在网络的任何地方运行。
第二、三、四章 Java语言基础
一选择题
1.(红)下列java标识符,错误的是(D)
A._sys_varl
B.$change
C.User_name
D.1_file
2.下列不属于简单数据类型的是(B)
A.整数类型
B.类
C.符点数类型
D.布尔类型
3.下列属于JAVA关键词的是(C)
A.TRUE
B.goto
C.float
D.NULL
4.下列声明和赋值语句错误的是:
(C)
A.doublew=3.1415;
B.Stringstrl=”bye”;
C.floatz=6.74567
D.booleantruth=true;
5.(红)java中,八进制数以(B)开头。
A.0x
B.0
C.0X
D.08
6.(红)自定义类型转换是由按优先关系从低级数据转换为高级数据,
优先次序为(A)
A.char-int-long-float-double
B.int-long-float-double-char
C.long-float-int-double-char
D.以上都不对
7.(红)在java中,Integer.MAX_VALUE表示:
(B)
A.浮点类型最大值
B.整数类型最大值
C.长整型最大值
D.以上说法都不对
8.JAVA中,数据类型值中不可能出现的符号是(D)
A.d
B.f
C.e
D./
9.下列表示单引号的是(B)
A.‘
B.\\’
C.\\\\’
D.‘\\
10.下列语句片断中,four得值为:
(D)
intthree=3;
charone=‘1’
charfour=(char)(three+one);
A.3
B.1
C.31
D.4
11. 下列不属于整型变量的类型是(C)
A.byte
B.short
C.float
D.long
12.(红)int类型整型变量在内存中的位数为(C)
A.8
B.16
C.32
D.64
13. 下列数据类型转换,必须进行强制类型转换的是(D)
A.byte→int
B.short→long
C.float→double
D.int→char
14. java中,用(A)关键字定义常量
A.final
B.#define
C.float
D.const
15. 关于变量的作用范围,下列说法错误的是(A)
A.异常处理参数作用域为整个类
B.局部变量作用于声明该变量的方法代码段
C.类变量作用于声明该变量的类
D.方法参数作用于传递到方法内代码段
16. 下列属于条件运算符的是(B)
A.+
B.?
:
C.&&
D.>>
17. 下列程序test类中的变量c的最后结果为(D)
publicclasstest
{
publicstaticvoidmain(Stringargs[])
{
inta=10;
intb;
intc;
if(a>50)
{
b=9;
}
c=b+a;
}
}
A.10
B.0
C.19
D.编译出错
18. 下列程序片断的执行,说法正确的是(D)
publicclasstest
{
publicstaticvoidmain(Stringargs[])
{
byteb=100;
inti=b;
inta=2000;
b=a;
System.out.println(b);
}
}
A.b的值为100
B.b的值为2000
C.第六行出错
D.第八行出错
19. (&)语句的执行结果为(A)
A.
B.
C.
D.
20. 已知i为整形变量,关于一元运算++i和i++,
下列说法正确的是(D)
A. ++i运算将出错
B. 在任何情况下运行程序结果都一样
C. 在任何情况下运行程序结果都不一样
D. 在任何情况下变量i的值都增1
21.(红)在java中语句:
37.2%10的运算结果为(A)
A. 7.2
B. 7
C. 3
D. 0.2
22. 在java语句中,运算符&&实现(B)
A. 逻辑或
B. 逻辑与
C. 逻辑非
D. 逻辑相等
23. 在java语句中,位运算操作数只能为整型或(B)数据
A. 实型
B. 字符型
C. 布尔型
D. 字符串型
24.(|)语句的执行结果为(C)
A.
B.
C.
D.
25. ~语句的执行结果为(A)
A.
B.
C.
D.
26. 复合语句用(B)括起来的一段代码。
A.小括号()
B.大括号{}
C.中括号〔〕
D.单引号‘’
27.下列不属于条件语句关键字的是(D)
A.if
B.else
C.swich
D.while
28.多分支语句switch(表达式){}中,表达式不可以
返回哪种类型的值(C)
A.整型
B.实型
C.接口型
D.字符型
29.下面不属于java条件分支语句结构的是(D)
A.if结构
B.if-else结构
C.if-elseif结构
D.if-elseelse机构
30. 下列方法method()执行,返回值为(D)
intmethod(){
intnum=10;
if(num>20)
returnnum;
num=30;
}
A.10
B.20
C.30
D.编译出错
31.三元条件运算符ex1?
ex2:
ex3,相当于下面(A)语句。
A.if(ex1)ex2;else ex3;
B.if(ex2)ex1;else ex3;
C.if(ex1)ex3;else ex2;
D.if(ex3)ex2;else ex1;
32.java用(A)来实现goto语句所特有的一些功能。
A.break
B.default
C.continue
D.return
33.一个循环一般应包括哪几部分内容(D)
A.初始化部分
B.循环体部分
C.迭代部分和终止部分
D.以上都是
34. 关于while和do-while循环,下列说法正确的是(D)
A.两种循环除了格式不通外,功能完全相同
B.与do-while语句不通的是,while语句的循环至少执行一次
C.do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D.以上都不对。
35. 下列程序输出结果为(C)
publicclasstest
{
publicstaticvoidmain(Stringargs[])
{
inta=0;
outer:
for(inti=0;i<2;i++)
{
for(intj=0;j<2;j++)
{
if(j>i)
{
continueouter;
}
a++;
}
}
System.out.println(a);
}
}
A.0
B.2
C.3
D.4
36.下列数组定义及赋值,错误的是(B)
A. intintArray[];
B. intArray=newint[3];
intArray[1]=1;
intArray[2]=2;
intArray[3]=3;
C. inta[]={1,2,3,4,5};
D. int[][]=newint[2][];
a[0]=newint[3];
a[1]=newint[3];
37.在java中,字符串由java.lang.String和(B)定义
A. java.lang.StringChar
B. java.lang.StringBuffer
C. java.io.StringChar
D. java.io.StringBuffer
二、填空题
1.在java语言中,boolean型常量只有true和false两个值。
2.标识符是以字母、下划线、美元符号作为首字母的字符串序列。
3.下面的语句是声明一个变量并赋值:
booleanb1=5!
=8;
b1的值是true。
4.(红)在java程序中,用关键字final修饰的常量对象创建后就不能再修改了。
5.(红)数据类型包括简单数据类型和复合数据类型。
复合数据类型又包括类、数组、接口。
6.八进制整数012表示十进制的10。
7.浮点型数据属于实型数据,分为float和double两种类型。
8.类变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个类.
9.java语言中的各种数据类型之间提供自动转换,如第1操作数是byte类型,第2操作数是float类型,其结果是float类型。
10.在java语言中,如果数值后没有字母,计算机默认值为double类型。
11.下面程序分别用while、do-while和for语句实现1~10累计求和。
请在横线处填入适当内容完成程序。
PublicclassSum
{
publicstaticvoidmain(Stringargs[])
{
System.out.println(“\\n*****while循环*****”);
intn=10,sum=0;
while(n>0)
{
sum+=n;
n--;
}
System.out.println(“sumis”+sum);
System.out.println(“\\n******do_while循环******”);
n=0;
sum=0;
do
{
sum+=n;
n++;
}
while(n<=10);
System.out.println(“sumis”+sum);
System.out.println(“\\n******for循环******”);
sum=0;
for(intI=1;I<=10;i++)
{
sum+=I
}
System.out.println(“sumis”+sum);
}
}
12.(红)定义double型数组
doubled1[]={1.2,2.3,3.4,4.5,5.6}
则d1[2]=3.4
13.数组是有序数据的集合,数组中的每个元素具有相同的_数据类型
14.下列程序输出结果为:
14,s
publicclasstest
{
publicstaticvoidmain(Stringargs[])
{
Strings=”Iamastring!
”;
Intn=s.length();
Charc=s.charAt(7);
System.out.println(n);
System.out.println(c);
}
}
第五章面向对象程序设计
一、选择题
1.(红)下列不属于面向对象编程的三个特征的是(B)
A. 封装
B. 指针操作
C. 多态性
D. 继承
2. 类所实现的接口以及修饰不可以是(D)
A. public
B. abstract
C. final
D. void
3. 下列类的定义,错误的是(D)
A. publicclasstestextendsObject{
……
}
B. finalclassoperators{
……
}
C. classPoint{
……
}
D. voidclassPoint{
……
}
4.(红)关键字supper的作用是(D)
A. 用来访问父类被隐藏的成员变量
B. 用来调用父类中被重载的方法
C. 用来调用父类的构造函数
D. 以上都是
5. 下面程序定义了一个类,关于该类说法正确的是(D)
abstractclassabstractClass{
……
}
A. 该类能调用newabstractClass(),方法实例化为一个对象
B. 该类不能被继承
C. 该类的方法都不能被重载
D. 以上说法都不对
6. 关于对象的删除,下列说法正确的是(B)
A. 必须由程序员完成对象的清除
B. java把没有引用的对象作为垃圾收集起来并释放
C. 只有当程序中调用System.gc()方法时才能进行垃圾收集
D. java中的对象都很小,一般不进行删除操作。
7. 下列说法正确的是(C)
A. java中包的主要作用是实现跨平台功能
B. package语句只能放在import语句后面
C. 包(package)由一组类(class)和界面(interface)组成
D. 可以用#include关键词来标明来自其它包中的类;
8.(红)关于构造方法,下列说法错误的是(B)
A. 构造方法不可以进行方法重写
B. 构造方法用来初始化该类的一个新的对象
C. 构造方法具有和类名相同的名称
D. 构造方法不返回任何数据类型
9.(红)请将程序补充完整
1.abstractclassC
2.{
3. abstractvoidcallme()
4. voidmetoo
5. {
6. System.out.println(“类C的metoo()方法”);
7. }
8. }
9. classDextendsC
10. {
11. voidcallme()
12. {
13. System.out.println(“重载C类的callme()方法”);
14. }
15. }
16. publicclassAbstract
17. {
18. publicstaticvoidmain(Stringargs[])
19. }
20. Cc=newD();
21. c.callme();
22. c.metoo();
23. }
24. }
二、填空题
1.(红)把对象实例化可以生成多个对象,使用new运算符为对象分配内存空间。
2. java程序引入接口的概念,是为了弥补只允许类的单继承的缺憾。
3.(红)java语言以类为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
4. 抽象方法只能存在于抽象类中。
抽象方法用关键字abstract来修饰。
5. java语言中Object是所有类的根.
6.(红)在java中有一种叫做构造函数特殊方法,在程序中用它来对类成员进行初始化.
7. new是创建对象的操作符.
8. 继承主要强调子类在父类的基础上取”长”补”短”,而多态性主要强调的是类与类之间的传输
9. 我们在java程序中,把关键字supper加到方法名称的前面,来实现子类调用父类的方法
10. 定义一个类包括定义类头和定义类体两个部分
11.(红)在java程序里,同一类中重载的多个方法具有相同的方法名和不同的参数列表.重载的方法可以有不同的返回值类型
12.java是面向对象语言,对象是客观事物的实体,对象与之是一一对应的,它是很具体的概念.
13.java语言通过接口支持多重继承,使类继承具有更灵活的扩展性
14. 一个对象的生命周期包含三个阶段:
生成,使用和清除
15. java语言中,调用方法时,参数传递是值调用,而不是地址调用
16. 接口是一种只含有抽象方法或常量的一种特殊抽象类
17. 创建一个类就是创建一个新的数据类型,而类在java中属于不能数据类型。
18. abstract方法复合(不能或能)与final并列修饰同一个类
19.(红)如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的参数个数必须是不同的,这种现象称为方法的重载。
第六章