20145209刘一阳《JAVA程序设计》第六周课堂测试

第六周课堂测试

1、现有以下代码,哪些选项插入到第5行可以通过编译?(BDF)

1.import java.util.*;

2.

3.Class FindStuff {

4.public static void main (String[]args) {

5.//insert code here

6.c.put ("X", 123);

7. }

8.}

A .Map c= new SortedMap();

B .HashMap c= new HashMap();

C .HashMap c= new Hashtable();

D .SortedMap c= new TreeMap();

E .ArrayList c= new ArrayList();

F .Map c = new LinkedHashMap();

2、已知list是一个合法的集合引用,getCollection()返回一个合法集合的引用,下列合法的是?(BE)

A .for(Object o : list)

B .for(Object o : getCollection())

C .for(Object o : list.iterator())

D .for(lterator i ; list.iterator() ; i.hasNext() )

E .for(lterator i=list.iterator(); i.hasNext(); )

3、现有以下代码,哪个选项插入将输出“abc”?(D)

class ForInTest  {
static List list=new ArrayList();
public static void main (String [] args) {
list. add("a"); list. add("b");list. add( "c");
//insert code here
System.out.print (o);
}
}

A .for (Iterator o : list.iterator(); o.hasNext (); )

B .for (Iterator o : list)

C .for (Object o : list.iterator())

D .for (Object o : list)

4、以下代码的输出结果为(C)

public  class  Demo{
public static void main (String[] args){
List al=new ArrayList();
a1.add("l");
a1.add("2");
a1.add("2");
a1.add("3");
System.out.println (al);
}
}

A .[1,2,3]

B .[1,2,3,3]

C .[1,2,2,3]

D .[2,1,3,2]

5、创建一个只能存放String的泛型ArrayList的语句是哪项?(B)

A .ArrayList al=new ArrayList();

B .ArrayList al=new ArrayList()

C .ArrayList al=new ArrayList();

D .ArrayList al =new List();

6、下列哪些项是泛型的优点?(AC)

A .不用向下强制类型转换

B .代码容易编写

C .类型安全

D .运行速度快

7、List接口的特点是?(C)

A .不允许重复元素,元素无顺序

B .不允许重复元素,元素有顺序

C .允许重复元素,元素有顺序

D .允许重复元素,元素无顺序

8、表示键值对概念的接口是?(D)

A .Set

B .List

C .Collection

D .Map

9、实现了Set接口的类是哪项?(C)

A .ArrayList

B .HashTable

C .HashSet

D .Collection

10、集合API 中Set接口的特点是?(D)

A .不允许重复元素,元素有顺序

B .允许重复元素,元素无顺序

C .允许重复元素,元素有顺序

D .不允许重复元素,元素无顺序

11、下列关于泛型类的子类的说法,正确的个数为(B)

①LinkedList泛型类创建一个链表结构的对象。

②Stack泛型类创建一个堆栈对象。

③HashMap泛型类创建散列映射。

④DelayQueue泛型类创建一个*阻塞队列。

⑤TreeSet泛型类创建树映射。

⑥Vector创建可增长的对象数组。

A .6

B .5

C .4

D .3

12、下列关于LinkedList泛型类常用方法的介绍,正确的是(ABCD)

A .public E getLast()返回此列表的最后一个元素。如果此列表为空,则抛出NoSuchElementException。

B .public void addFirst(E e) 将指定元素插入此列表的开头。e为要添加的元素。

C .public boolean add(E e)等效于addLast(E)。

D .public boolean remove(Object o) 覆盖类 AbstractCollection 中的 remove。

13、下列关于HashMap泛型类常用方法的介绍,正确的是(AD)

A .public boolean isEmpty()如果此映射不包含键-值映射关系,则返回 true。

B .public V get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则抛出异常。

C .public V put(K key, V value) 在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则以先定义的值为准。

D .public Object clone()返回此 HashMap 实例的浅表副本:并不复制键和值本身。

14、下列关于TreeSet泛型类常用方法的介绍,正确的是(BCD)

A .public boolean contains(Object o) 如果此 set 包含指定的元素,则返回 true。如果指定对象无法与该 set 中的当前元素进行比较,或不包含,则返回false。

B .public boolean add(E e)将指定的元素添加到此 set。如果此 set 已经包含这样的元素,则该调用不改变此 set 并返回 false。

C .public boolean addAll(Collection<? extends E> c)将指定 collection 中的所有元素添加到此 set 中。如果此 set 由于调用而发生更改,则返回 true。

D .public E lower(E e) 返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。

15、下列关于TreeMap泛型类常用方法的介绍,错误的是(C)

A .public K firstKey()返回此映射中当前第一个(最低)键。

B .public void clear()从此映射中移除所有映射关系。在此调用返回之后,映射将为空。

C .public Object clone()返回此 TreeMap 实例的浅表副本。(键和值本身也被复制。)

D .public Collection values()返回此映射包含的值的 Collection 视图。该 collection 的迭代器将按相关键的升序返回这些值。

16、Stack泛型类中的public int search(Object o)返回对象在堆栈中的位置,以 1 为基数。如果对象 o 是堆栈中的一个项,此方法返回距堆栈顶部最近的出现位置到堆栈顶部的距离;返回值 -1 表示此对象不在堆栈中。(A)

A .true

B .false

17、链表调用get(int index)方法的速度比顺序存储结构的集合调用get(int index)方法的速度快。(B)

A .true

B .false

