Java 习题五
一、 填空题
- 在 Java 中定义了两个类来封装对字符串的操作, 它们分别是 和 。
- Java 中的操作日期的类有 、 和 等 。
- Java 中专门用于将日期格式化为字符串的类是 。
- System 类中所提供的属性和方法都是 的,想要引用这些属性和方法, 直接 使用 System 类调用即可 。
- 已知 sb 为 StringBuffer 的一个实例,且 sb. toString()的值为"abcde ",则 执行 sb. reverse()后,sb. toStringO 的值为 o
二、 判断题
1.String 对象和 StringBuffer 对象都是字符串变量, 创建后都可以修改( ) 2. 用运算符==比较字符串对象时,如果两个字符串的值相同,结果为true 。 ( ) - System 类中的 currentTimeMillis()方法返回一个 long 类型的值。( )
- Date>Calendar 以及 DateFormat 类都位于 java, util 包中。( )
- String 类的方法 replace (CharSequence srtl, CharSequence srt2)返回一 个新的字符串, 它是通过用 srt2 替换此字符串中出现的所有 srtl 得到的()
三、 选择题 - 以下都是 Math 类的常用方法, 其中用于计算绝对值的方法是哪个?()
A. ceil() B. floorO C. abs() D. random() - String s = “abededeba”; 则 s. substring ] 3,4)返回的字符串是以下选项
中的哪个? ( )
A. cd B. de C. d D. e
3. 要产生 [ 20,999 ] 之间的随机整数可以使用以下哪个表达式?( )
A. (int)(20 + Math. randomO * 97)
B. 20+(int)(Math. randomO * 980)
C. (int)Math. randomO * 999
D. 20 +(int)Math. randomO * 980
4. 下面的程序段执行后 ,输出的结果是以下哪个选项?( )
StringBuffer buf=new StringBuffer(nBeij ing2008");
buf. insert (7, *'@n); ’
System.out.printin(buf.toString());
A. Beijing@2008 B. @Beijing2008
C. Beijing2008@ D. Beijing #2008
5. 先阅读下面的程序片段:
String strl=new String (“javan);
String str2=new String ( ” java”);
StringBuffer str3= new StringBuf fer (n java");
对于上述定义的变量 ,以下表达式的值为 true 的是哪个?( )
A. strl = =str2; B. strl. equals(str2);
C. strl = =str3; D,以上都不对
四、 简答题
-
简述 String 和 StringBuffer 有什么区别 。
-
简述 Date 和 Calender 类有什么区别和联系 。
-
简述什么是自动装箱和自动拆箱 。
五、 编程题 -
编写一个程序, 实现字符串大小写的转换并倒序输出。要求如下:
(1) 使用 for 循环将字符串"HelloWorld”从最后一个字符开始遍历 。
(2) 遍历的当前字符如果是大写字符, 就使用 toLowerCaseO 方法将其转换
为小写字 符, 反之则使用 toUpperCaseO 方法将其转换为大写字符 。
(3) 定义一个 StringBuffer 对象, 调用 append()方法依次添加遍历的字符, 最后调用 StringBuffer 对象的 toStringO 方法 ,并将得到的结果输出 。
2, 利用 Random 类来产生 5 个 20〜30 之间的随机整数 。
提 示 : [n— m](n 、 m 均 为 整 数 ,n<m) 之 间 的 随 机 数 的 公 式 为 n+ (new RandomO ). nextlnt(m— n+1) 。