Java基础之常用API测试

时间:2022-02-27 22:07:56

单选题:(每道题目2分)

1.       String类中的getBytes()方法的作用是( C   )

a)        将整数变成字符串

b)        将字符串变成字符数组

c)        将字符串变成字节数组

d)        获取中字符串中字符的个数

 

2.       对字符串的说法正确的是(   d   )

a)        字符串是基本数据类型

b)        字符串值存储在栈内存中

c)        字符串值初始化后可以被改变

d)        字符串值一旦初始化就不会被改变

基本类型:byte short  int long float  double  char  Boolean

引用类型:类,接口,数组

 

3.       将字符串转成字符数组的方法是( b    )

a)        toString()

b)        toCharArray()

c)        toUpperCase()

d)        toLowerCase()

 

4.       向字符串缓冲区中追加字符串,使用的方法是(  c   )

a)        length()

b)        delete()

c)        append()

d)        toString()

     字符串缓冲区类:StringBuffer/StringBuilder

 

5.       关于StringBuffer说法正确的是(  a  )

a)        StringBuffer是字符串缓冲区类,空间是可以发生改变的

b)        StringBuffer和String是一样的

c)        StringBuffer只能添加同一种类型的元素

d)        StringBuffer没有反转的功能     //public  StringBuffer  reverse()反转

 

6.       下面哪个程序的运行结果是true(  c   )

a)        System.out.println(“abc”.equals(“Abc”));  //false

b)        System.out.println(“”.equals(null));       //false

c)        System.out.println(“abc”==”ab”+”c”);     //==比较字符串的内容

d)        System.out.println(“”.equalsIgnoreCase(null));  //false

//==的作用:a:基本类型    比较的是数据值     b:引用类型     比较的是地址值

  equals:比较内容,严格区分大小写

equalsIgnoreCase: 比较内容,忽略大小写

 

7.       能切割字符串的方法是( c   )

a)        indexOf()

b)        substring()

c)        split()

d)        trim()

 

8.       截取字符串的方法是(  d   )

a)        replace()

b)        toString()

c)        substr()

d)        substring()

 

9.       下面程序运行的结果是( C   )

  String str = “abcdefg”;

 str.substring(0,2);

  System.out.println(str);

a)        ab

b)        abc

c)        abcdefg

d)        出现下标越界异常

 

10.   下面程序的运行结果是( c   )

public stati void main(String[]args){

StringBuffer sb = newStringBuffer();

sb.append("qq").append("ww");

show(sb,"ss");

System.out.println(sb.length());

      }

static void show(StringBuffersb,String str){

      sb.append(str);

        }

a)        4

b)        2

c)        6

d)        0

 

11.   下面程序运行的结果是( d   )

  String str1= “1”, str2=”2”;

  if(str1==str2)

   System.out.println(“ABC”);

  else if(str1<str2)            //编译出错

   System.out.println(“DEF”);

  else

   System.out.println(“GHJ”);

a)        ABC

b)        DEF

c)        GHJ

d)        编译失败

 

12.   关于Integer类中的静态方法parseInt()方法说法正确的是( b   )

a)        将小数转换成整数

b)        将数字格式的字符串转成整数

c)        parseInt()方法永远不会抛出异常

d)        将单个字符转成整数

 

13.   下面代码运行的结果是( c   )

  Integer x = 3 ;

  x = x + 3;              //自动拆装箱

  System.out.println(x);

a)        编译失败

b)        x3

c)        6

d)        Null

 

14.   System.exit()的作用是( b   )

a)        退出当前的操作系统

b)        退出当前JVM

c)        获取操作系统属性

d)        获取JVM的属性

 

15.   可以获取绝对值的方法是( d   )

a)        Math.ceil()     //向上取整

b)        Math.floor()    //向下取整

c)        Math.pow()     // pow(double a,double b)  a的b次方

d)        Math.abs()    

 

16.   Math.random()说法正确的是(  C   )

a)        返回一个不确定的整数

b)        返回0或是1

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

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

 

17.   Date类中,哪个方法可以返回当前日期对象的毫秒值(  b   )

a)        getSeconds()

b)        getTime()

c)        getDay()

d)        getDate()

 

18.   DateFormat类中的parse()方法描述正确的是( c   )

a)        将毫秒值转成日期对象

b)        格式化日期对象

c)        将字符串转成日期对象

d)        将日期对象转成字符串

 

19.   下面程序的运行结果是( d   )

   String s1 = “abc”;

   String s2 = new String(“abc”);

   System.out.println(s1==s2);    //比较的是地址值

   String s3 = “你好吗”;

   String s4 =”你”;

   String s5 =”好吗”;

   System.out.println(s3==(s4+s5))

