JAVA各章习题及答案 全解.docx
- 文档编号:7757996
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:35
- 大小:87.37KB
JAVA各章习题及答案 全解.docx
《JAVA各章习题及答案 全解.docx》由会员分享,可在线阅读,更多相关《JAVA各章习题及答案 全解.docx(35页珍藏版)》请在冰豆网上搜索。
JAVA各章习题及答案全解
第1章Java入门
一、选择题
1.下列选项中,不属于Java语言特点的一项是(C)。
内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
)安全性)分布式(B(A5.Java语言属于(B)种语言?
(C)编译执行(D)面向对象(【解析】Java程序采用解释执行的方法。
在系统编译A)面向机器的语言(B)面向对象的语言
(C)面向过程的语言(Java运行Java程序时,编译器将Java程序转化为字节码,D)面向操作系统的语言
【解析】Java语言是一种纯面向对象的语言。
在运行时,解释器将编译得到的字节码进行解释执行。
6.下列关于Application和Java2.在语言中,(C)是最基本的元素?
Applet程序的说法中不正确的一项是(B(B)包)。
A()方法
(A)Application使用解释器(C)对象(D)接口java.exe
(B)Application。
不使用独立的解释器构成【解析】Java程序的基本元素类(抽象的对象)(3个类和10个方法的Java源文件后,C)Applet在浏览器中运行编译一个定义了3.(D)Applet会产生(D)个字节码文件?
扩展名是(D)?
必须继承Java的Applet类
【解析】Application程序包含个字节码文件,扩展名为(A)13.classmain()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
B()1个字节码文件,扩展名为.class
7.下列选项中,不属于3(C)个字节码文件,扩展名为.javaJava核心包的一项是(A)。
(A个字节码文件,扩展名为.class)javax.swing(B)java.io3(D)(源文件中的每一个类编译后都会生成一个字【解析】C)java.utile(D)java.lang
【解析】凡是以节码文件,字节码文件的扩展名是.class。
java开头的包都是Java核心包,以
javax开头的包则属于Java应用程序时,需要用户考虑问题是(.在创建4Applet扩展包。
8.下列描述中,不正确的是(A)。
。
B)
()绘制的图形在窗口中的(BA)不支持多线程)窗口如何创建(A
(位置B)一个Java源文件不允许有多个公共类
(D)程序的框架()事件处理C)Java通过接口支持多重继承C((AppletApplet【解析】创建程序时必须继承系统类,D)Java程序分为Application和Applet两类
【解析】类中已经包含了如何创建窗口以及事件处理等Applet而Java是支持多线程的语言。
【解析】Java源文件名必须和公共类的名字完全一样,源文件的扩展名为.java。
10.编译下面源程序会得到哪些文件(。
D)?
)C9.阅读下列代码,选出该代码段正确的文件名(classA1{classA{
}
voidmethod1(){
classA2{System.out.println(Method1inclassA);
}
}
publicclassB{}
publicstaticvoidmain(String[]args){publicclassB{
voidmethod2(){}
}
System.out.println(Method2inclassB);
}(A)只有B.class文件(B)只有A1.classpublicstaticvoidmain(String[]args){和A2.class文件
System.out.println(main()inclassB);(C)编译不成功(D)A1.class、}A2.class和B.class文件
}
【解析】由于该程序包含3个类,每个类编译后都会生成(AB1个字节码文件,A.class)因此编译后会生成以这3个类名命(A.java)名的字节码文件。
B.java)C()D(B.class
1
11.编译Java程序时,用于指定生成class文件位
置的选项是(A)。
.-nowarn..-dB-gC.-verboseDA12.下列标识符(名字)命名原则中,正确的是(C)。
14.下面哪些选项是正确的main方法说明?
(DA.类名的首字母小写B.接口名的首字母小写)
AD.变量名和方法名的首字母大写.voidmain()
C.常量全部大写B.privatestaticvoidmain(Stringargs[])13.下面哪种注释方法能够支持javadoc命令?
(C)
C.publicmain(Stringargs[])
/*...*/C./**...*/D./**...**/
//BA..D.publicstaticvoidmain(Stringargs[])
二、填空题5.JVM把字节码程序与各种不同的操作系统和1.Java程序的编译和执行模式包括2点,是半编译硬件。
分开,使得Java程序独立于平台。
和半解释6TCP/IP.在Java程序中,能在WWW浏览器上运行的是协议,从而使得Java程序在Applet2.Java语言支持程序。
分布式环境中能够很方便地访问处于不同地点的对7.Java源程序文件和字节码文件的扩展名分别为。
象.java
和生成字Java3.开发程序的一般步骤是:
源程序编辑、.class。
8.如果在Java和节码解释执行。
程序中需要使用java.utile包中的所有类,则应该在程序开始处加上.每个4JavaApplication程序可以包括许多方法,但是必importjava.utitle.*语句。
publicstaticmain()须有且只能有一个方法,统一格式为
voidmain(String[]args),它是程序执行的入口。
三、判断题1.Java语言具有较好的安全性和可移植性及与平台无关等特性。
(√)
2.Java语言的源程序不是编译型的,而是编译解释型的。
(√)
3.JavaApplication程序中,必有一个主方法main(),该方法有没有参数都可以。
(√)
4.java.util.Scanner(System.in)可以接收用户从键盘输入的简单数据。
(√)
5.Java程序中不区分大小写字母。
(×)
6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。
(√)
7.System类中的println()方法分行显示信息,而print()方法不分行显示信息。
(√)
8.当前路径的标识是“.”。
(√)
9.java命令不区分大小写,而javac命令区分大小写。
(×)
10.printf()和format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。
(√)
11.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。
(×)
2
第2章标识符与简单数据类型
一、选择题
1.下列(D)是合法的标识符?
(A)floatf=1.1f;(B)byteb=128;
(C(D)_blank)doubled=1.1/0.0;(D)charc=(char)1.1f;(A)12class(B)void(C)-5
【解析】bytel类型变量的取值范围是-1282.下列(B)不是Java中的保留字?
~127。
11.下列表达式1+2+aa+3的值是()private(D)nullB)。
)(A)if(Bsizeof(C(A)
aa3(B3.下列(C)不是合法的标识符?
)aa3(C)
aa(D)aa3
【解析】整数和整数相加得到两个整数的和,而整数$million(B)$_million(A)和字符串相加得到的是字符串。
D)$2_million(C)2$_million(12Java4.下列选项中,(B)不属于语言的基本数据类型?
.已知y=2,z=3,n=4,则经过n=n+-y*z/n运算后n的值为(C)浮点型(D)字符型A)。
B(A)整数型()数组((A)3.下列关于基本数据类型的说法中,不正确的一项是5(B)-1(C)-1(D)-3
【解析】。
根据运算符的优先级,该表达式相当于n=n+(D)((-y)*z)/nA()boolean类型变量的值只能取真或假。
13.已知a=2,b=3,则表达式a%b*4%b32位浮点数的值为(A)。
float(B)是带符号的(double(C)是带符号的64位浮点数A)2(B)1(C)-1(D)-2
【解析】根据运算符的优先级,该表达式相当于是8位Unicode字符char(D)((a%b)*4)%b。
UnicodeJava【解析】中的字符采用的是16位的字符。
14.已知x=2,y=3,z=4,则经过z-=.下列关于基本数据类型的取值范围的描述中,正确的6--y–x--运算后,z的值为()。
D)。
一个是(B
(A)1(B)2(C)3(类型的取值范围是)(Abyte-128~128D)4
【解析】在表达式运算过程中,--y的值变为2)(Bboolean类型的取值范围是真或假,x—的值还是类型的取值范围是)(Cchar0~655362,等号右侧运算后的值为0,因此z的值没有变化。
32767
-32767)short类型的取值范围是~D(15.表达式(12==0)&&(1/0<1)根据每种类型占几个字节即可推算出其取值【解析】的值为(B)。
8(A)trueB)21范围,如byte类型占个字节,即共包含个数值,其false(C)0(D)运行时抛出异常
【解析】由于(12==0)的值为false127取值范围范围应为-128~,其他类型也是如此。
,因此整个表达式发生短路运算,即Java(1/0<1)语言简单数据类型的说法中,正确的一就没有参与运算,整个表达式.下列关于7的值为false)A。
。
项是(16A()以进制整型常量.设有类型定义shorti=32;longj=64;下面赋值语句中80开头的整数代表不正确的一个是(B)80X0xB()以或开头的整数代表进制整型常量
(A)j=i;(B)i=j;(相同默boolean)C(类型的数据作为类成员变量的时候,C)i=(short)j;(D)j=(long)i;
【解析】long类型的数据不能自动转变为short类型,true认的初始值为因此不能将long类型的变量直接赋值给位型数据占计算机存储的)D(double32short类型。
17.现有1个char类型的变量c1=66和1个整型变量i=2)Java.下列8语句中,不正确的一项是(C。
,当执行c1=c1+(char)i;;'acharc,d=)B$e,a,b=10;A()(‘语句后,c1的值为(D)。
((floate=0.0d;)C(DA)'d'(B)'D'(C)68)doublec=0.0f;(D)语句在编译时出错
【解析】【解析】不能将类型类型的常量赋值给doublefloat两个字符型的数据相加,得到的是一个整数,而如果把整数再赋值给一个字符型变量则会在编译时出的变量。
错。
程序时,如果不为类的成员变量定义初始Java.在编写918.下列说法中,正确的一项是(下列说法中不正确的一个会给出它们的默认值,Java值,D)。
(A)字符串。
)D是(\\abcd的长度为6
(B)False是Java的保留字falseboolean)B(0的默认值是byteA()的默认值是(''类型的默认值是char)C(\0C)123.45L代表单精度浮点型
()D(longD)False0.0L
类型的默认值是是合法的Java标识符
【解析】10。
)B.下列语句中不正确的一个是(Java语言对字符的大小写是敏感的,False3
不是false,因此False是合法的Java标识符。
(C)
(A)运算符按照优先级顺序表进行运算19.以下的变量定义语句中,合法的是(D)
(B)同一优先级的运算符在表达式中都是按照从左(float_*5=123.456F;B)byte$_b1=12345;(A)到右的顺序进行运算的)int_long_=123456L;
(C(C(D)doubled=Double.MAX_VALUE;
)同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的中12345)(A中_*5不是合法的标识符,(B)【解析】(longC)中不能将类型的常量赋值给intD)括号可以改变运算的优先次序超出byte范围,(【解析】型的变量。
同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的。
.下列关于运算符优先级的说法中,不正确的一个是20二、填空题
1.变量是Java程序的基本存储单元之一,变量的主要类型包括2大类:
字符型和数值型。
2.Java语言的整数类型变量和常量一样,各自都包括4种类型的数据,它们分别是byte、int、short和long。
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的值为7。
(十进制表示)17.表达式10^2的值为8。
(十进制表示)
18.Java语言中的逻辑与(&&)和逻辑或(||)运算采用短路方式进行运算。
19.若a、b为int型变量,并且已分别赋值为5和10,则表达式(a++)+(++b)+a*b的值为82。
20.假设i=10,j=20,k=30,则表达式!
(i (i+10<=j)的值为false。 三、判断题 1.Java语言使用的是Unicode字符集,每个字符在内存中占8位。 (×) 2.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。 (√) 3.所有的变量在使用前都必须进行初始化。 (×) 4.已知bytei=(byte)127;i=i+1;这两个语句能被成功编译。 (√) 5.Stringstr=abcdefghi;charchr=str.charAt(9);(×) 6.char[]chrArray={'a','b','c','d','e','f','g'};charchr=chrArray[6];(√) 7.inti,j;booleanbooleanValue=(i==j);(×) 8.intintArray[]={0,2,4,6,8};intlength=intArray.length();(×) 9.Stringstr=abcedf;intlength=str.length;(×) 10.shortshortValue=220;bytebyteValue=shortValue;(×) 11.int[]intArray[60];(×) 12.char[]str=abcdefgh;(×) 13.说明或声明数组时不分配内存大小,创建数组时分配内存大小。 (√) 14.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。 (√) 4 第3章运算符、表达式与语句 一、选择题 1.下列(D)不属于Java语言流程控制结构? (A)1(B)2(C)3(D)4 【解析】第1次执行(A)分支语句(B)跳转语句while时,--x的值为3,3/2=1,满足等号两端值不等的条件,(D执行一次循环体;第2)赋值语句次执(C)循环语句 行while时,--x【解析】Java语言流程控制结构只包括分支、循环和跳转的值为2,2/2=1,条件满足,又执行一次循环体;第3次执行while三种语句。 时,--x的值为1,1/2=0,条件满足,再次执行一次循环体;第.假设a是int类型的变量,并初始化为4次执行while(D)时,1,则下列2--x的值为0是合法的条件语句? ,0/2=0,条件不满足满足,结束循环。 因此在这个循环语句执行的过程中,循环体共执行了3次。 )(A)if(a){}(Bif(a<<=3){} 6(C)if(a=2){}(.下列循环体执行的次数是(B)。 D)if(true){} intx=10,y=30; boolean只能是【解析】条件语句中的“条件表达式”do{y-=x;x++;}while(x++ (A)1(B)2(C)3(3.下列说法中,不正确的一个是(C)。 D)4 【解析】执行1次循环体后,y的值为20,x值为11,elseif(A)switch语句的功能可以由if…语句来实现 然后执行while,此时x++的值为11,)若用于比较的数据类型为double型,则不可以用y—的值为20,因B(此x++ 【解析】语句执行效率高低要根据具体语句来确定,不能因此在这个循环语句执行的过程中,循环体共执行了2if…简单地说ifelse语句的执行效率总是比switch语句次。 7高。 .已知如下代码: switch(m){ 为型变量,chyxlong、b为型变量,、为floata4.设case0: System.out.println(Condition0);则下列语句中正确的是char类型变量且它们均已被赋值,case1: System.out.println(Condition1);B。 )(case2: System.out.println(Condition2); A())(switch(x+y){}Bswitch(ch+1){} case3: System.out.println(Condition3);break;switch(a+b);{}(switchch{}(C)D)default: System.out.println(OtherCondition);}中,且后面的表达式必须放在括号switch()【解析】当byte表达式的类型只能是、short、m的值为(D)时,输出“charint和类型,不能Condition3” (A)2(B)0、1(C)0、1是其他类型。 、2(D)0、1、2、3 【解析】当m的值为0、1、)C5.下列循环体执行的次数是(。 2、3时,都能输出“Condition inty=2,x=4; 3”,因为case0、case1、case2后面的语句都没有break,while(--x! =x/y){} 因此可以继续向后执行。 二、填空题7.跳转语句包括1.与C++语言不同,Java语言不通过throw return、continue和break、goto语句实现跳转。 后面的switchswitch.2语句先计算的值,表达式再 8case和各.每一个else子句都必须和它前面的一个距离它最近的语句后的值做比较。 语句合法的条件值是if3.子句相对应。 类型。 booleanif 语句块后,若没有通语句中,完成一个case语句中。 语句必须使用于continue.4循环switch9.在语句的分支中switchcase语句有两种用途: 一种从break5.语句,switch则会继续执行后面的过break语句跳出语句块。 跳出,一种是从循环语句内部跳出。 for.在10while,而for循环体循环首先执行一遍while-do.6循环语句中可以声明变量,其作用域是 表达式的值循环首先判断循环体。 。 5 第4章类与对象 一、选择题 1.下列哪种类成员修饰符修饰的变量只能在本类中6.下面关于方法的说法,不正确的是(C)。 ()A)Java中的构造方法名必须和类名相同被访问? (D ()protected(B)public(C)defaultB)方法体是对方法的实现,包括变量声明和合法语句(A(C)如果一个类定义了构造方法,也可以用该类的默认)(Dprivate 构造方法语言中,哪一个包中的类是自动导入的? 2.在Java(D)类的私有方法不能被其他类直接访问(A)【解析】A)java.lang类中一旦用户定义了构造方法,该类默认的构造java.awtB)方法就不存在了,除非用户再自定义该类的默认构造方)java.applet C)java.ioD法。 java.lang【解析】只有包中的类能够被自动导入。 7.关于内部类,下列说法不正确的是(A)3.给出下面的程序代码: 。 publicclassX4_1_3{(A)内部类不能有自己的成员方法和成员变量 privatefloata;(B)内部类可用private或protected
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA各章习题及答案 全解 JAVA 各章 习题 答案