1.ResultSet中记录行的第一列索引为?
:
正确答案: C 你的答案: B (错误)
-1
0
1
以上都不是
ResultSet跟普通的数组不同,索引从1开始而不是从0开始,ResultSet结果集读取数据的方法主要是getXXX() ,他的参数可以使整型表示第几列(是从1开始的),还可以是列名。
3.
Given:
1
2
3
4
5
6
7
8
9
|
//point X public class Foo { public static void main(String[] args) throws Exception { PrintWriter out = new PrintWriter( new java.io.OutputStreamWriter(System.out), true ); out.printIn(“Hello”); } } |
Which statement at PointX on line I allows this code to compile and run?
正确答案: A 你的答案: A (正确)
import java.io.PrintWriter;
include java.io.PrintWriter;
import java.io.OutputStreamWriter;
include java.io.OutputStreamWriter;
no statement is needed.
其次:
1.PrintWriter
2.OutputStreamWriter
注意:
在创建OutputStreamWriter的时候,使用的是类的全名称。所以不需要使用import
5.daemon线程:
将一个线程标记成daemon线程,意味着当主线程结束,并且没有其它正在运行的非daemon线程时,该daemon线程也会自动结束。
守护线程在非守护线程结束后,会自动结束;
3.daemon线程是守护线程,当主线程结束时,守护线程会自动结束
6.D.Spring提供了AOP方式的日志系统
Spring并没有为我们提供日志系统,我们需要使用AOP(面向方面编程)的方式,借助Spring与日志系统log4j实现我们自己的日志系统。
6.按值传递和按引用传递
given the following code,what will be the output? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class Value{ public int i=15; } public class Test{ public static void main(String argv[]){ Test t=new Test( ); t.first( ); } public void first( ){ int i=5; Value v=new Value( ); v.i=25; second(v,i); System.out.println(v.i); } public void second(Value v,int i){ i = 0; v.i = 20; Value val = new Value( ); v = val; System.out.println(v.i+" "+i); } } 正确答案: A 你的答案: B (错误) 15 0 20 15 0 15 20 0 20 0 15 20
可能有人会选择B,包括我刚开始也是。总以为v不是已经指向了val了吗??为什么还是20呢?不应该是15吗?
其实,原因很简单。现在我们把second()换一下
publicvoidsecond(Value tmp,inti){
i = 0;
tmp.i = 20;
Value val = newValue( );
tmp = val;
System.out.println(tmp.i+" "+i);
}
这个tmp其实相当于是一个指向原来first中的V这个对象的指针,也就是对v对象的引用而已。但是引用是会改变所指的地址的值的。
所以在second中当tmp.i= 20的时候,就把原来first中的v的i值改为20了。接下来,又把tmp指向了新建的一个对象,所以在second中的tmp
现在指的是新的对象val,i值为15.
当执行完毕second后,在first中在此输出v.i的时候,应为前面second中已经把该位置的i的值改为了20,所以输出的是20.
至于疑惑v指向了val,其实只是名字的问题,在second中的v实践也是另外的一个变量,名字相同了而已,这个估计也是纠结的重点。
简单的总结,不对希望可以提出来,谢谢!
8.
1 2 3 4 5 6 7 8 9 10 11 12 13 public class Test { public static void changeStr(String str) { str = "welcome"; } public static void main(String[] args) { String str = "1234"; changeStr(str); System.out.println(str); } } Please write the output result 。 正确答案: A 你的答案: B (错误) 1234 welcome 空 不确定
引用类型作为形参传递会改变实参的值,但是String是特殊的引用类型,作为形参传递不会影响实参的值。
此处应该考察Java方法参数传递特性。Java方法调用中,只存在值传递调用。
此处,实参str是引用变量,由于java方法调用是值传递,所以形参str得到的是实参str的一个拷贝。此时形参str和实参str均指向字符串"1234"。
然后,在changeStr方法中,形参str指向了一个新的字符串"welcom",而后方法结束,形参str被销毁。而实参str仍然指向字符串"1234"。
9.
floor: 求小于参数的最大整数。返回double类型-----n. 地板,地面
例如:Math.floor(-4.2) = -5.0
-----------------------------------------------------------
ceil: 求大于参数的最小整数。返回double类型-----vt. 装天花板;
例如:Math.ceil(5.6) = 6.0
-----------------------------------------------------------
round: 对小数进行四舍五入后的结果。返回int类型
例如:Math.round(-4.6) = -5
10.LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问
11.change方法里面是将传入的参数修改成10,但是并没有对SendValue的属性str就行修改,要修改必须指明this.str="10",所有答案还是6
以下代码输出的是: 1 2 3 4 5 6 7 8 9 10 11 public class SendValue{ public String str="6"; public static void main(String[] args) { SendValue sv=new SendValue(); sv.change(sv.str); System.out.println(sv.str); } public void change(String str) { str="10"; } } 正确答案: A 你的答案: B (错误) 6 10 都不对 16
10.CallableStatement继承自PreparedSatement,PreparedStatement继承自Statement,这个题出的不严谨,觉得BC都算正确。
11.
检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package algorithms.com.guan.javajicu; public class Example { String str = new String( "good" ); char[] ch = { 'a' , 'b' , 'c' }; public static void main(String[] args) { Example ex = new Example(); ex.change(ex.str, ex.ch); System.out.print(ex.str + "and" ); System.out.print(ex.ch); } public void change(String str, char ch[]){ str= "test ok" ; ch[0]= 'g' ; } } |
本题知识点
参考解析添加解析
- 更多回答(30条)
-
d 如果传入的参数是引用类型,那么传递过来的就是这个引用参数的副本,该副本存放参数地址。如果函数中没有改变这个副本的地址,而是改变了地址中的值。那么该改变会影响到传入的参数。如果改变了副本的地址,则该副本指向了一个新的地址,此时传入的参数还是指向原来的地址12.Dsuspend() 和 resume() 方法:两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume() 被调用,才能使得线程重新进入可执行状态能不能出一些新一点的题目,Thread类的suspend()和resume()方法都已经被声明已废弃了,考这种题目有意思?13.java关于异常处理机制的叙述哪些正确
正确答案: B C 你的答案: B C (正确)
catch部分捕捉到异常情况时,才会执行finally部分
当try区段的程序发生异常时,才会执行catch区段的程序
在try区段不论程序是否发生错误及捕获到异常错误,都会执行finally部分
以上都是
15.abstract class和interface有什么区别。正确答案: A B D 你的答案: A B D (正确)
抽象类可以有构造方法,接口中不能有构造方法
抽象类中可以有普通成员变量,接口中没有普通成员变量
抽象类中不可以包含静态方法,接口中可以包含静态方法
一个类可以实现多个接口,但只能继承一个抽象类。