Java编程:第二版习题解析与解答

版权申诉
0 下载量 69 浏览量 更新于2024-09-04 收藏 81KB PDF 举报
"Java程序设计案例教程的第5章习题答案" 本资源是关于Java程序设计的案例教程,由周怡和张英主编,主要内容涵盖了Java编程的基础知识,包括数组、字符串操作等。以下是根据提供的部分内容解析的关键知识点: 1. **Java数组**:Java数组的长度在创建时必须指定,不能在声明时指定。数组一旦创建,其长度是固定的。数组元素如果没有被显式赋值,系统会根据数据类型自动进行默认初始化。例如,对于基本类型,int类型的数组元素会被初始化为0。 2. **数组赋值**:数组名(如a和b)仅表示数组的引用,所以`a=b`并不会复制b数组的内容到a数组,而是让a指向与b相同的内存位置,这在Java中是不等价赋值,不会复制元素。 3. **long类型数组**:在Java中,创建long类型的数组需要使用大括号`{}`,因此`long L = new long[i];`是错误的语法,正确的方式应该是`long[] L = new long[i];` 4. **String对象操作**:`String`对象是不可变的,因此`s.concat("world!")`会创建一个新的`String`对象,原对象`s`的内容不会改变。打印`s`仍会是"Hello",而不会是"Helloworld!"。 5. **选择题解析**: - 对于多维数组,最小和最大下标是从0开始的,因此对于`int[] a={1,2,3,4,5,6,7,8};`,最小和最大下标分别是0和7,选D。 - 对于二维数组`int[][]a`,值为86的元素位于第二个子数组的第三个位置,即`a[1][2]`,选A。 - 当`i=6`时,`a[a[i]]`的值是数组a中下标为6的元素的值,即2,选D。 - `compareTo()`方法比较字符串,返回值表示字符串的相对顺序,结果为-2表示`malady`在字母顺序上在`"catchcold"`之前,选C。 - 程序段计算的是所有二维数组`aa`的第二个子数组元素之和,即`5+6+9+2`,结果是22,但题目中选择项可能是有误,正确的输出应为B,22。 6. **填空题**:这个题目要求生成50个[0,100]之间的随机整数并存储到数组`randomNumber`中,然后按照每行输出一定数量的元素。实现这个功能需要用到`Random`类来生成随机数,并使用循环结构将生成的随机数存入数组,同时控制输出格式,确保每行输出的元素数量一致。 这些习题覆盖了Java编程的基本概念,包括数组操作、字符串处理、多维数组以及基本类型的数据初始化。解答这些问题有助于巩固对Java语言的理解和应用。