第五章 API 题库 |
您所在的位置:网站首页 › 以下哪些选项是字符串的常用方法 › 第五章 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 System.out.print(random2.nextInt(5)); } } A、 3030130301 B、 5048132680 C、 3268023579 D、 1111111111 答案: A 解析:当创建Random类的实例对象时,如果指定了相同的种子,则每个实例对象产生的随机数具有相同的序列,调用nextInt(int in)方法时产生的随机数在(0 = 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 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 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中的所有字符都转换为小写。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |