java习题解答 联系客服

发布时间 : 星期五 文章java习题解答更新完毕开始阅读71ab28dd680203d8ce2f24a5

}

六、简答题

1.Java的关键字有哪些?

2.标识符有何用途?Java中定义标识符的规则有哪些?

3.Java定义了哪些基本数据类型?基本数据类型和引用数据类型的特点是什么?字节型和字符型数据有何区别?长度为32位的基本数据类型有哪些?

4.整型常量有哪三种表示形式?浮点型变量有哪两种表示形式?布尔型常量可以转换成其他数据类型吗?

5.在Java 语言中,表示字符串常量和字符常量时应注意哪些问题? 6.在Java转义字符表示中,ASCII码值对应的字符如何表示?Unicode字符集中对应的字符如何表示?

7.什么是表达式语句?什么是空语句?什么是块语句?可以把块语句视为一条语种吗?

8.if语句中,<条件表达式>一定是逻辑型表达式吗? switch语句中,<语句序列>里一定有break语句吗?

9.while循环语句与do-while循环语句有何不同?

10.for循环语句中,关键字for后面括号内的表达式是否可以使用多个用逗号分隔的表达式?for-each语句的特点是什么?

11.break语句和continue语句有哪两种形式? 12.创建数组元素为基本数据类型的数组时,系统都会指定默认值吗?布尔型的默认值是什么?

13.在Java中怎样定义和使用一维数组、二维数组? 14.字符串类String 和StringBuffer类有何不同?

15.Java中的数组实际上是一个隐含的“数组类”的对象,而数组名实际上是该对象的一个引用,这种说法对吗?

16.字符数组与字符串有本质的不同,而字符串实际上是String类和StringBuffer类的对象,这种说法对吗? 七、编程题

1.编写一个程序,求1!+2!+?+10!的值。 2.编程求100以内的全部素数。

3.使用异或运算符“^”实现两个整数的交换。 4.编写一个程序,打印输出下列5×5螺旋方阵:

1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9

5.给出任意两个日期,编程计算它们相距的天数。 6.编程输出下列图形:

* *** *****

*** *

7.编程验证哥德巴赫猜想,即任何大于6的偶数可以表示为两素数之和,如10=3+7。

8.百鸡百钱问题,公鸡每只3元,母鸡每只5元,小鸡3只1元,用100元钱买100只鸡,公鸡、母鸡和小鸡各买多少?

9.编写一个程序,利用数组把10个数用直接交换方法从小到大排序。 10.编写一个程序,用选择法对数组a[]={9, 5, 3, 12, 22, 35, 88, 11, 90, 1}进行由小到大的排序。

11.找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有)。

12.编写一个程序,打印输出10行杨辉三角形。

13.编写一个程序,实现字符串的大小写字母的相互转换。 14.编写一个程序,找出两个字符串中所有相同的字符。 15.编写一个程序,对字符串数组按字典序重新排列。

16.编写一个程序,分析输出字符串中的单词,并统计单词个数。

17.编写一个程序,将字符串“.ymene tsrow sih si nam yrevE”反转。

第3章 Java语言面向对象基础

习 题 三

一、填空题

1.类是一组具有相同(属性)和(行为)的对象的抽象。(实例)是由某个特定的类所描述的一个个具体的对象。

2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。

3.模型应具有(抽象性)、(可理解性)、(精确性)、(确定性)和廉价性等基本特性。

4.UML定义了(用例图)、(静态图)、(交互图)、行为图和实现图五类模型图。

