一、填空题
1、 String、StringBuffer
2、 Date、Calendar、DateFormat
3、 DateFormat
4、 静态
5、edcba
二、判断题
1、错 2、错 3、对 4、错 5、对
三、选择题
1、C 2、C 3、B 4、A 5、B
四、简答题
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.public class Test01 {
public static void main(String[] args) {
String str = "HelloWorld";
// 字符串转成char数组
char[] ch = str.toCharArray();
StringBuffer buffer = new StringBuffer();
for (int i = str.length() - 1; i >= 0; i--) {
if (ch[i] >= 'A' && ch[i] <= 'Z') {
buffer.append(String.valueOf(ch[i]).toLowerCase());
} else if (ch[i] >= 'a' && ch[i] <= 'z') {
buffer.append(String.valueOf(ch[i]).toUpperCase());
}
}
System.out.println(buffer.toString());
}
}
2.import java.util.Random;
public class Test {
public static void main(String[] args) {
Random rand = new Random();
for (int i = 0; i < 5; i++) {
int num = 20 + rand.nextInt(11);
System.out.println(num);
}
}
}
六、原题及其解析
一.填空题
1.在Java中定义了两个类来封装对字符串的操作,它们分别是()和()。String StringBuffer
2.Java中的操作日期的类有()、()和()等。Date Calendar DateFormat
3.Java中专门用于将日期格式化为字符串的类是()。DateFormat
4.System类中所提供的属性和方法都是()的,想要引用这些属性和方法,直接使用System类调用即可。静态
5.已知sb为StringBuffer的一个实例,且sb.toString()的值为’abcde’,则执行sb.reverse()后,sb.toString的值为()。edcba
二.判断题
1.String对象和StringBuffer对象都是字符串变量,创建后都可以修改。()错×
2.用运算符==比较字符串对象时,如果两个字符串的值相同,结果为true。()错×
3.System类中的currentTimeMillis()方法返回一个long类型的值。()对√
4.Date、Calendar以及DateFormat类都位于java.util包中。()错×
5.String类的方法replace(CharSequence srt1,CharSequence srt2)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有srt1得到的。()对√
三.选择题
1.以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?()C
A.ceil() B.floor() C.abs() D.random()
2.String s = “abcdedcba”;则s.substring(3,4)返回的字符串是以下哪个选项中的哪个?()C
A. cd B.de C.d D.e
3.要产生[20,999]之间的随机整数可以使用以下哪个表达式?()B
(本题的星号改为了×,星号在Markdown编辑器中有不同的含义。)
A.(int)(20+Math.random()×97)
B.20+(int)(Math.random()×980)
C.(int)Math.random()×999
D.20+(int)Math.random()×980
4.下面的程序执行后,输出的结果是以下哪个选项?()A
StringBuffer buf = new StringBuffer("Beijing2008");
buf.insert(7,"@");
System.out.println(buf.toString());
A.Beijing@2008 B.@Beijing2008
C.Beijing2008@ D.Beijing#2008
5.先阅读下面的程序片段:
String str1 = new String("java");
String str2 = new String("java");
StringBuffer str3 = new StringBuffer("java");
对于上述定义的变量,以下表达式的值为true的是哪个?()B
A.str1 = = str2; B.str1.equals(str2);
C.str1 = = str3; D.以上都不对
四.简答题
1.简述String和StringBuffer有什么区别。
String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。
2.简述Date和Calender类有什么区别和联系。
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()方法,并将得到的结果输出。
public class Test01 {
public static void main(String[] args) {
String str = "HelloWorld";
// 字符串转成char数组
char[] ch = str.toCharArray();
StringBuffer buffer = new StringBuffer();
for (int i = str.length() - 1; i >= 0; i--) {
if (ch[i] >= 'A' && ch[i] <= 'Z') {
buffer.append(String.valueOf(ch[i]).toLowerCase());
} else if (ch[i] >= 'a' && ch[i] <= 'z') {
buffer.append(String.valueOf(ch[i]).toUpperCase());
}
}
System.out.println(buffer.toString());
}
}
2.利用Random类来产生5个20~30之间的随机整数。
提示:[n-m] (n、m均为整数,n<m)之间的随机数的公式为n+(new Random () ).nextInt(m-n+1)
import java.util.Random;
public class Test {
public static void main(String[] args) {
Random rand = new Random();
for (int i = 0; i < 5; i++) {
int num = 20 + rand.nextInt(11);
System.out.println(num);
}
}
}