18、ArrayList使用顺序结构,LinkedList使用链式结构。(A)

A .true

B .false

19、如果链表中存放的对象不是字符串数据,那么创建对象的类必须实现Comparable接口。(A)

A .true

B .false

20、下列关于String类的说法,正确的是(AB)

A .String类为final类,不能拥有子类。

B .String常量对象是用双引号括起的字符序列。

C .在String s = new String(“Hello!”);中,对象变量s中存放的是实体。

D .System.out.println(s);可以输出String对象的引用。

21、下列值不为true的表达式是(C)

A ."john" = = "john"

B ."john".equals("john")

C ."john" = "john"

D ."john".equals(new String("john"))

22、下列属于引用数据类型的是(AC)

A .String

B .char

C .用户自定义的Student类类型

D .int

23、实体相同但引用不同的两个字符串,使用“==”比较结果为false。(A)

A .true

B .false

24、使用构造方法String(byte[] bytes, int offset, int length, Charset charset),通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。其中,offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。(A)

A .true

B .false

25、下列说法错误的是(C)

A .两个常量进行并置运算,得到的仍是常量。

B .并置时只要有一个是变量,Java就会在动态区存放所得到的信String对象的实体和引用。

C .P177的程序运行后,testOne.equals(testTwo)的结果为false。

D.testTwo.equals(you+hi)的结果为true。

26、String类中的length()方法用来获取一个String对象的字符序列的长度,单位为字节。(B)

A .true

B .false

27、观察下列代码,输出结果全部正确的一组是(E)

String s1 =  "Let'sJava";
String s2 = new String("Let'sJava");
String s3 = "Let's.*";
String s4 = "Let's";
out.println(s1 == s2);//①
out.println(s1.equals(s2));//②
out.println(s1.matches(s3));//③
out.println(s1.contains(s3));//④
out.println(s1.contains(s4));//⑤

A .①false;②true;③false;④true;⑤true

B .①true;②true;③true;④true;⑤false;

C .①false;②false;③false;④false;⑤true

D .①false;②true;③true;④false;⑤false

E .①false;②true;③true;④false;⑤true

F .①false;②true;③false;④true;⑤true

28、public boolean startsWith(String prefix)方法,如果参数是空字符串,则抛出异常。(B)

A .true

B .false

29、下列关于public int compareTo(String anotherString)的说法,正确的是(ACDE)

A .按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode值。

B .如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个正整数。

C .如果它们在一个或多个索引位置上的字符不同,假设 k 是这类索引的最小值,compareTo 返回这两个字符串在位置 k 处两个char 值的差,即值:this.charAt(k)-anotherString.charAt(k)

D .如果没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这种情况下,compareTo 返回这两个字符串长度的差

E .compareTo 只在方法 equals(Object) 返回 true 时才返回 0。

30、对于String s1 = "c:\book\ java programmer.doc",lastIndexOf("\\")的值为7.(B)

A .true

B .false

31、下列关于substring方法的说法,正确的是(ACD)

A .public String substring(int beginIndex)返回的子字符串从指定索引处的字符开始,直到此字符串末尾。

B .public String substring(int beginIndex, int endIndex) 子字符串从指定的 beginIndex 处开始,直到索引 endIndex处的字符。

C ."emptiness".substring(9)返回值为""。

D ."smiles".substring(1, 5)返回值为"mile"。

E .若beginIndex 大于 endIndex,则substring(int beginIndex, int endIndex)返回-1。

32、下列说法错误的是(D)

A .java.util包中的Data类重写了toString()方法。

B .Arrays和Point都继承了toString方法。

C .调用x.toString()方法的地方可以用""+x代替。

D .定义int[] Numbers = {1, 2, 3}; String s1 = ""+Numbers;,则System.out.println(s1);调用了toString方法,可以将数组输出。

33、下列关于字符串与字符数组、字节数组的说法,正确的是(ACD)

A .getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)方法的返回值为空。

B .srcEnd是字符串中要复制的最后一个字符的索引。

C .srcBegin 大于 srcEnd时,会抛出IndexOutOfBoundsException异常。

D .要复制到 dst 子数组的字符从索引 dstBegin 处开始,并结束于索引dstbegin + (srcEnd-srcBegin) - 1

34、下列关于正则表达式的说法,正确的是(ABDE)

A .\ba\w*\b匹配以字母a开头的单词

B .\d+匹配1个或更多连续的数字。

C .\b\w{6}\b 匹配6个及以上字符的单词。

D .[0-9]代表的含意与\d就是完全一致的:一位数字

E .\S+匹配不包含空白符的字符串。

F .(\d{1,3}.){3}\d{1,3}用来匹配 IP地址。

35、下列通过测试的断言语句有几个?(B)

①assertEquals(true, "123".matches("\d+"));

②assertEquals(true, "3.5".matches("\d\.\d"));

③assertEquals(true, "C:\Windows".matches("C:\Windows"));

④assertEquals(true, "hello hello".matches("\b(?\w+)\b\s+\k\b"));

⑤assertEquals("rplcmnt","replacement".replaceAll("[aeiou]","*"));

⑥assertEquals(true, ""Hello"".matches("(["'])[^"']*\1"));

⑦assertEquals("##","xfooxxxxxxfoo".replaceAll(".*?foo","#"));

⑧assertEquals("Let's meet at [TIME].","Let's meet at 12:38.".replaceAll("((1|0?)[0-9]|2[0-3])

上一篇:收藏一个匹配html内容的文章


下一篇:apache日志轮转