2024年3月13日发(作者:)

《Java基础入门》课后习题答案

第5章 Java中的常用类

一、填空题

1.在Java中定义了两个类来封装对字符串的操作,它们分别是String和 StringBuffer

的操作日期的类有Date、Calendar、DateFormat

中专门用于将日期格式化为字符串的类是DateFormat

类中所提供的属性和方法都是静态的,想要引用这些属性和方法,直接使用 System类调用即可

5.已知sb为 StringBuffer的一个实例,且sb. toString()的值为"abede,则执行e()后,sb toString()

的值为edcba

二、判断题

1. String对象和 StringBuffer对象都是字符串变量,创建后都可以修改。(×)

2.用运算符==比较字符串对象时,如果两个字符串的值相同,结果为 true。(×)

3. System类中currentTimeMillis方法返回一个long类型的值。(√)

、Calendar以及 DateFormat类都位于包中。(×)

5. String类的方法replace(CharSequence srtl, CharSequence srt22)返回一个新的字符串,它是通过用srt2

替换此字符串中出现的所有srtl得到的。(对)

三、选择题

1、C 2、C 3、B 4、A 5、B

1.以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?(C)

A. ceil()

B. floor()

C. abs()

D. random()

s=abededcba";则s. substring(3,4)返回的字符串是以下选项中的哪个?(C)

A. cd

B. de

C. d

D. e

3.要产生[20,999]之间的随机整数可以使用以下哪个表达式?(B)

A.(int)(20+math. random()97)

B. 20+(int)(Math. random( )*980)

C.(int)() * 999

D.20 + (int)() * 980

4.下面的程序段执行后,输出的结果是以下哪个选项?(A)

A. Beijing@2008

B.@ Beijing2008

C. Beijing2008@

D. Beijing#2008

5.先阅读下面的程序片段:

对于上述定义的变量,以下表达式的值为true的是哪个?(B)

A. strl=str2:

B. strl. equals(str2):

= = str3;

D.以上都不对

四、简答题

1.简述 String 和 StringBuffer 有什么区别。

2. 简述 Date 和 Calender 类有什么区别和联系。

3.简述什么是自动装箱和自动拆箱。

1、String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类

似String的缓冲区,可以修改字符串的值。

2、Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的

年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。Calender

类基本取代了Date类,该类中定义了一系列用于完成日期和时间字段操作的方法。

Calendar的getTime()方法,getTime()返回一个表示Calendar时间值的Date对象,同时Calendar有

一个setTime(Date date)方法,setTime()方法接收一个Date对象,将Date对象表示的时间值设置给

Calendar对象,通过这两个方法就可以完成Date和Calendar对象之间的转换。

3、自动装箱是指将基本数据类型的变量赋给对应的包装类变量,反之,拆箱是指将包装类对象类型

直接赋给一个对应的基本数据类型变量。

五、编程题

1.编写一个程序,实现字符串大小写的转换并倒序输出。要求如下:(1)使用 for 循环将字符串

“HelloWorld”从最后一个字符开始遍历。

(2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用

toUpperCase()方法将其转换为大写字符。

(3)定义一个 StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用 StringBuffer 对象

的 toString()方法,并将得到的结果输出。

2. 利用 Random 类来产生5个20~30 之间的随机整数。

提示:[n-m](n、m均为整数,n

public class Test01 {

}

public static void main(String[] args) {

}

String str = "HelloWorld";

// 字符串转成char数组

char[] ch = Array();

StringBuffer buffer = new StringBuffer();

for (int i = () - 1; i >= 0; i--) {

}

n(ng());

if (ch[i] >= 'A' && ch[i] <= 'Z') {

}

(f(ch[i]).toLowerCase());

(f(ch[i]).toUpperCase());

} else if (ch[i] >= 'a' && ch[i] <= 'z') {

1、 参考答案

import ;

public class Test {

}

public static void main(String[] args) {

}

Random rand = new Random();

for (int i = 0; i < 5; i++) {

}

int num = 20 + t(11);

n(num);