牛客网第21天

1.对于一个类的构造函数,其函数名与类名( )。
A.完全相同
B.基本相同
C.不相同
D.无关系
正确答案: A 你的答案: D (错误)
解析:记住即可。
2.一个以”.java”为后缀的源文件
A.只能包含一个类,类名必须与文件名相同
B.只能包含与文件名相同的类以及其中的内部类
C.只能有一个与文件名相同的public类,可以包含其他类
D.可以包含任意类
正确答案: C 你的答案: C (正确)
解析:记住即可
3.下面的方法,当输入为2的时候返回值是多少?
public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
A.0
B.2
C.4
D.10
正确答案: D 你的答案: D (正确)
解析:因为没有break跳出,所以执行完case2后还要执行case3
4.下面程序的输出是什么?
package algorithms.com.guan.javajicu;
public class TestDemo
{
public static String output = ””;
public static void foo(inti)
{
try
{
if (i == 1)
{
throw new Exception();
}
}
catch (Exception e)
{
output += “2”;
return ;
} finally
{
output += “3”;
}
output += “4”;
}
public static void main(String[] args)
{
foo(0);
foo(1);
System.out.println(output);
}
}
A.342
B.3423
C.34234
D.323
正确答案: B 你的答案: C (错误)
解析: 首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423
5.以下会产生信息丢失的类型转换是( )
A.float a=10
B.int a=(int)8846.0
C.byte a=10; int b=-a
D.double d=100
正确答案: B 你的答案: B (正确)
解析:b选项中丢失了0
6.对于子类的构造函数说明,下列叙述中错误的是( )。
A.子类可以继承父类的构造函数。
B.子类中调用父类构造函数不可以直接书写父类构造函数,而应该用super();。
C.用new创建子类的对象时,若子类没有带参构造函数,将先执行父类的无参构造函数,然后再执行自己的构造函数。
D.子类的构造函数中可以调用其他函数。
正确答案: A 你的答案: D (错误)
解析:A.java继承中对构造函数是不继承的,只是显式或者隐式调用,所以A选项不对
7.JAVA语言的下面几种数组复制方法中,哪个效率最高?
A.for循环逐一复制
B.System.arraycopy
C.Arrays.copyOf
D.使用clone方法
正确答案: B 你的答案: C (错误)
解析:这题是真不会只知道A和C
8.以下代码定义了一个变量,如何输出这个变量的值?在这里插入图片描述A.A.<% String myBean = (String)pageContext.getAttribute(“stringBean”,PageContext.PAGE_SCOPE);
%>
<%=myBean%>
B.<bean:write name=“helloworld”/>
C.<bean:write name=“stringBean”/>
D.<%=stringBean%>
解析:

A选项:
    通过 pageContext(PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问) 获取stringBean 的值,赋给 String 类型的变量 myBean,然后通过 Jsp 表达式 处理该值。 
bean:define
    题目中的 Struts 的bean:define 标签定义了一个字符串变量 stringBean ,它的值为 helloworld。 
bean:write
    bean:write相当于 <%=request.getAttribute("something")%> 其中 something 是属性的名字。所以 B 错,C对。 
D选项:
    通过Jsp 表达式 获取变量 stringBean 的值 

9.mysql数据库,game_order表表结构如下,下面哪些sql能使用到索引()?
在这里插入图片描述A.select * from game_order where plat_game_id=5 and plat_id=134
B.select * from game_order where plat_id=134 and
plat_game_id=5 and plat_order_id=’100’
C.select * from game_order where plat_order_id=’100’
D.select * from game_order where plat_game_id=5 and
plat_order_id=’100’ and plat_id=134
E.select * from game_order where plat_game_id=5 and plat_order_id=’100’
正确答案: B C D E 你的答案: A B C D (错误)
解析:

这道题目想考察的知识点是MySQL组合索引(复合索引)的最左优先原则。最左优先就是说组合索引的第一个字段必须出现在查询组句中,这个索引才会被用到。只要组合索引最左边第一个字段出现在Where中,那么不管后面的字段出现与否或者出现顺序如何,MySQL引擎都会自动调用索引来优化查询效率。
根据最左匹配原则可以知道B-Tree建立索引的过程,比如假设有一个3列索引(col1,col2,col3),那么MySQL只会会建立三个索引(col1),(col1,col2),(col1,col2,col3)。
所以题目会创建三个索引(plat_order_id)、(plat_order_id与plat_game_id的组合索引)、(plat_order_id、plat_game_id与plat_id的组合索引)。根据最左匹配原则,where语句必须要有plat_order_id才能调用索引(如果没有plat_order_id字段那么一个索引也调用不到),如果同时出现plat_order_id与plat_game_id则会调用两者的组合索引,如果同时出现三者则调用三者的组合索引。
题目问有哪些sql能使用到索引,个人认为只要Where后出现了plat_order_id字段的SQL语句都会调用到索引,只不过是所调用的索引不同而已,所以选BCDE。如果题目说清楚是调用到三个字段的复合索引,那答案才是BD。 

10.Java.Thread的方法resume()负责重新开始被以下哪个方法中断的线程的执行()。
A.stop
Bsleep
C.wait
D.suspend
正确答案: D 你的答案: B C (错误)
解析:resume与suspended一起使用
wait与notify(notifyAll)一起使用
sleep会让线程暂时不执行
suspend() 和 resume() 方法:两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume() 被调用,才能使得线程重新进入可执行状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值