第五章 API 题库

1、下列选项中,可以正确实现String初始化的是()

A、 String str = "abc";

B、 String str = ‘abc’;

C、 String str = abc;

D、 String str = 0;

答案: A

2、下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引?()

A、 char charAt(int index);

B、 int indexOf(int ch);

C、 int lastIndexOf(int ch);

D、 boolean endsWith(String suffix);

E、 :B

F、 解析:A答案返回字符串中index位置上的字符

G、 案返回指定字符在此字符串中最后一次出现处的索引

答案: D

3、阅读下面的程序:

class StringDemo{

  public static void main(String[] args){

    String s1 = “a”;

  String s2 = “b”;

  show(s1,s2);

  System.out.println(s1+s2);

}

 public static void show(String s1,String s2){

     s1 = s1 +”q”;

     s2 = s2 + s1;

}

}

上述程序的运行结果为(

A、 ab

B、 aqb

C、

aqbaq

D、 aqaqb

答案: A

4、假如indexOf()方法未能找到所指定的子字符串,那么其返回值为()

A、 false

B、 0

C、 -1

D、 以上答案都不对

答案: C
解析:indexOf()方法找不到指定的子字符串时,返回值为-1。

5、已知 String 对象 s="abcdefg",则 s.substring(2, 5)的返回值为()

A、 "bcde"

B、 "cde"

C、 "cdef"

D、 "def"

答案: B
解析:字符串索引从0开始,substring()方法截取的字符串是包左不包右的。

6、StringBuffer类的append()方法的返回值类型是()

A、 String

B、 void

C、 StringBuffer

D、 StringBuilder

答案: C
解析:StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象返回值类型还是StringBuffer类型。

7、String、StringBuffer和StringBuilder三个操作字符串的效率优先级顺序是()

A、 StringBuilder>StringBuffer>String

B、 StringBuffer > StringBuilder >String

C、 String>StringBuffer> StringBuilder

D、 三种字符串优先级一样

答案: C

8、System类的getProperties()方法的作用是()

A、 获取当前的操作系统的属性

B、 获取当前JVM的属性

C、 获取指定键指示的操作系统属性

D、 获取指定键指示的JVM的属性

答案: A
解析:System类的getProperties()方法的作用是确定当前系统的属性。

9、下列关于System类的描述中,错误的是()

A、 System类是final关键字修饰的类,它不能被其他类所继承

B、 System类不能被实例化

C、 System类中定义了许多方法,但是没有定义字段

D、 System类中提供了获取当前系统属性的方法

答案: C
解析:System类中定义了三个字段,err、out和in,分别表示“标准”错误输出流、“标准”输入流和“标准”输出流。

10、阅读下列代码:

public class Example {

 public static void main(String[] args) {

  int[] srcArray = { 11, 12, 13, 14 };

  int[] destArray = { 21, 22, 23, 24 };

  System.arraycopy(srcArray, 1, destArray, 2, 2);

  for (int i = 0; i < destArray.length; i++) {

   System.out.print(destArray[i] + " ");

  }

 }

}

程序的运行结果是()

A、

21 22 12 13

B、

21 22 11 12

C、 21 11 12 24

D、 发生数组角标越界异常

答案: A
解析:

上述程序中,arraycopy()方法从指定源数组srcArray角标为1处开始,复制2个长度的数组,复制的数组替换掉目标数组destArray从角标2开始的2个长度的子数组。也就是说,将srcArray中 的12, 13两个元素替换掉了destArray中的23, 24两个元素,最后得到的是{ 21, 22, 12, 13 }这样的数组。

11、下面哪个选项可以获取Runtime类的实例?()

A、 Runtime r = new Runtime();

B、 Runtime r = Runtime.getRuntime();

C、 Runtime r = Runtime.getInstance();

D、 以上选项都不能获取Runtime实例

答案: B

12、下列选项中,属于单例设计模式的类是()

A、 Math

B、 Calendar

C、 Runtime

D、 System

答案: C
解析:Runtime类是单例设计模式的类

13、下面关于 Math.random()方法生成的随机数,正确的是哪项()

A、 0.8652963898062596

B、 -0.2

C、 3.0

D、 1.2

答案: A
解析:double random()方法返回带正号的 double 值,该值大于等于 0.0 且小于 1.0, 此值是一个伪随机选择的数。

14、下列选项中,对Math.random()方法描述正确的是 ( )

A、 返回一个不确定的整数

B、 返回0或是1

C、 返回一个随机的double类型数,该数大于等于0.0小于1.0

D、 返回一个随机的int类型数,该数大于等于0.0小于1.0

答案: C
解析:返回一个随机的double类型数,该数大于等于0.0小于1.0

15、若double val = Math.ceil(-11.9);,则val的值是()

A、 11.9

B、 -11.0

C、 -11.5

D、 -12.0

答案: B
解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。

16、下面关于java.util.Random类中方法,说法错误的是( )

A、 nextDouble()方法返回的是0.0和1.0之间double类型的值

B、 nextFloat()方法返回的是0.0和1.0之间float类型的值

C、 nextInt(int n)返回的是0(包括)和指定值n(不包括)之间的值

D、 nextInt( )返回的是0(包括)和 2147483647 之间的值

答案: D
解析:nextInt( ) 生成 2147483647 -2147483648之间的一个数字。

17、在Integer类特有的方法中,可以将字符串参数作为有符号的十进制整数进行解析的方法是()

A、 Integer valueOf()

B、 IntegervalueOf()

C、 int parseInt()

D、 intValue()

答案: D

18、String类对正则表达式的方法中可以将字符串拆分的方法是()

A、 boolean matches()

B、 String replaceAll()

C、 int parseInt()

D、 String[] split()

答案: D

19、下面哪些选项可以实现String的初始化?()

A、 String str = "abc";

B、 String str = new String();

C、 String str = new String(“abc”);

D、 char[] chs = {‘a’,’b’,’c’};String str = new String(chs);

答案: ABCD

20、下列选项中,可以正确创建一个字符串的是?()

A、 String s = "itcast";

B、 String s = new String("itcast");

C、 String s = new String(new char[] {'i','t','c','a','s','t'});

D、 String s = new String(new int[]{1,2,3});

答案: ABC

21、下面哪些方法是字符串中的判断方法?()

A、 boolean contains(CharSequence cs);

B、 String toLowerCase();

C、 boolean equals(Object anObject);

D、 boolean isEmpty();

答案: ACD
解析:B答案使用默认语言环境的规则将String中的所有字符都转换为小写

22、下列选项中,属于StringBuffer类特点的是()

A、 字符串缓冲区,提高字符串的操作效率

B、 StringBuffer类是线程安全的

C、 StringBuffer类的toString()方法,将缓冲区变成字符串

D、 StringBuffer是不可变的对象

答案: ABC

23、下列关于Runtime的描述中,正确的是()

A、 每一个Java应用程序运行时都产生一个Runtime类实例

B、 Runtime实例可以将应用程序和运行环境相结合

C、 Runtime类没有构造函数

D、 Runtime实例不需要创建,直接通过getRuntime()方法获取

答案: ABCD
解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

24、下面选项中,对Math类描述正确的是()

A、 Math类中所有的方法都是静态的,所以类名.调用即可

B、 Math类的构造函数是私有的,所以其他类不能用Math类创建对象

C、 Math类在java.math包中

D、 Math类可以创建对象

答案: AB
解析:Math类在java.lang包中; Math类不可以创建对象,因为构造方法被私有了

25、Java提供了一套专门用于处理日期时间的API,下列选项中属于处理时间API的是()

A、 LocalDate类

B、 LocalTime类

C、 Instant类

D、 Duration类

答案: ABCD

26、使用字符串常量可以直接初始化一个String对象。

答案: 错误

27、使用String类的toCharArray()方法可以将一个字符串转为一个字符数组。

答案: 正确
解析:使用String类的toCharArray()方法可以将一个字符串转为一个字符数组。

28、String类的equals()方法和“= =”的作用是一样的。

答案: 错误
解析:String类的equals()方法比较的是两个字符串、“==”比较的是两个对象的地址值。

29、StringBuffer类和String类一样,都是不可变对象。

答案: 错误
解析:字符串是常量,因此一旦创建,其内容和长度是不可改变的,StringBuffer类长度是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。

30、StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。

答案: 正确

31、System.getProperties()方法可以获取操作系统的属性。

答案: 正确
解析:System类的getProperties()方法用于获取系统属性。

32、System类中提供的属性和方法都是静态的。

答案: 正确

33、Runtime类是用单例设计模式设计的,不能直接创建对象,可以通过Rutime类中的一个静态方法getRuntime()方法获取实例。

答案: 正确

34、Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

答案: 错误

35、Math.round(double d)方法的作用是将一个数四舍五入,并返回一个double数。

答案: 错误
解析:Math.round(double d)方法,返回的是一个long类型的整数。

36、ceil()、floor()和round()方法返回的都是double类型的数。

答案: 错误
解析:ceil()方法和floor()方法返回的都是double类型的值,而round()方法返回一个int值。

37、java.util.Random的nextInt( )方法会生成一个正整数类型的伪随机数。

答案: 错误
解析:java.util.Random 的 nextInt( ) 生成 2147483647 -2147483648之间的一个数字,也可能是负数。

38、针对字符串的操作,Java提供了两个字符串类,分别是String和【】

答案: 字符串常量;

39、在程序中,获取字符串长度的方法是【】。

答案: length();

40、StringBuffer类的默认容量是【】个字符。

答案: 16;

41、当对字符串进行修改时,【】类和【】类的对象都可以被多次修改,并不产生新的未使用对象。

答案: StringBuffer;StringBuilder;

42、System类的【】静态方法可以启动垃圾回收器。

答案: gc();

43、要编写一个程序打开记事本,在下列程序中填写适当的代码,Runtime r = Runtime.getRuntime();r.exec("【】");

答案: Notepad.exe;

44、Math类中,用于获取一个数的绝对值的方法是【】

答案: Math.abs();;

45、java.util包中的【】可以在指定的取值范围内随机产生数字。

答案: Random类;

46、
下面哪个选项可以获取Runtime类的实例()

A、 Runtime r = new Runtime();

B、 Runtime r = Runtime.getRuntime();

C、 Runtime r = Runtime.getInstance();

D、 以上选项都不能获取Runtime实例

答案: B
解析:Runtime类是单例设计模式类,获取实例的方法是getRuntime方法。

47、
下列选项中,可以正确创建一个字符串的是(    )

A、 String s = "itcast";

B、 String s = new String("itcast");

C、 String s = new String(new char[] {'i','t','c','a','s','t'});

D、 String s = new String(new int[]{1,2,3});

答案: ABC
解析:使用int类型数组创建字符串,需要初始偏移量和长度两个参数。

48、
下列选项中,可以正确实现String初始化的是()

A、 String str = "abc";

B、

  • String str = 'abc';
  • C、

C、

  • String str = abc;
  • D、

D、 String str = 0;

答案: A
解析:B答案错误,因为字符串必须使用双引号,C答案的abc不符合字符命名格式,D答案的0是整数的默认值。

49、下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是(    )

A、 nextInt()

B、 nextLong()

C、 nextBoolean()

D、 nextInt(intn)

答案: D
解析:nextInt(int n)方法能够随机生成0~n之间int类型的随机数。

50、
下面选项中,属于java.util.Random类中的方法的是(  )

A、 next(intbits)

B、 nextInt()

C、 nextLong()

D、

  • random()

答案: ABC
解析:random() 方法是 java.lang.Math类中的方法。

51、
JAVA中 int类型对应的包装类是【】(填英文表示)。

答案:

Integer

52、
下面关于java.util.Random类中方法,说明错误的是( )

A、 nextDouble()方法返回的是0.0和1.0之间double类型的值

B、 nextFloat()方法返回的是0.0和1.0之间float类型的值

C、 nextInt(intn)返回的是0(包括)和指定值n(不包括)之间的值

D、 nextInt()返回的是0(包括)和2147483647之间的值

答案: D
解析:nextInt( ) 生成 2147483647 -2147483648之间的一个数字。

53、
JAVA中拆箱是指将引用数据类型的对象转为基本数据类型。

答案: 正确
解析:拆箱是指将引用数据类型的对象转为基本数据类型。

54、
Random类的实例用于生成随机数。

答案: 正确
解析:Random类的实例用于生成随机数。

55、
阅读下面一段代码,代码的输出结果是()
Integer in1 = new Integer(10);
  Integer in2 = new Integer(10);

  Integer in3 = 10;
  Integer in4 = 10;

  System.out.println(in1 == in2); 
  System.out.println(in1 == in3); 
  System.out.println(in3 == in4);

A、 true true true

B、 false false true

C、 false false false

D、 false true false

答案: B
解析:in1和in2是new出来的,所以地址不一样,但是in3和in4的值是同一个常量10,所以相等。

56、
包装类可以将基本数据类型的值包装为引用数据类型的对象。

答案: 正确
解析:包装类可以将基本数据类型的值包装为引用数据类型的对象。

57、
ceil()、floor()和round()方法返回的都是double类型的数。

答案: 错误
解析:ceil()方法和floor()方法返回的都是double类型的值,而round()方法返回一个int值。

58、
下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是(    )

A、 random()

B、 abs()

C、 sin()

D、 pow()

答案: A
解析:abs()获取绝对值,sin()获取正弦值,pow()获取次幂值,选项A才是获得随机数的方法。

59、
下列选项中,关于包装类描述错误的是()

A、 包装类的作用之一就是将基本类型包装成引用类型

B、 包装类它可以完成在基本类型与String类型之间的转换

C、 包装类一共有八个,对应的基本数据类型

D、 我们可以继承包装类,以完成自定义包装

答案: D
解析:包装类都是final修饰的,不能被继承。

60、
若double val = Math.ceil(-11.9);,则val的值是(    )

A、 11.9

B、 -11.0

C、 -11.5

D、 -12.0

答案: B
解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。

61、
java.util.Random的nextInt( )方法会生成一个正整数类型的伪随机数。

答案: 错误
解析:java.util.Random 的 nextInt( ) 生成 2147483647 -2147483648之间的一个数字,也可能是负数。

62、
java.util包中的Random类的作用是可以在指定的取值范围内【】。

答案:

随机产生数字


解析:在JDK的java.util包中有一个Random类,它可以在指定的取值范围内随机产生数字。

63、
下面选项中,对Math类描述正确的是()

A、 Math类中所有的方法都是静态的,所以类名.调用即可

B、 Math类的构造函数是私有的,所以其他类不能用Math类创建对象

C、 Math类在java.math包中

D、 Math类可以创建对象

答案: AB

64、阅读下面的代码,输出结果是()
public static void main(String[] args) {
  Random random1 = new Random(10); 
  Random random2 = new Random(10); 
  for(int i=0;i<5;i++){
   System.out.print(random1.nextInt(5));
  }
  System.out.println();
  for(int i=0;i<5;i++){
   System.out.print(random2.nextInt(5));
  }
}

A、 3030130301

B、 5048132680

C、 3268023579

D、 1111111111

答案: A
解析:当创建Random类的实例对象时,如果指定了相同的种子,则每个实例对象产生的随机数具有相同的序列,调用nextInt(int in)方法时产生的随机数在(0 =< 参数值)之间。

65、
下列数据类型中,哪些类型的数据是Random对象能够随机生成的(    )

A、 int

B、 string

C、 double

D、 float

答案: ACD
解析:Random实例对象,能够生成:boolean、double、float、int、long类型的随机数。

66、
下列选项中,哪些是java 中的包装类()

A、 java.lang.Double

B、 java.lang.Char

C、 java.lang.Int

D、 java.lang.Byte

答案: AD
解析:char类型包装类是Character,int类型包装类是Integer。

67、
通过java中的包装类完成以下功能:
1. 创建一个基本数据类型int i=10,将其转换成对应的包装类Integer in
2. 通过创建的int类型包装类对象in来描述自动拆装箱
2.1 将in拆箱,赋值给int a
2.2 对in重新赋值,值为20

答案:

public class Demo {
 public static void main(String[] args) {
  int i=10;
  Integer in=new Integer(i);  
  int a=in;
  in=20;
 }
}


解析:int a=in;表示将包装类对象转换成基本数据类型是拆箱过程;in=20;表示将基本数值转换成包装类对象,是装箱过程。

68、编写程序一个StringDemo类,在main方法中定义两个String字符串,使用String类equals方法,判断两个字符串是否相同,输出结果。

答案:

class StringDemo{
   public static void main(String[] args){
        String s1 = “abc”;
        String s2 = “abc”;
        boolean b = s1.equals(s2);
        System.out.println(b);
}
}
输出结果为:true


解析:使用String类equals方法比较两个字符串的值是否相等。

69、简要概述StringBuffer类的append方法的作用和特点。

答案:

append()方法始终将数据添加到缓冲区的末尾","并返回本类的对象StringBuffer","无论append追加的数据是什么类型","最终都会变成字符串。


解析:append()方法始终将数据添加到缓冲区的末尾,并返回本类的对象StringBuffer,无论append追加的数据是什么类型,最终都会变成字符串。

70、
System类的【】静态方法可以启动垃圾回收器。

答案:

gc()


解析:System类的gc()方法可以启动垃圾回收器。

71、
阅读下列代码
public class Example {
 public static void main(String[] args) {
  int[] srcArray = { 11, 12, 13, 14 };
  int[] destArray = { 21, 22, 23, 24 };
  System.arraycopy(srcArray, 1, destArray, 2, 2);
  for (int i = 0; i < destArray.length; i++) {
   System.out.print(destArray[i] + " ");
  }
 }
}
下列选项中,程序的运行结果是(    )

A、 21 22 12 13

B、 21 22 11 12

C、 21 11 12 24

D、 发生数组角标越界异常

答案: A
解析:上述程序中,arraycopy()方法从指定源数组srcArray角标为1处开始,复制2个长度的数组,复制的数组替换掉目标数组destArray从角标2开始的2个长度的子数组。也就是说,将srcArray中 的12, 13两个元素替换掉了destArray中的23, 24两个元素,最后得到的是{ 21, 22, 12, 13 }这样的数组。

72、
StringBuffer类的append()方法的返回值类型是()

A、 String

B、 void

C、 StringBuffer

D、 StringBuilder

答案: C
解析:StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象返回值类型还是StringBuffer类型。

73、
假如indexOf()方法未能找到所指定的子字符串,那么其返回值为(    )

A、 false

B、 0

C、 -1

D、 以上答案都不对

答案: C
解析:indexOf()方法找不到指定的子字符串时,返回值为-1。

74、
编写一个mathDemo类,定义变量double d1 = 15.6432241;和double d2 = 7.543453459;,使用java.lang.Math中的方法, 比较两个变量中较大的数,并将较大数的值舍入为整数。

答案:

package cn.itcast;
class mathDemo {
 public static void main(String[] args) {
  double d1 = 15.6432241;
  double d2 = 7.543453459;
  double max = Math.max(d1"," d2);
  System.out.println(Math.round(max));
 }
}
运行结果:16


解析:使用Math.max()方法比较d1,和d2的值,d1>d2,然后调用Math.round()方法将d1的值四舍五入,所以结果为16。

75、
Math类中,用于获取一个数的绝对值的方法是【】。

答案:

Math.abs();


解析:Math.abs()方法用于获取一个数的绝对值。

76、
下列选项中,属于StringBuffer类特点的是()

A、 字符串缓冲区,提高字符串的操作效率

B、 StringBuffer类是线程安全的

C、 StringBuffer类的toString()方法,将缓冲区变成字符串

D、 StringBuffer是不可变的对象

答案: ABC
解析:StringBuffer类的特点。

77、
System类的getProperties()方法的作用是()

A、 获取当前的操作系统的属性

B、 获取当前JVM的属性

C、 获取指定键指示的操作系统属性

D、 获取指定键指示的JVM的属性

答案: A
解析:System类的getProperties()方法的作用是确定当前系统的属性。

78、
Runtime r = Runtime.getRuntime();r.exec("【】");在横线处填写一个命令,使运行程序的时候会打开一个记事本。

答案:

Notepad.exe


解析:在exec()方法中传入一个dos命令,程序就会执行这个dos命令。

79、

Math.round(double d)方法的作用是,将一个数四舍五入,并返回一个double数。

答案: 错误
解析:Math.round(double d)方法,返回的是一个long类型的整数。

80、建立一个Test类,通过使用System类中的一个方法,实现将int[] arr1 = {11,22,33,44,55}中的所有元素拷贝到目标数组int[] arr2 = new int[8]中。

答案:

class Test {
 public static void main(String[] args) {
  int[] arr1 = {11","22","33","44","55};
  int[] arr2 = new int[8];
  System.arraycopy(arr1","0","arr2","0","arr1.length);
  for (int i = 0;i < arr2.length ;i++ ) {
   System.out.print(arr2[i] + " ");
  }
 }
}
运行结果:11 22 33 44 55 0 0 0


解析:System类的arraycopy(Object src,int srcPos, Object dest, int destPos,int length) 方法是从指定源数组中复制一个数组,所以我们使用arraycopy()方法来完成这个题,我们看到数组arr1的所有元素都拷贝到了数组arr2中,arr2的长度是8,但arr1的长度是5,所以当我们遍历说组arr2时,最后三位没有值的位置用0补充。注意arraycopy()方法的copy首字母小写。

81、
已知 String 对象 s="abcdefg",则 s.substring(2, 5)的返回值为(    )

A、 "bcde"

B、 "cde"

C、 "cdef"

D、 "def"

答案: B
解析:字符串索引从0开始,substring()方法截取的字符串是包左不包右的。

82、
在Java中可以通过哪些方式对String进行初始化?

答案:

在操作String类之前","首先需要对String类进行初始化","在Java中可以通过以下两种方式对String类进行初始化:  
1、使用字符串常量直接初始化一个String对象。
2、使用String的构造方法初始化字符串对象。


解析:在Java中可以通过以下两种方式对String类进行初始化:  
1、使用字符串常量直接初始化一个String对象。
2、使用String的构造方法初始化字符串对象。

83、
StringBuffer类的默认容量是【】个字符。

答案:

16


解析:默认16个字符。

84、

Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

答案: 正确
解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每个java应用程序都有一个Runtime实例 ,当java应用程序运行时,都会封装成一个单独的运行时对象。

85、

StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。

答案: 正确
解析:StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。

86、
下列选项中,对Math.random()方法描述正确的是(     )

A、 返回一个不确定的整数

B、 返回0或是1

C、 返回一个随机的double类型数,该数大于等于0.0小于1.0

D、 返回一个随机的int类型数,该数大于等于0.0小于1.0

答案: C
解析:返回一个随机的double类型数,该数大于等于0.0小于1.0。

87、
String类的equals()方法和“= =”的作用是一样的。

答案: 错误
解析:String类的equals()方法比较的是两个字符串、“==”比较的是两个对象的地址值。

88、
下列关于StringBuffer类的描述中,正确的是(    )

A、 append()方法可以接受任意类型的数据

B、 insert()方法可以接受任意类型的数据

C、 append()方法返回的是一个新的StringBuffer对象

D、 insert()方法返回的是一个新的StringBuffer对象

答案: AB
解析:StringBuffer的apped()方法和insert()方法返回的都是原来的StringBuffer对象,并且他们都可以接受任意类型的数据。

89、
下列选项中,属于单例设计模式的类是(    )

A、 Math

B、 Calendar

C、 Runtime

D、 System

答案: C
解析:Runtime类是单例设计模式的类。

90、
编写一个StringBufferDemo类,在主方法中,创建两个int值,和一个double值,建立一个StringBuffer对象,将上面三个值追加到缓冲区,并将缓冲区变成字符串,输出结果。

答案:

class StringBufferDemo{
   public static void main(String[] args){
      int a = 2 ;
      int b = 3;
      double d = 4.5;
      StringBuffer buffer = new StringBuffer();
      buffer.append(a).append(b).append(d);
      StringBuffer buffer = new StringBuffer();
     StringBuffer s = buffer.append(a).append(b).append(d);
     System.out.println(s);
}
}
输出结果:234.5


解析:从运行结果可以看出,append()方法将数据添加到缓冲区的末尾,并返回本类的对象StringBuffer,无论append追加的数据是什么类型,最终都会变成字符串。

91、
下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引()

A、 charcharAt(intindex)

B、 intindexOf(intch)

C、 intlastIndexOf(intch)

D、 booleanendsWith(Stringsuffix)

答案: B
解析:A答案返回字符串中index位置上的字符
C答案返回指定字符在此字符串中最后一次出现处的索引
D答案判断此字符串是否以指定的字符串结尾

92、
请编写一个StringDemo类,在主方法中实例化String类,初始化值为”itcast”,输出String初始化值。

答案:

class StringDemo {
public static void main(String[] args) {
 String str = "itcast";
 System.out.println(str);
}
}


解析:对字符串类进行初始化的操作有很多种,任选一种即可。最后用输出语句输出结果即可。

93、
下列关于String类和StringBuffer类的说法中,正确的是(    )

A、 String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度都可以随时修改

B、 String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法

C、 String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能

D、 String类覆盖了Object类的toString()方法,而StringBuffer类没有覆盖Object类的toString()方法

答案: ABC
解析:String和StringBuffer本身就是一个字符串都不需要覆盖toString()方法。

94、
System类中提供的属性和方法都是静态的。

答案: 正确
解析:System类中提供的属性和方法都是静态的。

95、
使用字符串常量可以直接初始化一个String对象。

答案: 正确
解析:使用字符串常量直接初始化一个String对象,具体代码如下:
String str1 = "abc";

96、Runtime类是用单例设计模式设计的,不能直接创建对象,可以通过Rutime类中的一个静态方法getRuntime()方法获取实例。

答案: 正确
解析:Runtime类是用单例设计模式设计的。

97、
字符串一旦初始化就不可以被改变。

答案: 正确
解析:字符串一旦初始化就不可以被改变。

98、
下列关于System类的描述中,错误的是(    )

A、 System类是final关键字修饰的类,它不能被其他类所继承

B、 System类不能被实例化

C、 System类中定义了许多方法,但是没有定义字段

D、 System类中提供了获取当前系统属性的方法

答案: C
解析:System类中定义了三个字段,err、out和in,分别表示“标准”错误输出流、“标准”输入流和“标准”输出流。

99、
下面关于 Math.random()方法生成的随机数,正确的是哪项(  )

A、 0.8652963898062596

B、 -0.2

C、 3.0

D、 1.2

答案: A
解析:double random()方法返回带正号的 double 值,该值大于等于 0.0 且小于 1.0, 此值是一个伪随机选择的数。

100、
StringBuffer类和String类一样,都是不可变对象。

答案: 错误
解析:字符串是常量,因此一旦创建,其内容和长度是不可改变的,StringBuffer类长度是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。

101、
编写一个Test类,获取Runtime实例,使用exec()方法执行一个dos命令,用于打开一个windows自带的记事本程序。

答案:

public class Test {
 public static void main(String[] args) throws IOException {
  Runtime r = Runtime.getRuntime();
  r.exec("notepad");
 }
}


解析:通过获取到的Runtime实例,利用exec()方法,在方法中传入notepad命令,打开记事本程序。

102、
阅读下面的程序,选择正确的答案?()
class StringDemo{
  public static void main(String[] args){
    String s1 = "a";
  String s2 = "b";
  show(s1,s2);
  System.out.println(s1+s2);
}
 public static void show(String s1,String s2){
     s1 = s1 +"q";
     s2 = s2 + s1;
}
}

A、 ab

B、 aqb

C、 aqbaq

D、 aqaqb

答案: A
解析:字符串不变性。

103、
在程序,获取字符串长度的方法是【】。

答案:

length()


解析:在程序,获取字符串长度的方法是:length()方法。

104、
使用String类的toCharArray()方法可以将一个字符串转为一个字符数组。

答案: 正确
解析:使用String类的toCharArray()方法可以将一个字符串转为一个字符数组。

105、
针对字符串的操作,Java提供了两个字符串类,分别是String和【】。

答案:

StringBuffer

106、
System.getProperties()方法可以获取操作系统的属性。

答案: 正确
解析:System类的getProperties()方法用于获取系统属性。

107、
下面哪些方法是字符串中的判断方法()

A、 booleancontains(CharSequencecs)

B、 StringtoLowerCase()

C、 booleanequals(ObjectanObject)

D、 booleanisEmpty()

答案: ACD
解析:B答案使用默认语言环境的规则将String中的所有字符都转换为小写。

你可能感兴趣的:(Java题库,java,开发语言)