Java常用API知识测试带答案.docx
《Java常用API知识测试带答案.docx》由会员分享,可在线阅读,更多相关《Java常用API知识测试带答案.docx(15页珍藏版)》请在冰豆网上搜索。
Java常用API知识测试带答案
常用API部分测试题
1.String类中的getBytes()方法的作用是(C)
A)将整数变成字符串
B)将字符串变成字符数组
C)将字符串变成字节数组
D)获取字符串中字符的个数
2.下列程序的输出结果是(A)
classDemo{
publicstaticvoidmain(String[]args){
System.out.println("abcd".substring(1,3));
}
}
A)bc包头不包尾
B)b
C)bcd
D)abcd
3.对字符串”ababcdabcdefg”使用indexOf(‘a’)和lastIndexOf(‘a’),的运行结果是(B)
A)1,1
B)0,6
C)0,0
D)1,6
indexOf从前开始获取,第一位是0
lastIndexOf从后开始获取,但索引还是从前面的第一位0开始
4.下面程序的运行结果是什么(A)
publicstaticvoidmain(String[]args){
Strings1=“abc”;
Strings2=“xyz”;
show(s1,s2);
System.out.println(s1+”-----”+s2);
}
staticvoidshow(Strings1,Strings2){
s1=s2+s1+”Q”;
show方法中的s1=“xyzabcQ”但是main函数中s1没有变化.
s2=“W”+s1;
}
String字符串的特性,String应该算是一个特殊的引用类型吧,特殊在它的值不被改变
A)abc-----xyz
B)xyzabcQ-----xyzWabc
C)xyzabcQ----xyzabcQWabc
D)xyzQ----Wabc
5.以下哪个方法可以向StringBuffer对象的指定位置添加数据(B)
A)add()
B)insert()注意是指定位置添加
C)append
D)into()
6.下面说法不正确的是(B)
A)byte的包装类是Byte
B)int的包装类是Int
C)short的包装类是Short
D)long的包装类是Long
7.关于null和“”说法正确的是(ABD)
A)null是常量
B)“”是字符串对象
C)null可以调用方法
D)“”可以调用方法
8.预定义字符 \w代表什么(C)
A)[A-Z]
B)[a-z]
C)[a-zA-Z_0-9]
D)[0-9]
9.关于String类的indexOf说法不正确的是(CD)
A)返回指定字符在字符串中第一次出现的索引
B)返回指定子字符串在字符串第一次出现的索引
C)返回指定字符在字符串中最后一次出现的索引
D)返回指定子字符串在此字符串最后一次出现的索引
10.String类charAt()方法作用是(A)
A)返回指定索引处的字符
B)返回指定索引出的字符串
C)返回指定字符的索引
D)返回指定字符串的索引
11.下面程序的运行结果是(B)
Integeri5=100;
Integeri6=100;
System.out.println(i5==i6);
System.out.println((i5*2)==(i6*2));
System.out.println(i5.equals(i6));
A)true,true,true
B)true,false,true
C)true,false,false
D)false,false,false
-128到127是byte的取值范围,,如果在这一范围自动装箱不会创建新的对象,而是从常量池中获取,如果超过就创建对象
12.下面程序的运行结果是(B)
Strings1=newString(“abc”);
Strings2=newString(“abc”);
System.out.println(s1==s2);比较的是地址.因为是2个对象.所以false
Strings3=“你好吗”;
Strings4=”你”;
Strings5=”好吗”;
System.out.println(“你好吗”==(”你”+”好吗”))
这个是true,因为java有优化机制
A)truetrue
B)falsetrue
C)trueflase
D)falsefalse
13.下列程序的输出结果是(D)
classDemo{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
inti=sc.nextInt();
System.out.println(i);
}
}
从键盘输录入:
a10回车
A)a
B)10
C)a10
D)抛出异常输入的有a字符,只能接收整数
14.String类中split()方法描述正确的是(AC)
A)切割字符串
B)返回一个新的字符串
C)返回一个新的字符串数组
D)此方法没有返回值
15.将十进制数100转成二进制数用哪个方法(A)
A)toBinaryString()
Integer对象的方法,二进制那就得Binary了.但最后的返回值是String形式的.
B)toHexString()
C)intValue()
D)toOctalString()
16.StringBuffer字符串缓冲区的初始容量是多少个字符(D)
A)10个
B)12个
C)14个
D)16个这个是默认值
17.向字符串缓冲区中追加字符串,使用的方法是(C)
A)length()
B)delete()
C)append()
看意思:
附加,追加。
利用排除法也可以啊。
D)toString()
18.long类型的包装类是(C)
A)long
B)Longeger
C)Long
D)以上都不对
19.将字符串转成字符数组的方法是(B)
A)toString()
B)toCharArray()
看名字就能猜出来是到字符数组(toCharArray)
C)toUpperCase()
D)toLowerCase()
20.关于StringBuffer和StringBuilder说法正确的是(C)
A)StringBuffer和StringBuilder的方法不同
B)StringBuffer和StringBuilder都是线程安全的
C)StringBuffer是线程安全的,StringBuilder不是线程安全的
这是二者的区别
D)StringBuffer不是线程安全的,StringBuilder是线程安全的
21.下面代码”ibelieve”.lastIndexOf(‘e’)的运行结果是(D)
A)2
B)5
C)-1
D)7
lastIndexOf返回最后出现的索引位置,索引从0开始的
22.StringBuffer类中的append()方法描述正确的是(AC)
A)向缓冲区追加字符串数据
B)将缓冲区中的字符串删除
C)append()方法返回值类型是StringBuffer类型
D)append()方法返回值类型是String类型
23.能切割字符串的方法是(C)
A)indexOf()
B)substring()
C)split()
记住.切割后是个数组,正则中有详解.
D)trim()
24.截取字符串的方法是(D)
A)replace()
B)toString()
C)substr()
D)substring()
25.关于Math.PI说法正确的是(AB)
A)静态常量
B)被final修饰
C)Math.PI每次运行结果不一样
每次计算的结果都不同,还要它做什么啊
D)以上的说法都正确
26.下面哪个程序的运行结果是true(C)
A)System.out.println(“abc”.equals(“Abc”));
equals方法是每个字符依次比较.因为a和A不一样,所以结果是false.
B)System.out.println(“”.equals(null));
””是空字符串,不等于没有.
C)System.out.println(“abc”==”ab”+”c”);
由于”ab”和”c”是常量,所以编译后会去找相对应的”abc”,java的常量优化机制
D)System.out.println(“”.equalsIgnoreCase(null))
27.下面程序运行的结果是(C)
Stringstr=“abcdefg”;
str.substring(0,2);这是个新字符串产生了,但是str没变,这就是个坑
System.out.println(str);
A)ab
B)abc
C)abcdefg
D)出现下标越界异常
28.下面程序的运行结果是(C)
publicstaticvoidmain(String[]args){
StringBuffersb=newStringBuffer();
sb.append("qq").append("ww");
show(sb,"ss");
System.out.println(sb.length());
}
staticvoidshow(StringBuffersb,Stringstr){
sb.append(str);
}
A)4
B)2
C)6最后的sb是:
qqwwss
D)0
29.下面程序运行的结果是(D)
Stringstr1=“1”,str2=”2”;
if(str1==str2)比较的是字符串的内容
System.out.println(“ABC”);
elseif(str1System.out.println(“DEF”);
else
System.out.println(“GHJ”);
A)ABC
B)DEF
C)GHJ
D)编译失败
30.下面关于代码Stringstr=newString(“abc”);描述正确的是(BC)
A)创建了一个字符串对象
B)创建了两个对象,一个是newString()对象,一个是”abc”对象
C)str.equals(“abc”);将返回true
D)str.equals(“abc”);将返回false
31.以下描述错误的是(D)
A)String是一个不可变的字符序列
B)StringBuffer,StringBuilder是可变的字符序列
C)StringBuffer是jdk1.0版本的
D)StringBuffer线程不安全
32.String类中的substring()方法描述正确的是(AB)
A)获取字符串中的一部分
B)返回新的字符串
C)返回新的字符串数组
D)此方法没有返回值
33.关于Integer类中的静态方法parseInt()方法说法正确的是(B)
A)将小数转换成整数
B)将数字格式的字符串转成整数
C)parseInt()方法永远不会抛出异常
D)将单个字符转成整数
34.下列关于Object类的toString方法描述正确的是(ABCD)
A)toString方法返回对象的字符串表示
B)Object中的toString方法际应用中没有实际意义
C)一般复写掉Object的toString()方法,返回该类中属性的字符串拼接形式
D)JavaAPI中很多类都重写了Object类中的toString()方法
35.StringBuffer和String的区别(B)
A)String就是StringBuffer
B)StringBuffer是一个可变的字符序列
C)String是一个可变的字符序列
D)StringBuffer是一个不可变的字符序列
36.下面代码运行的结果是(C)
Integerx=3;
x=x+3;中间自动拆箱了.
System.out.println(x);
A)编译失败
B)x3
C)6
D)Null
37.System.getProperties()的作用是(A)
A)获取当前的操作系统的属性
B)获取当前JVM的属性
C)获取指定键指示的操作系统属性
D)获取指定键指示的JVM的属性
38.下面所有描述String类中equals()方法正确的是(ABC)
A)equals()方式是覆盖Object类中的equals()方法
B)equals()比较字符串中的内容,区分大小写
C)equals()方法的的返回值是布尔类型
D)以上说法都不正确
39.下列程序的输出结果是(A)
classDemo{
publicstaticvoidmain(String[]args){
System.out.println("abcd".lastIndexOf("bc",1));
}
}
lastIndexOf方法从指定位置开始反向搜索,把bc看成一个字母即b,搜到了b再看b后面是否是c,如果不是返回-1(没有搜到),如果是c返回b的位置。
A)1
B)-1
C)0
D)2
40.可以获取绝对值的方法是(D)
A)Math.ceil()
B)Math.floor()
C)Math.pow()
D)Math.abs()
41.对字符串的说法正确的是(D)
A)字符串是基本数据类型
B)字符串值存储在栈内存中
C)字符串值初始化后可以被改变
D)字符串值一旦初始化就不会被改变//字符串的特点
42.Math.random()说法正确的是(C)
A)返回一个不确定的整数
B)返回0或是1
C)返回一个随机的double类型数,该数大于等于0.0小于1.0
D)返回一个随机的int类型数,该数大于等于0.0小于1.0
43.Math.ceil(-12.5)运行结果是(D)
A)-13
B)-11
C)-12
D)-12.0
ceil向上取整,就是取比它大的整数,因为—12.5是负数,所以取-12.0
44.Math.floor(15.6)运行结果是(A)
A)15.0
B)15
C)16.0
D)16.6
floor向下取整,就是取比它小的整数
45.在Random类中,可以生成100以内非负整数的随机数的方法是(C)
A)nextDouble()
B)nextFloat()
C)nextInt(100)
D)nextInt()
46.DateFormat类中的parse()方法描述正确的是(C)
A)将毫秒值转成日期对象
B)格式化日期对象
C)将字符串转成日期对象
D)将日期对象转成字符串
47.Calendar类中的Day_OF_WEEK可以获取到(C)
A)年中的某一天
B)月中的某一天
C)星期中的某一天看英语单词的意思就能会
D)月中的最后一天
48.下面程序的运行结果是(D)
Strings1=“abc”;
Strings2=newString(“abc”);
System.out.println(s1==s2);比较的是地址.因为2个对象.所以false
Strings3=“你好吗”;
Strings4=”你”;
Strings5=”好吗”;
System.out.println(s3==(s4+s5))
由于s4和s5是变量,在编译的时候会开辟出一个新的地址来存储s4与s5链接后的字符串.所以结果是false
A)truetrue
B)falsetrue
C)trueflase
D)falsefalse
49.关于StringBuffer的说法正确的是(C)
A)capacity的值不大于length的值
B)capacity的值小于length的值
C)capacity的值不小于length的值
D)以上说法都不对
capacity():
返回当前容量;length():
返回长度(字符数)
50.下面说法正确的是(ACD)
A)字符串缓冲区是为了提高字符串的操作效率
B)StringBuilder是线程安全的
C)StringBuffer是线程安全的
D)String类的valueOf()方法可以将任意类型变成字符串