5.在UML类图中分别用( + )、( # )、( ~ )和( - )表示属性与方法的公有、保护、默认和私有访问控制权限。

6.在UML中,类之间主要有(关联)、(依赖)、(聚集)、(泛化)和实现五种关系。

7.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。

8.在方法体内定义的变量是(局部变量),其前面不能加(public),且必须(初始化)。

9.数组元素作实参时对形参变量的数据传递是(单向值传递),数组名作实参时对形参变量的数据传递是(双向引用传递)。

10.对象作方法形参时,方法实参也用对象,实现(引用)调用。 11.( new)是一个特殊的方法,用于创建一个类的实例。

12.对象拷贝有(对象引用复制)、(浅复制)和(深复制)三种。

13.(类)方法不能直接访问其所属类的(实例)变量和(实例)方法,只可直接访问其所属类的(类)变量和(类)方法。

14.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。

15.Java使用固定于首行的(package)语句来创建包。 16.在运行时,由java解释器自动引入,而不用import语句引入的包是(java.lang)。

17.发布Java应用程序或类库时,通常可以使用JDK中自带的(JAR)命令打包。 二、简答题

1.名词解释:OO、OOSE、OOA、OOD、OOP;抽象、对象、类、实例、方法、属性、消息、接口、封装、继承、多态性;模型、UML、类图、对象图、用例图、顺序图、协作图、状态图、活动图、包图、构件/组件图、部署图。

2.简述面向对象的基本思想、主要特征和基本要素。 3.为什么要对类进行封装?封装的原则是什么?

4.类的封装性、继承性和多态性各自的内涵是什么? 5.简述依赖、关联和聚集的区别。

6.什么是对象?什么是类?二者有何关系?

7.Java中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么?

8.Java中成员变量定义的一般格式是什么?成员变量有哪些修饰符? 9.Java中成员方法定义的一般格式是什么?成员方法有哪些修饰符? 10.简述构造方法的特点与作用。

11.Java中创建对象的一般格式是什么?如何初始化对象?如何给对象赋值?

12.什么是类变量(静态变量)?什么是实例变量?它们的存储特性、访问方法、主要区别是什么?

13.什么是类方法(静态方法)?什么是实例方法?它们的存储特性、访问方法、主要区别是什么?

14.什么是包?如何创建包?如何引用包?

15.Import语句和package语句的功能分别是什么? 16.举例说明JAR包的创建、加载与运行方法。 三、选择题

1.下面关于封装性的描述中,错误的是( D )。

A.封装体包含属性和行为 B.被封装的某些信息在外不可见

C.封装提高了可重用性 D.封装体中的属性和行为的访问权限相同

2.下面关于类方法的描述,错误的是( B )。

A.说明类方法使用关键字static B.类方法和实例方法一样均占用对象的内存空间

C.类方法能用实例和类名调用 D.类方法只能处理类变量或调用类方法 3.下面关于包的描述中,错误的是( A )。

A.包是若干对象的集合 B.使用package语句创建包 C.使用import语句引入包 D.包分为有名包和无名包两种 4.下述哪些说法是正确的?( BC )

A.用static关键字声明实例变量 B.实例变量是类的成员变量 C.局部变量在方法执行时创建 D.局部变量在使用之前必须初始化 5.下面哪些代码段是正确的Java源程序?( BCD )

A.import java.io.*; B.import java.io.*;

package testpackage; class Person{/* do som

ething... */}

public class Test{/* do something... */} public class Tes

t{/* do something... */}

C.import java.io.*; D.package testpackage;

import java.awt.*; public class Test{/* d

o something... */}

public class Test{/* do something... */} 四、判断题

1.类是一种类型,也是对象的模板。( √ ) 2.类中说明的方法可以定义在类体外。( × ) 3.实例方法中不能引用类变量。( × )

4.创建对象时系统将调用适当的构造方法给对象初始化。( √ )

5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。( √ )

6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。( √ )

7.对象可作方法参数,对象数组不能作方法参数。( × ) 8.class是定义类的惟一关键字。( √ )

9.Java语言会自动回收内存中的垃圾。( √ ) 五、分析题

分析下面的程序,写出运行结果。

import java.awt.*; import java.applet.*; class MemberVar { static int sn = 30; final int fn; final int fk = 40;