public class Main {
public static void main(String[] args) {
Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;
System.out.println(f1 == f2);
System.out.println(f3 == f4);
}
}
A. true true
B. true false
C. false true
D. false false
【答案】B
【解析】如果整型字面量的值在-128到127之间,那么不会new新的Integer对象, 而是直接引用常量池中的Integer对象,所以上面题中f1,f2的结果是true,而f3,f4的结果是false。
A. 1
B. 2
C. 6
D. 7
【答案】A
【解析】赋值符号右边的"a"、“b”、“c”、“d"都是常量,对于常量, 编译时就直接存储它们的字面值而不是它们的引用,在编译时就直接将它们连接的结果提取出来变成了"abcd” 该语句在class文件中就相当于String s = “abcd”。
A. {75, 60, 30, 15, 25, 45, 20, 10}
B. {75, 65, 45, 10, 30, 25, 20, 15}
C. {75, 45, 65, 30, 15, 25, 20, 10}
D. {75, 45, 65, 10, 25, 30, 20, 15}
【答案】C
【解析】画出每个堆结构对应的树即可得到答案。选项A中存在边30-45不满足性质,选项B中存在边10-15不满足性质,选项D中存在边10-15不满足性质。因此选C。
A. ①和②
B. ②和③
C. ③和④
D. ①和④
【答案】D
A. 简单选择排序
B. 堆排序
C. 快速排序
D. 直接插入排序
【答案】A
A. 快速排序
B. 希尔排序
C. 堆排序
D. 冒泡排序
【答案】B
【解析】选项A,快速排序,每趟排序后将当前子序列划分为两部分的那个关键字(“枢轴”)到达了其最终位置。 选项C,堆排序,每趟排序后,当前待排序列中的最大或者最小关键字到达其最终位置。 选项D,冒泡排序,每趟排序后,当前待排序列中的最大或者最小关键字到达其最终位置。 选项B,希尔排序是直接插入排序的改进,每趟排序后不能保证一定有关键字到达最终位置。
A. 冒泡排序
B. 插入排序
C. 选择排序
D. 归并排序
【答案】B
【解析】若是冒泡排序或者选择排序,则第二趟后应有两个最大或者最小的关键字正确排列,而结果不符。二路归并排序第二趟后,应形成两个长度为4的有序子序列,结果也不符合。所以答案只能是插入排序。两次插入后,前3个数字的顺序是对的。
A. Servlet
B. ServletContext
C. ServletConfig
D. GenericServlet
【答案】C
【解析】servlet的生命周期的方法中有一个init方法, 其中一个重载的init方法的参数为ServletConfig可以获取初始化参数。
A. env
B. page
C. jspinfo
D. context
【答案】B
【解析】JSP有九个内置对象:① request:保存了很多客户端请求的信息;② response:生成服务器端响应,然后将响应结果发送到客户端;③ out:表示输出流,此输出流将作为请求发送到客户端;④ session:我们写的对象放在这个session对象中,这个对象就在我们的会话中都存在;⑤ application:我们写的对象放在这个application对象中,这个对象就在整个应用程序中都存在;⑥ pageContext:相当于当前页面的容器,可以访问当前页面的所有对象;⑦ page:一般我们使用 page 来替代使用这个对象;⑧ exception:用来处理异常的;⑨ config:一般在页面中是使用很少的,一般会在Servlet中使用这个。
A. 堆排序
B. 冒泡排序
C. 直接插入排序
D. 快速排序
【答案】C
【解析】在直接插入排序中,若待排序列中的最后一个元素应插入到表中的第一个位置,则前面的有序子序列中的所有元素都不在最终位置上。
A. 从大到小排序好的
B. 从小到大排序好的
C. 元素无序
D. 元素基本有序
【答案】A
【解析】通常情况下,冒泡排序最少进行1次冒泡,最多进行n-1次冒泡。初始序列为逆序时,需进行n-1次冒泡,并且需要交换的次数最多。初始序列为正序时,进行1次冒泡(无交换)就可以终止算法。
A. 2, 3, 5, 4, 6, 7, 9
B. 2, 7, 5, 6, 4, 3, 9
C. 3, 2, 5, 4, 7, 6, 9
D. 4, 2, 3, 5, 7, 6, 9
【答案】C
【解析】快排的阶段性排序结果的特点是,第i趟完成时,会有i个以上的数出现在它最终将要出现的位置,即它左边的数都比它小,它右边的数都比它大。 题目问第二趟排序的结果,即要找不存在两个这样的数的选项。 A选项中2,3,6,7,9均符合,所以A排除; B选项中,2,9均符合,所以B排除; D选项中5,9均符合,所以D排除; 最后看C选项,只有9一个数符合,所以C不可能是快速排序第二趟的结果。
A. {21, 25, 5, 17, 9, 23, 30}
B. {25, 23, 30, 17, 21, 5, 9}
C. {21, 9, 17, 30, 25, 23, 5}
D. {5, 9, 17, 21, 23, 25, 30}
【答案】A
【解析】当每次的枢轴都把表等分为长度相近的两个子表时,速度是最快的;当表本身已经有序或逆序时,速度最慢。选项D中的序列已按关键字排好序,因此它是最慢的,而A中第一趟枢轴值21将表划分为两个子表{9,17,5}和(25,23,30},而后对两个子表划分时,枢轴值再次将它们等分,所以该序列是快速排序最优的情况,速度最快。