a)        true true

b)        false true

c)        true flase

d)        false false

 

多选题:(每道题目3分)

20.   StringBuffer类中的append()方法描述正确的是( a,c )

a)        向缓冲区追加字符数据

b)        将缓冲区中的字符串删除

c)        append()方法返回值类型是StringBuffer类型

d)        append()方法返回值类型是String类型

 

21.   关于String类的indexOf说法不正确的是( c,d )

a)        返回指定字符在字符串中第一次出现的索引

b)        返回指定子字符串在此字符串第一次出现的索引

c)        返回指定字符在字符串中最后一次出现的索引

d)        返回指定子字符串在此字符串最后一次出现的索引

 

22.   下面所有描述String类中equals()方法正确的是( d   )

a)        equals()方式是覆盖Object类中的equals()方法

b)        equals()比较字符串中的内容,区分大小写

c)        equals()方法的的返回值是布尔类型

d)        以上说法都不正确

 

23.   关于null和””说法正确的是( a b d )

a)        null是常量(空常量)

b)        “”是字符串对象

c)        null可以调用方法

d)        “”可以调用方法

 

24.   下面关于代码String str = new String(“abc”);描述正确的是( b, c )

a)        只创建了一个对象

b)        创建了两个对象,一个是new String()对象,一个是”abc”对象

c)        str.equals(“abc”);将返回true

d)        str.equals(“abc”);将返回false

 

简答题目:(每道题目3分)

26:String类和StringBuffer类的区别是什么?

String内容不可变

StringBuffer 内容可变,

27:通过Math类的哪一个方法可以获取一个随机数?如果想要获取的数据是1-100之间的该怎么办?

Random()可以获取一个[0,1)的随机数,

获取1-100之间的随机数:Math.random()*100+1

28:数组有没有length()这个方法?String有没有length()这个方法?

数组没有length()方法,有length属性,

String 有length()方法

29:”==”和equals()方法的区别是什么?

==:基本数据类型比较的是数据值;引用类型比较的是地址值

equals():默认比较的是对象的地址值。重写后,就按照重写后的规则进行比较。

30:冒泡排序,选择排序的原理分别是什么?

冒泡排序:相邻两个元素进行比较,大的放后面,小的放前面,第一次比较完毕,最大值出现在最大索引处;

 

选择排序:从第一个元素开始,依次和后面的每一个元素进行比较,如果后一个元素比第一个元素小,则交换他两的值,第一次比较完,最小值出现在最小索引的位置;然后再从第二个元素的位置开始,依次和后面的元素进行比较。

 

编程题:(每道题目10分 题目如果没有说要写测试,就直接写一个功能即可)

31:请自己实现把一个int[]数组转换成字符串的功能。

package com.practice3;

 

import java.util.Arrays;

 

//把数组转为字符串

public class ArrayDemo {

   public static void main(String[] args) {

      int[] arr={2,33,77,88,97};

      //System.out.println(intArrToString(arr));

      System.out.println(Arrays.toString(arr));

   }

 

// private static String intArrToString(int[]arr) {

//    StringBuffer sb = new StringBuffer();

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

//      sb.append(arr[i]);

//    }

//    String s = sb.toString();

//    return s;

//   

// }

}

 

32:请自己实现一个排序算法的代码。(int[]数组。冒泡或者选择都行)。

//选择排序

public static void selectSort(int[] arr) {

   for(int x=0; x<arr.length-1; x++) {

      for(int y=x+1; y<arr.length; y++) {

        if(arr[y] < arr[x]) {

           int temp = arr[x];

           arr[x] = arr[y];

           arr[y] = temp;

        }

      }

   }

}

 //用数组工具类中的sort()方法

public static void sort(int[] arr){

   return Arrays.sort(arr);

}

 

 

33:请在main方法里面实现统计一个字符串的英文大写字符,英文小写字符及数字字符分别有多少个的程序代码,并输出统计结果。

package com.practice3;

public class CountNumber {

   public static void main(String[] args) {

      String s="zvbxghGHGHdf33678hFF216Y";

      char[] ch = s.toCharArray();

      int numberCount=0;

      int lowerCount=0;

      int upperCount=0;

      for (inti = 0; i < ch.length; i++) {

        if(Character.isDigit(ch[i])){

           numberCount++;

        }else if(Character.isLowerCase(ch[i])){

           lowerCount++;

        }else if(Character.isUpperCase(ch[i])){

           upperCount++;

        }

      }

      System.out.println("数字的个数为:"+numberCount);

      System.out.println("小写字母的个数为:"+lowerCount);

      System.out.println("大写字母的个数为:"+upperCount);

   }

}