Java期末复习 - 各章习题小题

2019-08-31 13:14

第1章 Java入门

一、选择题

1.下列选项中,不属于Java语言特点的一项是( C )。

(A)分布式 (B)安全性 (C)编译执行 (D)面向对象 【解析】Java程序采用解释执行的方法。在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。 2.在Java语言中,( C )是最基本的元素?

(A)方法 (B)包 (C)对象 (D)接口 【解析】构成Java程序的基本元素类(抽象的对象)。 3.编译一个定义了3个类和10个方法的Java源文件后,会产生( D )个字节码文件?扩展名是( D )?

(A)13个字节码文件,扩展名为.class (B)1个字节码文件,扩展名为.class (C)3个字节码文件,扩展名为.java (D)3个字节码文件,扩展名为.class 【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。

4.在创建Applet应用程序时,需要用户考虑问题是( B )。

(A)窗口如何创建 (B)绘制的图形在窗口中的位置

(C)程序的框架 (D)事件处理

【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等

9.阅读下列代码,选出该代码段正确的文件名( C )。

class A{ void method1(){ System.out.println(\ } }

public class B{ void method2(){ System.out.println(\ } public static void main(String[] args){ System.out.println(\ } }

(A)A.java (B)A.class (C)B.java (D)B.class

内容,这类程序的框架也都是固定的,而绘制图形在窗口

中的位置则需要由用户确定。

5.Java语言属于( B )种语言?

(A)面向机器的语言 (B)面向对象的语言

(C)面向过程的语言 (D)面向操作系统的语言 【解析】Java语言是一种纯面向对象的语言。 6.下列关于Application和Applet程序的说法中不正确的一项是( B )。

(A)Application使用解释器java.exe (B)Application不使用独立的解释器 (C)Applet在浏览器中运行

(D)Applet必须继承Java的Applet类

【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。 7.下列选项中,不属于Java核心包的一项是( A )。

(A)javax.swing (B)java.io (C)java.utile (D)java.lang

【解析】凡是以java开头的包都是Java核心包,以javax开头的包则属于Java扩展包。 8.下列描述中,不正确的是( A )。

(A)不支持多线程

(B)一个Java源文件不允许有多个公共类 (C)Java通过接口支持多重继承

(D)Java程序分为Application和Applet两类 【解析】Java是支持多线程的语言。 【解析】Java源文件名必须和公共类的名字完全一样,源文件的扩展名为.java。

10.编译下面源程序会得到哪些文件( D )?

class A1{ }

class A2{ }

public class B{ public static void main(String[] args){ } }

(A)只有B.class文件 (B)只有A1.class和A2.class文件

(C)编译不成功 (D)A1.class、A2.class和B.class文件

【解析】由于该程序包含3个类,每个类编译后都会生成1个字节码文件,因此编译后会生成以这3个类名命名的字节码文件。

1

11.编译Java程序时,用于指定生成class文件位置的选项是( A )。

A.-d B.-g C.-verbose D.-nowarn 12.下列标识符(名字)命名原则中,正确的是( C )。 A.类名的首字母小写 B.接口名的首字母小写

C.常量全部大写 D.变量名和方法名的首字母大写 13.下面哪种注释方法能够支持javadoc命令?( C ) A.// B./*...*/ C./**...*/ D./**...**/

三、判断题

14.下面哪些选项是正确的main方法说明?( D ) A.void main()

B.private static void main(String args[]) C.public main(String args[])

D.public static void main(String args[])

1.Java语言具有较好的安全性和可移植性及与平台无关等特性。( √ ) 2.Java语言的源程序不是编译型的,而是编译解释型的。( √ )

3.Java Application程序中,必有一个主方法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)12class (B)void (C)-5 (D)_blank 2.下列( B )不是Java中的保留字?

(A)if (B)sizeof (C)private (D)null 3.下列( C )不是合法的标识符?

(A)$million (B)$_million (C)2$_million (D)$2_million 4.下列选项中,( B )不属于Java语言的基本数据类型?

(A)整数型 (B)数组(C)浮点型(D)字符型 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)以0x或0X开头的整数代表8进制整型常量 (C)boolean类型的数据作为类成员变量的时候,相同默认的初始值为true

(D)double型数据占计算机存储的32位 8.下列Java语句中,不正确的一项是( C )。

(A)$e, a, b = 10; (B)char c, d = ?a‘; (C)float e = 0.0d; (D)double c = 0.0f; 【解析】不能将double类型的常量赋值给float类型的变量。

9.在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。

(A)byte的默认值是0 (B)boolean的默认值是false (C)char类型的默认值是‘\\0‘ (D)long类型的默认值是0.0L

10.下列语句中不正确的一个是( B )。

(A)float f = 1.1f; (B)byte b = 128;

(C)double d = 1.1/0.0; (D)char c = (char)1.1f; 【解析】bytel类型变量的取值范围是-128~127。 11.下列表达式1+2+ \的值是( B )。

(A)\(B)\(C)\(D)\【解析】整数和整数相加得到两个整数的和,而整数和字符串相加得到的是字符串。

12.已知y=2, z=3, n=4,则经过n=n+ -y*z/n运算后n的值为( A )。

(A)3 (B)-1 (C)-1 (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 )。

(A)true B)false (C)0 (D)运行时抛出异常

