java练习题答案.docx
- 文档编号:30155521
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:40
- 大小:29.65KB
java练习题答案.docx
《java练习题答案.docx》由会员分享,可在线阅读,更多相关《java练习题答案.docx(40页珍藏版)》请在冰豆网上搜索。
java练习题答案
第1章java语言概述习题
1、填空题
1、面向对象程序的主要特征:
继承,__封装___,___多态_____。
2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重用或复用___.
3、java语言中,为将源代码翻译成__字节码__文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
4、javac是java语言中的编译器,基本语法是:
javac[选项]__文件名__,java是java语言中的解释执行器,基本语法是:
java[选项]___类名___.
5、java语言的主要贡献者是谁Jamesgosling
2、[
3、单选题
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A、javaB、.classC、htmlD、.exe
2、main方法是JavaApplication程序执行的入口点,关于main方法的方法首部,
以下(B)项是合法的。
A、publicstaticvoidmain()
B、publicstaticvoidmain(Stringargs[])
C、publicstaticintmain(String[]arg)
)
D、publicvoidmain(Stringarg[])
三、判断
1、Java语言具有较好的安全性和可移植性及与平台无关等特性。
√
2、Java语言的源程序不是编译型的,而是编译解释型的。
√
四、问答题
1、编写、运行java程序需要经过哪些主要步骤
答:
1.编写源文件,扩展名必须是.java
2.编写java源程序,使用java编译器编写源文件,得到字节码文件
~
3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字节码文件。
2、阅读下列java源代码文件,并回答问题
publicclassSpeak{
voidspeakHello(){
"I'mgladtomeetyou");
}
}
…
classXiti8{
publicstaticvoidmain(Stringargs[]){
Speaksp=newSpeak();
();
}
}
(1)上述源文件的名字是什么
(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么
}
第2章
(1)基本数据类型练习题
一、填空题
1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.
2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_float__和__double__两种具体类型。
3、Java中的浮点类型有两类,分别是float和double类型,其中float取7___位有效数据,double取_15__位有效数据。
4、布尔类型常量只有两个__true___和__false____,其中前者表示逻辑真,后者表示逻辑假。
~
5、浮点型常量又称实型常量,用于表示有小数部分的十进制数,它有两种表示形式:
__小数形式____和__指数形式______。
6、java语言中的各种数据类型之间提供自动转换,如第一种操作数为byte,而第二种操作数为float,则其结果是__float___类型。
7、java语言的各种数据类型之间提供两种转换,分别是__自动转换__和_强制转换____。
8、开发与运行Java程序需要经过的三个主要步骤为编写源程序、编译生成字节码文件和解释运行字节码文件。
Java程序中的单行注释符是(charch=“a”;B.charch=‘\’‘;
C.charch=‘cafe’;D.charch=“cafe”;
E.charch=‘\ucafe’;F.charch=‘\u10100’;
G.charch=(char)true;
~
三、判断
1、Java语言使用的是Unicode字符集,每个字符在内存中占8位。
×,16位
2、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。
√
四、单选
1、以下哪个不是Java的基本数据类型(B)
A、intB、BooleanC、floatD、char
2、如下哪个是Java中有效的关键字(c)
A、nameB、helloC、falseD、good
】
第2章
(2)数组练习题
一、填空题
1、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0-4)。
二、多选
1、定义如下的二维数组b,下面的说法正确的是(ACD)。
intb[][]={{1,2,3},{4,5},{6,7,8}}};
A)的值是3。
B)b[1].length的值是3。
B).
C)C)b[1][1]的值是5。
D)二维数组b的第一行有3个元素
三、单选
1、以下哪项是main方法的正确形参(B)
A、StringargsB、Stringar[]C、CharargD、StringBufferargs[]
2、有整型数组:
int[]x={12,35,8,7,2};,则调用方法(x)后,数组x中的元素值依次是(A).
A)2781235B)1235872C)3512872D)8712352
3、应用程序的源程序如下,在命令行键入:
javaTestaaabbc,回车后输出的结果是(A)。
:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=;
intk2=args[1].length();
""+k2);
}
}
A)32B)12C)13D)33
4、)
5、关于下面代码的说法(C)是正确的
publicclassExample{
publicstaticvoidmain(String[]args){
int[]arr=newint[10];
}
}
A、编译时产生错误
B、编译时正确,运行时将产生错误
。
C、输出零
D、输出空(null)
第3章
(1)运算符&表达式&if语句练习题
一、填空
1、Java中,除了_字符型____和___布尔型__外,其他的所有的基本数据类型都支持加,减,乘,除四则运算。
2、短路逻辑运算符包括___&&___和___||___。
~
3、Java提供了&,&&和|,||运算符,除了一点外,&运算符和&&运算符在使用中完全相同,|运算符和||运算符也相同。
它们的不同点在于:
__&__运算符和___|运算符中的两个运算对象都要运算。
4、顺序执行以下两个语句的输出结果是:
__10_____。
Strings=”我喜欢学习java!
”;
5、下面代码定义了两个整型变量和一个字节型变量,则将num1+num2的值赋给num3变量的语句是______num3=(byte)(num1+num2)_______。
intnum1=53;
intnum2=47;
bytenum3;
、
6、下面代码中,“Type”应该换成什么类型__double______
publicclassReturnIt{
returnTypemethodA(bytex,doubley){
return(long)x/y*2;
}
}
7、Java语言提供了两条基本的分支选择语句:
_if___语句和switch____语句
·
8、以下程序段的输出结果为Messagefour
intx=0,y=4,z=5;
if(x>2){
if(y<5){
"Messageone");
}
else{
"Messagetwo");
[
}
}
elseif(z>5){
"Messagethree");
}
else{
"Messagefour");
}
¥
二、单选
1、下面选项中,__D___的值与3*4的值相等
A.3/2B.3<2C.3*2^2D.3<<2
2、下面选项中,D_____的值与16/2^12的值相等
A.16>4B.16/2C.16*4D.16>>2E.16>>>2
3、有以下方法的定义,请选择该方法的返回类型(D)。
ReturnTypemethod(bytex,doubley){
-
return(short)x/y*2;
}
A、byteB、shortC、intD、double
第3章
(2)switch&循环语句练习题
一、填空题
1、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
…
ints=0;
for(inti=0;i<;i++)
if(i%2==1)
s+=MyIntArray[i];
;
case2+1:
isthree.”);break;default:
is“+j);break;}
6.如果x=2;则下面程序执行后的结果是_34_____
switch(x){
|
case1:
case2:
case3:
case4:
}
7、下面代码执行结束后l和j的值分别是___5,6___
publicstaticvoidmain(String[]args){
intj=10;
intl=1;
do{
.
if(l++>--j)continue;
}while(l<5);
}
8、下面程序序的运行结果为(20)
classtest{
publicstaticvoidmain(Stringargs[]){
intsum=0;
for(inti=0;i<10;i++){
[
if(i%2==0)
sum+=i;
elsecontinue;
}
}
}
二、单选
1、应用程序的main方法中有以下语句,则输出的结果是(B)。
*
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;i<;i++){
for(intj=0;j
sum+=b[i][j];}}
"sum="+sum);
A)32B)11C)2D)3
2、应用程序的main方法中有以下语句,则执行后输出的结果是(D)int[]x={125,21,5,168,98};
)
intmax=x[0];
for(inti=1;i<;i++){
if(x[i]>max)max=x[i];
}
A)125B)5C)98D)168
第4章
(1)类和对象练习题
.
一、填空
1、面向对象程序的主要特征:
继承,____封装___________,___多态___________。
2、____构造方法_是类中的一种特殊方法,用来定义对象的初始状态。
3、构造方法在__创建对象__时被调用。
4、系统类Math的random()方法可用来产生之间的实数,则产生一个50
-100之间的整数的程序语句是_(int)()*50+50______。
5、下面代码执行结束之后,打印出来的结果是__4____
publicclassHappy{
、
publicstaticvoidmain(Stringargs[]){
inti=4;intj=2;methodA(i,j);
}
}
staticpublicvoidmethodA(inti,intj){
i<<=j;
}
}
·
☆6、在java语言中,有一个类是所有类和接口的父类,这个类的名称是。
7、构造方法在__创建对象__时被调用。
8、java运行系统通过垃圾回收机制/GC____周期性的释放无用对象所占用的内存,以完成对象的消除。
9、阅读以下程序,输出结果为。
classQ1{
publicstaticvoidmain(Stringargs[]){
doubled=;
Decdec=newDec();
"
(d);
}
}
classDec{
publicvoiddecrement(doubledecMe){
decMe=decMe;
}
~
}
10、阅读程序
publicclassTest{
intx=12;publicvoidmethod1(intx){
x+=x;
}
}
如果有如下的代码段:
~
Testt=newTest();
(5);
程序执行到这个地方,代码输出结果是__10___
11、定义在类中的变量为_成员变量___,它不需要进行显式的初始化,定义在方法中的变量为__局部变量__,它需要进行显式的初始化。
12、面向对象的模型中,最基本的概念是__类_和_对象__。
二、多选题
13、下面选项中,__AC_______是合法的构造方法的重载ConstOver(){}
|
B.ProtectedintConstOver(){}
C.PrivateConstOver(intz,inty,bytex){}
D.PublicObjectConstOver(intx,inty,intz){}
E.PublicvoidConstOver(bytex,bytey,bytez){}
14、下面说法中___AC___是对方法setVar()重载的方法。
publicclassMethodOver{
publicvoidsetVar(inta,intb,floatc){}
'
}
A.PrivatevoidsetVar(inta,floatc,intb){}
B.ProtectedvoidsetVar(inta,intb,floatc){}
C.PublicintsetVar(inta,floatc,intb){returna;}
D.PublicintsetVar(inta,intb,floatc){returna;}
E.ProtectedfloatsetVar(inta,intb,floatc){returnc;}
。
第4章
(2)可变参数,static与this练习题
一、填空题
1、在下面程序划线处填入适当的内容。
classMyClass{
staticintvar=100;
____static
publicstatic___
intgetVar(){returnvar;
'
}
}
2、以下程序段的输出结果为intversion______。
classCruncher{voidcrunch(inti){
version”);
}
voidcrunch(Strings){
version”);
【
}
publicstaticvoidmain(Stringargs[]){
Crunchercrun=newCruncher();
charch=’p’;
(ch);
}
}
3、以下程序段的输出结果为_IntegerString____。
;
classIntORString{voidiosM(inti){
”);
}
voidiosM(Strings){
”);
}
publicstaticvoidmain(Stringargs[])
{
。
IntORStringios=newIntORString();
(‘a’);
(“1”);
}
}
4、如果有个类A,该类中有成员变量b和成员方法c(),则在创建该类得对象a后,对该对象的成员变量和成员方法的调用方式分别是,__a,c()__。
5、以下代码段创建了__2_个对象,声明了_3____个变量。
Thingitem,stuff;
|
item=newThing();
Thingentity=newThing();
6、通过类MyClass中的不含参数的构造函数象obj,可通过以下语句实现:
_MyClassobj=newMyClass()________。
7、下面____AD_____情况下,系统会为类A自动产生构造函数
A.classA{}B.classA{publicA(){}}
C.classA{publicA(intx){}}D.classZ{}classAextendsZ{voidA(){}}
8、请问构造函数、成员变量初始化以及静态成员变量初始化三者的先后顺序是__静态成员变量初始化,成员变量初始化,构造函数_____。
\
9、划线处应填的一句代码:
_this(a)_______。
publicclassExample{
intx,y;
publicExample(inta){
x=a;
}
publicExample(inta,intb){
_this(a)__________;
2、·
3、java中提供了四种访问控制符,分别是:
public__________,___protected________,_private________,____缺省(friendly)________
3、以下程序段的输出结果为_true,false_________。
publicclassEqualsMethod{
publicstaticvoidmain(String[]args){
Integern1=newInteger(47);
Integern2=newInteger(47);
=n2);
=n2);
@
}
}
4、在java中,将具有相同属性的对象抽象成_类___。
然后将它按照程序设计所需要的常用方法和接口封装成__包_。
5、创建一个名为MyPackage的包的语句是packageMypackage,
该语句应该放在程序的位置为:
放在程序的第一句。
6、导入mypackage包中的所类的命令是importmypackage.*;
2、单选题
:
1、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.privateC.staticD.protected
2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()
3、下列修饰符中与访问控制无关的是(D)
A.privateB.PublicC.protectedD.final
4、void的含义:
(A)
A.&
B.方法没有返回值B.方法体为空
C.没有意义D.定义方法时必须使用
5、关于对象成员占用内存的说法哪个正确(B)
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
6、》
7、定义一个类,必须使用的关键字是(B)
A、publicB、classC、interfaceD、static
第5章
(1)继承与多态练习题答案
1、选择题
1、关于继承的说法正确的是:
(B)
A、子类将继承父类所有的属性和方法。
"
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
2、this和super:
(B)
A、都可以用在main()方法中
B、都是指一个内存地址
C、不能用在main()方法中
\
D、意义相同
3、关于super的说法正确的是:
(B)
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
—
4、覆盖与重载的关系是(A)
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
5、定义一个类,必须使用的关键字是(B)
A、public
[
B、class
C、interface
D、static
6、如果有如下这样一段代码
classA{
A(){}
}
classBextendsA{
^
}
请在下面项中,正确的说法是:
____________BD
A、类B的构造函数的访问权限是public
B、类B的构造函数没有参数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 练习题 答案