JAVA各章习题及答案docWord文件下载.docx
- 文档编号:8682184
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:34
- 大小:46.87KB
JAVA各章习题及答案docWord文件下载.docx
《JAVA各章习题及答案docWord文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA各章习题及答案docWord文件下载.docx(34页珍藏版)》请在冰点文库上搜索。
(A)不支持多线程(B)一个Java源文件不允许有多个公共类
(C)Java通过接口支持多重继承(D)Java程序分为Application和Applet两类
【解析】Java是支持多线程的语言。
9.阅读下列代码,选出该代码段正确的文件名(C)o
classA(
voidmethod1()(
System.out.println("
MethodlinclassA"
);
}
publicclassB(
voidmethod2()(
System.out.println(HMethod2inclassB"
publicstaticvoidmain(String[]args)(
main()inclassB"
(A)A.java(B)A.class
(C)B.java(D)B.class
【解析】Java源文件名必须和公共类的名字完全一样,源文件的扩展名为.java。
10.编译下面源程序会得到哪些文件(D)?
classAl(
classA2{
)
(A)只有B.class文件(B)只有Al.class和A2.class文件
(C)编译不成功(D)Al.class>
A2.class和B.class文件
【解析】由于该程序包含3个类,每个类编译后都会生成1个字节码文件,因此编译后会生成以这3个类名命名的字节码文件。
二、填空题
1.Java程序的编译和执行模式包括2点,是半编译和半解释。
2.Java语言支持TCP/IP协议,从而使得Java程序在分布式环境中能够很方便地访问处于不同地点的对象。
3.开发Java程序的一般步骤是:
源程序编辑、生成字节码和解释执行。
4.每个JavaApplication程序可以包括许多方法,但是必须有且只能有一个main。
方法,统一格式为publicstaticvoidmain(String「]args),它是程序执行的入口。
5.JVM把字节码程序与各种不同的操作系统和硬件分开,使得Java程序独立于平台。
6.在Java程序中,能在WWW浏览器上运行的是Applet程序。
7.Java源程序文件和字节码文件的扩展名分别为.java和.class。
8.如果在Java程序中需要使用java.utile包中的所有类,则应该在程序开始处加上importjava.utitle.*语句。
1.下列(D)是合法的标识符?
(A)12class(B)void(C)-5(D).blank
【解析】根据Java标识符的构成规则确定。
2.下列(B)不是Java中的保留字?
(A)if(B)sizeof(C)private(D)null
【解析】根据Java保留字表进行选择。
3.下列(C)不是合法的标识符?
(A)$million(B)$_million(C)2$_million(D)$2_million
4.下列选项中,(B)不属于Java语言的基本数据类型?
(A)整数型(B)数组(C)浮点型(D)字符型
【解析】根据Java语言的基本数据类型包含的类别选取。
5.下列关于基本数据类型的说法中,不正确的一项是(D)。
(A)boolean类型变量的值只能取真或假
(B)float是带符号的32位浮点数
(C)double是带符号的64位浮点数
(D)char是8位Unicode字符
【解析】Java中的字符采用的是16位的Unicode字符。
6.下列关于基本数据类型的取值范围的描述中,正确的一个是(B)。
(A)byte类型的取值范围是-128〜128(B)boolean类型的取值范围是真或假
(C)char类型的取值范围是0〜65536(D)short类型的取值范围是-32767〜
32767
【解析】根据每种类型占几个字节即可推算出其取值范围,如byte类型占1个字节,即共包含28个数值,其取值范围范围应为-128〜127,其他类型也是如此。
7.下列关于Java语言简单数据类型的说法中,正确的一项是(A)。
(A)以0开头的整数代表8进制整型常量
(B)以Ox或0X开头的整数代表8进制整型常量
(C)boolean类型的数据作为类成员变量的时候,相同默认的初始值为true
(D)double类型的数据占计算机存储的32位
【解析】根据每种数据类型的特性进行判断。
8.下列Java语句中,不正确的一项是(C)。
(A)$e,a,b=10;
(B)chare,d='
a'
;
(C)floate=O.Od;
(D)doublec=O.Of;
【解析】不能将double类型的常量赋值给float类型的变量。
9.在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是(D)。
(A)byte的默认值是0(B)boolean的默认值是false
(C)char类型的默认值是,\0'
(D)long类型的默认值是0.0L
【解析】long类型的默认值是0L,而不是O.OLo
10.下列语句中不正确的一个是(B)。
(A)floatf=l.lf;
(B)byteb=128;
(C)doubled=1.1/0.0;
(D)charc=(char)1.If;
【解析】bytel类型变量的取值范围是-128〜127。
11.下列表达式1+2+"
aa"
+3的值是(B)。
(A)"
12aa3"
(B)"
3aa3"
(C)"
12aa"
(D)"
aa3"
【解析】整数和整数相加得到两个整数的和,而整数和字符串相加得到的是字符串。
12.已知y=2,z=3,n=4,则经过n=n+-y*z/n运算后n的值为(A)。
(A)3(B)-1(C)-12(D)-3
【解析】根据运算符的优先级,该表达式相当于n=n+((-y)*z)/n。
13.已知a=2,b=3,则表达式a%b*4%b的值为(A)。
(A)2(B)1(C)-1(D)-2
【解析】根据运算符的优先级,该表达式相当于((a%b)*4)%b。
14.已知x=2,y=3,z=4,则经过z-=-y-x-运算后,z的值为(D)。
(A)1(B)2(C)3(D)4
【解析】在表达式运算过程中,-y的值变为2,x—的值还是2,等号右侧运算后的值为0,因此z的值没有变化。
15.表达式(12==0)&
&
(1/0<
1)的值为(B)o
(A)true(B)false(C)0(D)运行时抛出异常
【解析】由于(12==0)的值为false,因此整个表达式发生短路运算,即(1/0<
1)就没有参与运算,整个表达式的值为false。
16.设有类型定义shorti=32;
longj=64;
下面赋值语句中不正确的一个是(B)
(A)j=i;
(B)i=j;
(C)i=(short)j;
(D)j=(long)i;
【解析】long类型的数据不能自动转变为short类型,因此不能将long类型的变量直接赋值给short类型。
17.现有1个char类型的变量cl=66和1个整型变量i=2,当执行cl=cl+(char)i;
语句后,cl的值为(D)。
(A)'
d'
(B)'
D'
(C)68(D)语句在编译时出错
【解析】两个字符型的数据相加,得到的是一个整数,而如果把整数再赋值给一个字符型变量则会在编译时出错。
18.下列说法中,正确的一项是(D)。
(A)字符串"
Wabcd"
的长度为6(B)False是Java的保留字
(C)123.45L代表单精度浮点型(D)False是合法的Java标识符
【解析】Java语言对字符的大小写是敏感的,False不是false,因此False是合法的Java标识符。
19.以下的变量定义语句中,合法的是(D)
(A)float_*5=123.456F;
(B)byte$_bl=12345;
(C)int_long_=123456L;
(D)doubled=Double.MAX_VALUE;
【解析】
(A)中_*5不是合法的标识符,(B)中12345超出byte范围,(C)中不能将long类型的常量赋值给int型的变量。
20.下列关于运算符优先级的说法中,不正确的一个是(C)
(A)运算符按照优先级顺序表进行运算
(B)同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的
(C)同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的
(D)括号可以改变运算的优先次序
【解析】同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的。
1.变量是Java程序的基本存储单元之一,变量的主要类型包括2大类:
字符型和数值型。
2.Java语言的整数类型变量和常量一样,各自都包括4种类型的数据,它们分别是byte、
int、short和longo
3.boolean类型数据不可以做类型转换。
4.在Java语言的基本数据类型中,占存储空间最少的类型是boolean,该类型占用的存储空间为1位。
5.Java语言中的保留字具有特殊意义和作用,不能作为普通标识符使用。
6.在Java语言中,浮点类型数据属于实型数据,可以分为单精度和双精度两种。
7.char类型的数据可以表示的字符数共为65536。
8.定义初始值为10的8次方的常整型变量iLong的语句是finaliLong=100000000L。
9.Java语言中的数据类型转换包括自动转换和强制转换两种。
10.Java中的字符采用的是16位的Unicode编码。
11.数据类型中存储空间均为64位的两种数据类型是long和double。
12.表达式9*4/-5%5的值为-2。
(十进制表示)
13.表达式5&
2的佰为0。
14.表达式42<
<
4的值为672。
15.表达式11010011»
>
3的值为11010。
(二进制表示)
16.表达式7|3的值为。
17.表达式10人2的值为o(十进制表示)
18.Java语言中的逻辑与(&
)和逻辑或(II)运算采用短路方式进行运算。
19.若a、b为int型变量,并且已分别赋值为5和10,则表达式(a++)+(++b)+a*b的值为82»
20.假设i=10,j=20,k=30,则表达式!
(i<
j+k)||!
(i+10<
=j)的值为false。
第3章
1.下列(D)不属于Java语言流程控制结构?
(A)分支语句(B)跳转语句(C)循环语句(D)赋值语句
【解析】Java语言流程控制结构只包括分支、循环和跳转三种语句。
2.假设a是int类型的变量,并初始化为1,则下列(D)是合法的条件语句?
(A)if(a){}(B)if(a«
=3){}(C)if(a=2){}(D)if(true)(}
【解析】条件语句中的“条件表达式”只能是boolean类型,不能是其他类型。
3.下列说法中,不正确的一个是(C)。
(A)switch语句的功能可以由if...elseif语句来实现
(B)若用于比较的数据类型为double型,则不可以用switch语句来实现
(C)if...elseif语句的执行效率总是比switch语句高
(D)case子句中可以有多个语句,并且不需要大括号{}括起来
【解析】语句的执行效率高低要根据具体语句来确定,不能简单地说if...elseif语句的执行效率总是比switch语句高。
4.设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是(B)。
(A)switch(x+y)(}(B)switch(ch+l){)
(C)switchch{}(D)switch(a+b);
{}
【解析】switch后面的表达式必须放在括号0中,且表达式的类型只能是byte、short、int和char类型,不能是其他类型。
5.下列循环体执行的次数是(C)。
inty=2,x=4;
while(—x!
=x/y){}
【解析】第1次执行while时,-x的值为3,3/2=1,满足等号两端值不等的条件,执行一次循环体;
第2次执行while时,-x的值为2,2/2=1,条件满足,又执行一次循环体;
第3次执行while时,-X的值为1,1/2=0,条件满足,再次执行一次循环体;
第4次执行while时,-X的值为0,0/2=0,条件不满足满足,结束循环。
因此在这个循环语句执行的过程中,循环体共执行了3次。
6.下列循环体执行的次数是(B)。
intx=10,y=30;
do{y-=x;
x++;
}while(x++<
y—);
【解析】执行1次循环体后,y的值为20,x值为11,然后执行while,此时x++的值为11,y—的值为20,因此x++<
y一条件满足,判断完后,x的值变为12,y的值变为19;
接着执行第2次循环体,执行完第2次循环体后,y的值为9,x值为13,然后执行while,此时x++的值为13,y—的值为9,因此x++<
y—条件不满足,结束循环。
因此在这个循环语句执行的过程中,循环体共执行了2次。
7.已知如下代码:
switch(m)(
case0:
System.out.println(nCondition0"
case1:
System.out.println("
Condition1"
case2:
System.out.println(nCondition2"
case3:
System.out.println(nCondition3"
break;
default:
OtherCondition'
*);
当m的值为(D)时,输出“Condition3”
(A)2(B)0、1(C)0、1、2(D)0、1、2、3
【解析】当m的值为0、1、2、3时,都能输出“Condition3”,因为case0、easel、case2后面的语句都没有break,因此可以继续向后执行。
1.跳转语句包括break、continue>
return和throw
2.switch语句先计算switch后面的表达式的值,再和各case语句后的值做比较。
3.if语句合法的条件值是一boolean类型。
4.continue语句必须使用于循环语句中。
5.break语句有两种用途:
一种从switch语句的分支中跳出,一种是从循环语句内部跳出。
6.do—while循环首先执行一遍循环体,而while循环首先判断表达式的值。
7.与C++语言不同,Java语言不通过一goto语句实现跳转。
8.每一个else子句都必须和它前面的一个距离它最近的子句相对应。
9.在switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句,则会继续执行后面的case语句块。
10.在for循环语句中可以声明变量,其作用域是for循环体。
第4章
1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?
(D)
(A)protected(B)public(C)default(D)private
【解析】只有私有访问权限修饰符才能限制变量只能在本类中被访问。
2.在Java语言中,哪一个包中的类是自动导入的?
(A)
A)java.langB)java.awtC)java.ioD)java.applet
【解析】只有java.lang包中的类能够被自动导入。
3.给出下面的程序代码:
publicclassX4_l_3(
privatefloata;
publicstaticvoidm(){)
如何使成员变量a被方法m()访问(C)
(A)将privatefloata改为protectedfloata(B)将privatefloata改为publicfloata
(C)将privatefloata改为staticfloata(D)将privatefloata改为floata
【解析】static类型的方法只能访问static类型的数据成员。
4.有一个类B,下面为其构造方法的声明,正确的是(B)o
(A)voidB(intx)(}(B)B(intx)()
(C)b(intx)(}(D)voidb(intx)()
【解析】构造方法没有类型,且方法名与类名相同。
5.下面关于类的说法,不正确的是(C)。
(A)类是同种对象的集合和抽象(B)类属于Java语言中的复合数据类型
(C)类就是对象(D)对象是Java语言中的基本结构单位
【解析】类是对象的抽象,对象是类的实例,因此类和对象是有区别的。
6.下面关于方法的说法,不正确的是(C)o
(A)Java中的构造方法名必须和类名相同
(B)方法体是对方法的实现,包括变量声明和合法语句
(C)如果一个类定义了构造方法,也可以用该类的默认构造方法
(D)类的私有方法不能被其他类直接访问
【解析】类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法。
7.关于内部类,下列说法不正确的是(A)o
(A)内部类不能有自己的成员方法和成员变量
(B)内部类可用private或protected修饰符修饰
(C)内部类可以作为其他类的成员,而且可访问它所在的类的成员
(D)除static内部类外,不能在类内声明static成员
【解析】内部类也可以有自己的成员方法和变量。
8.定义外部类时不能用到的关键字是(C)。
(A)final(B)public(C)protected(D)abstract
【解析】定义外部类不能使用protected修饰符。
9.为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为(D)
(A)abstractvoidf()(B)publicvoidf()
(C)finalvoidf()(D)staticvoidf()
【解析】只有static类型的方法才可以直接使用类名来引用。
10.定义一个公有double型常量PI,哪一条语句最好?
(B)
(A)publicfinaldoublePI;
(B)publicfinalstaticdoublePI=3.14;
(C)publicfinalstaticdoublePI;
(D)publicstaticdoublePI=3.14;
【解析】用publicfinalstatic来定义常量,既可以节省存储空间,又可以保证数值不会被改变。
1.对象是对事物的抽象,而类是对对象的抽象和归纳。
2.从用户的角度看,Java源程序中的类分为两种:
系统定义的类和用户自己定义的类。
3.一个类主要包含两个要素:
数据成员和成员方法。
4.创建包时需要使用关键字package。
5.类中的构造方法是一个特殊的方法,该方法的方法名和类名相同。
6.如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个甄构造方法。
这个方法没有形式参数,也没有任何具体语句,不能完成任何操作。
7.静态数据成员被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中。
因此,一个类的任何对象访问它时,存取到的都是相同(相同/不同)的数值。
8.静态数据成员既可以通过对象名来访问,也可以通过类名直接访问它。
9.定义常量时要用关键字final,同时需要说明常量的数据类型并指出常量的具体值。
10.方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 各章 习题 答案 doc