<p align="center">常用工具类作业
<p class="1">一、??? 填空题
- 在Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中包装类Integer是____Number________的直接子类。
- 包装类Integer的静态方法可以将字符串类型的数字”123”转换成基本整型变量n,其实现语句是:__int n = integer.ParseInt(“123”);__________。
- 在Java中使用java.lang包中的__StringBufer和StringBuilder__________类来创建一个字符串对象,它代表一个字符序列可变的字符串,可以通过相应的方法改变这个字符串对象的字符序列。
- StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中线程安全的类是______StringBuffer________。
- DateFormat类可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定的字符串格式的方法名是__format____________。
- 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是__(int)(Math.random)*31+30_ ___________。
- JDK1.5后提供了___enum_________关键字,用以定义枚举类。枚举类是一种特殊的类,可以有自己的属性、方法和构造方法。
- File对象调用方法创建一个目录,不包括所有必需但不存在的父目录,当且仅当已创建目录时,返回true;否则返回false。
二、??? 选择题
1.
以下选项中关于int和Integer的说法错误的是(BD )。(选择二项)
A.
int是基本数据类型,Integer是int的包装类,是引用数据类型
B.
int的默认值是0,Integer的默认值也是0
C.
D.
Integer i=5;该语句在JDK1.5之后可以正确执行,使用了自动拆箱功能
?
2.
分析如下Java代码,该程序编译后的运行结果是(? D? )。(选择一项)
?
public static void main(String[ ] args) {
null;
out.println(str);
A
null
B.
C.
编译错误
D.
运行时出现NullPointerException异常
3.
以下关于String类的代码的执行结果是(B??? )。(选择一项)
?
public class Test2 {
public static void main(String args[]) {
new String("bjsxt");
new String("bjsxt");
if (s1 == s2)
out.println("s1 == s2");
if (s1.equals(s2))
out.println("s1.equals(s2)");
A.
B.
C.
D.
4.
以下关于StringBuffer类的代码的执行结果是(? D? )。(选择一项)
?
public class TestStringBuffer {
public static void main(String args[]) {
new StringBuffer("A");
new StringBuffer("B");
mb_operate(a,b);
out.println(a + "." + b);
static void mb_operate(StringBuffer x,StringBuffer y) {
A.
A.B?
B.
A.A
C.
D.
AB.B
5.
给定如下Java代码,编译运行的结果是( C?? )。(选择一项)
?
public static void main(String []args){
new String("pb_java_OOP_T5");
out.println("s2="+s2);
A
s2=_java_OOP_T5
B.
s2=_OOP_T5
C.
s2=_T5
D.
编译出错
|
6.
对于语句String s="my name is kitty",以下选项中可以从其中截取”kitty”的是(?? AB )(选择二项)
A
s.substring(11,16)
B.
C.
s.substring(12,17)
D.
s.substring(12,16)
7.
分析下面的Java程序段,编译运行后的输出结果是( D?? )。(选择一项)
?
public class Test {
public void changeString(StringBuffer sb) {
public static void main(String[] args) {
new Test();
new StringBuffer("stringbuffer1");
out.println("sb = " + sb);
A
sb = stringbuffer2stringbuffer1
B.
C.
sb = stringbuffer2
D.
sb = stringbuffer1stringbuffer2
8.
给定如下Java代码,编译运行的结果是( A?? )。(选择一项)
?
public static void main(String[] args) {
new StringBuffer("java");
out.print(sbf.equals(sbf1));
out.println(sbf2.equals(sbf));
A
true? false
B.
true? true
C.
false? false
D.
false? true
9.
分析下面的Java程序,编译运行后的输出结果是(B??? )。(选择一项)
?
public class Example {
new String("good");
char[] ch = { 'a','b','c' };
public static void main(String args[]) {
new Example( );
out.print(ex.str + "and");
out.print(ex.ch);
public void change(String str,char ch[]) {
A
goodandabc
B.
C.
test okandabc
D.
test okandgbc
10.
以下程序片段中可以正常编译的是(?? C? )。(选择一项)
A
B.
C.
D.
11.
File类中的( B?? )方法可以用来判断文件或目录是否存在。(选择一项)
A
exist()
B.
C.
fileExist()
D.
fileExists()
12.
在Java中,以下File类的方法中( C?? )用来判断是否是目录。(选择一项)
A
isFile( )
B.
getFile( )
C.
isDirectory( )
D.
getPath( )
?
13.
分析下面的Java程序,编译运行后的输出结果是( B?? )。(选择一项)
?
public class Example {
new String("good");
char[] ch = { 'a',char ch[]) {
A
goodandabc
B.
C.
test okandabc
D.
test okandgbc
?
?
三、??? 判断题
- 方法Integer.parseInt()的作用是将一个整数转变成String。( F?? )
- JK1.5后提供了自动装箱和自动拆箱功能,从而可以实现基本数据类型和对应包装类之间的自动转换,简化了操作。(? T? )
- 执行语句String?str="abcedf";?int?len=str.length;?后,能够得到字符串的长度是6。(? F? )
- 运算符“==”用于比较引用时,如果两个引用指向内存同一个对象,则返回true。(T? )
- java.sql.Date类和java.util.Date类的关系是前者是后者的父类,其中前者没有提供无参数构造方法,而后者可以提供无参数构造方法来获取当前时间。(?? F )
- 求x的y次方,其表达式为:Math.pow(x,y)。(? T? )
-
7.?????? 一个File对象可以代表一个文件或目录,它可以获取文件和目录属性,也可以访问文件内容。(?? )
-
8.?????? 在使用File类中的delete( )方法时,删除时可能文件不存在,所以我们最好先判断一下是否存在,不然会出现NullPointerException异常。(??? )
-
9.?????? 程序调用自身的编程技巧称为递归。递归的特点是编程简单并且节省内存。(?? )
-
10.??? 任何可用递归解决的问题也能使用循环解决,递归既花时间又耗内存,在要求高性能的情况下尽量避免使用递归。(??? )
四、??? 简答题
- 自动装箱和自动拆箱
(1)? Integer it = 200;
实际上是:Integer it3 = Integer.valueOf(100);
自动装箱功能:把int类型自动装载到Integer中? 先装箱,再赋值
(2)? Integer it2 = it+it1;
实际上是:Integer it2 = Integer.valueOf(it2.intValue() + it3.intValue());
先对it2 和 it3做拆箱功能,然后相加,得到一个int类型的值,然后在对这个int类型的值,做装箱操作,最后再赋值
- String、StringBuffer、StringBuilder区别与联系。
(1):是否产生新的对象
??? ????? String会产生新的对象,效率低下,浪费内存空间
?? ????? StringBuffer,StringBuilder,不会产生新的对象,都是在原本的缓冲区中操作
??? ??? (2):是否可变
??? ?????? String是不可变的
??? ?????? StringBuffer,StringBuilder可变的
??? ??? (3):是否安全
??? ???? ? StringBuffer是安全的
??? ??? ?? StringBuilder是不安全
??? ??? (4):是否多线程
??? ?????? StringBuffer适合多线程操作
??? ?????? StringBuilder适合单线程操作
??? ??? (5):效率
??? ????? ? StringBuilder>StringBuffer>String
- String str=”bjsxt”;和String str= new String(“bjsxt”);的区别
- java.sql.Date和java.util.Date的联系和区别
- 递归的定义和优缺点
五、???
编码题
- 验证键盘输入的用户名不能为空,长度大于6,不能有数字。
提示:使用字符串String类的相关方法完成
(user==||"" System.out.println("用户名不能为空!" } (user.length()>6 System.out.println("用户名长度不能大于6!" ( i=0;i ch = (ch>=48&&ch<57 System.out.println("用户名不能有数字!" System.out.println("用户名OK" Scanner sc = System.out.println("请输入用户名:" String user =
}
2.接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
提示:使用包装类Integer、Double和日期转换类DateFormat实现
= "请输入年龄:"="请输入分数:"="请输入入学时间:"== Integer.parseInt(age1);
grade =Double.parseDouble(grade1);
DateFormat df = SimpleDateFormat("yyyy-MM-dd"=df.parse(enterDate1);
} "年龄t分数t入学时间"+"t"+grade1+"t"+
六、??? 可选题
- 生成10个[10,23)之间的随机整数
提示:分别使用Math.random()和Random类的nextDouble()或nextInt()实现
( i = 1; i < 11; i++ System.out.println("Math.random()随机生成第" + i + "个数是:" r = () (Math.random() * 13) + 10 System.out.println("============================"
Random ra = ( j = 1; j < 11; j++ System.out.println("Random类的nextDouble()随机生成第" + j + "个数是:" r = ()(ra.nextDouble() * 13) + 10 System.out.println("============================"
( k = 1; k < 11; k++ System.out.println("Random类的nextDouble()随机生成第" + k + "个数是:" b = ()(ra.nextInt(13)+10
}
2.打印某个月份的可视化日历
main(String[] args)
System.out.println("请输入日期(按照格式:2030-3-10):" Scanner scanner = String temp =
DateFormat format = SimpleDateFormat("yyyy-MM-dd" Date date =
Calendar calendar =
dateOfMonth =
System.out.println("日t一t二t三t四t五t六"
calendar.set(Calendar.DATE,1 weekDay = ( i=1;i System.out.print('t'
maxDay = ( i=1;i<=maxDay;i++
(i== System.out.print("*"
System.out.print(i+"t"
weekDay = (weekDay==7
calendar.add(Calendar.DATE,1
3. 使用二分法查找有序数组中元素。找到返回索引,不存在输出-1。使用递归实现
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!