【解析】由于(12==0)的值为false,因此整个表达式发生短路运算,即(1/0 < 1)就没有参与运算,整个表达式的值为false。

16.设有类型定义short i=32; long j=64; 下面赋值语句中不正确的一个是( B )

(A)j=i; (B)i=j; (C)i=(short)j; (D)j=(long)i;

【解析】long类型的数据不能自动转变为short类型,因此不能将long类型的变量直接赋值给short类型。 17.现有1个char类型的变量c1=66和1个整型变量i=2,当执行c1=c1+(char)i;语句后,c1的值为( D )。 (A)'d' (B)'D' (C)68 (D)语句在编译时出错

【解析】两个字符型的数据相加,得到的是一个整数,而如果把整数再赋值给一个字符型变量则会在编译时出错。

18.下列说法中,正确的一项是( D )。 (A)字符串\的长度为6 (B)False是Java的保留字 (C)123.45L代表单精度浮点型 (D)False是合法的Java标识符

【解析】Java语言对字符的大小写是敏感的,False

3

不是false,因此False是合法的Java标识符。 19.以下的变量定义语句中,合法的是( D ) (A)float _*5 = 123.456F; (B)byte $_b1 = 12345; (C)int _long_ = 123456L;

(D)double d = Double.MAX_VALUE;

【解析】(A)中_*5不是合法的标识符,(B)中12345超出byte范围,(C)中不能将long类型的常量赋值给int型的变量。 ( C )

(A)运算符按照优先级顺序表进行运算

(B)同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的

(C)同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的

(D)括号可以改变运算的优先次序 【解析】同一优先级的运算符在表达式中都是按照从

左到右的顺序进行运算的。

20.下列关于运算符优先级的说法中,不正确的一个是三、判断题

1.Java语言使用的是Unicode字符集,每个字符在内存中占8位。( × )

2.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。( √ ) 3.所有的变量在使用前都必须进行初始化。( × )

4.已知byte i = (byte)127; i = i +1;这两个语句能被成功编译。( √ ) 5.String str=\char chr=str.charAt(9); ( × )

6.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6]; 7.int i,j; boolean booleanValue=(i==j); ( × )

8.int intArray[]={0,2,4,6,8}; int length=int Array.length();( × ) 9.String str=\( × ) 10.short shortValue=220; byte byteValue=shortValue; ( × ) 11.int[] intArray[60]; ( × )

12.char[] str=\( × )

13.说明或声明数组时不分配内存大小,创建数组时分配内存大小。( √ )

14.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。( √ ) √ ) 4

第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…else if语句来实现 (B)若用于比较的数据类型为double型,则不可以用switch语句来实现

(C)if …else if语句的执行效率总是比switch语句高 (D)case子句中可以有多个语句,并且不需要大括号{}括起来

【解析】语句执行效率高低要根据具体语句来确定,不能简单地说if…else if语句的执行效率总是比switch语句高。

4.设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是( B )。

(A)switch(x+y) {} (B)switch(ch+1) {} (C)switch ch {} (D)switch(a+b); {} 【解析】switch后面的表达式必须放在括号()中,且表达式的类型只能是byte、short、int和char类型,不能是其他类型。

5.下列循环体执行的次数是( C )。

int y=2, x=4;

while(--x != x/y){ }

(A)1 (B)2 (C)3 (D)4

【解析】第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 )。

int x=10, y=30;

do{ y -= x; x++; }while(x++

7.已知如下代码:

switch(m){

case0:System.out.println(\case1:System.out.println(\case2:System.out.println(\

case3:System.out.println(\default:System.out.println(\} 当m的值为( D )时,输出“Condition 3”

(A)2 (B)0、1 (C)0、1、2(D)0、1、2、3

【解析】当m的值为0、1、2、3时,都能输出“Condition 3”,因为case 0、case 1、case 2后面的语句都没有break,因此可以继续向后执行。

5


Java期末复习 - 各章习题小题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:课程设计(论文)-卧式钻孔组合机床液压系统设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: