这段时间工作比较忙,技术上用到的不多,感觉公司的测试还是以业务为准,技术为辅。技术只是一种提升效率的手段,但是现在被神话了,无论你是测试什么岗位,都需要会有代码基础。
抱怨归抱怨,既然大环境这样,我们就抓紧补补短板吧。编程语言搞起来,这里给大家分享一下,我在练习Java基础过程中手机的错题集。
在 JAVA 编程中, Java 编译器会将 Java 程序转换为( )
- 字节码
- 可执行代码
- 机器代码
- 以上都不对
选择A
- 编译器将Java源代码编译成字节码class文件
- 类加载到JVM里面后,执行引擎把字节码转为可执行代码
- 执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。
以下Java程序运行的结果是:
复制代码
public class Tester{
public static void main(String[] args){
Integer var1=new Integer(1);
Integer var2=var1;
doSomething(var2);
System.out.print(var1.intValue());
System.out.print(var1==var2);
}
public static void doSomething(Integer integer){
integer=new Integer(2);
}
}
复制
java中引用类型的实参向形参的传递,只是传递的引用,而不是传递的对象本身。
自己画的图,而且没有visio!直接画图画的!
以下代码执行的结果显示是多少()?
public class Demo{
public static void main(String[] args){
System.out.print(getNumber(0));
System.out.print(getNumber(1));
System.out.print(getNumber(2));
System.out.print(getNumber(4));
}
public static int getNumber(int num){
try{
int result = 2 / num;
return result;
}catch (Exception exception){
return 0;
}finally{
if(num == 0){
return -1;
}
if(num == 1){
return 1;
}
}
}
}
复制
规则:
1.try块是必须的,catch块和finally块都是可选的,但必须存在一个或都存在。try块不能单独存在。
2.try块里的语句运行中出现异常会跳过try块里其他语句,直接运行catch里的语句。
3.无论try块中是否有异常,无论catch块中的语句是否实现,都会执行finally块里的语句。
4.如果try块或catch块中有return语句,finally块里的语句会执行在try块或catch块中的return语句前。
5.如果finally块里有return语句,则直接返回,而不执行try块或catch块里的return语句。
6.只有一种办法不执行finally块里的语句,那就是调用System.exit(1);方法,即退出java虚拟机。
强调:finally块里的语句在try或catch里的return前执行!!!
下列有关Servlet的生命周期,说法不正确的是?
在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
复制
在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
复制
在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
复制
destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法
复制
Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。
(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet
(2)创建:通过调用servlet构造函数创建一个servlet对象
(3)初始化:调用init方法初始化
(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求
(5)卸载:调用destroy方法让servlet自己释放其占用的资源
对于构造方法,下列叙述正确的是( )。
构造方法的优先级一般比代码块低。
复制
构造方法的返回类型只能是void型。
复制
构造方法的主要作用是完成对类的对象的初始化工作。
复制
一般在创建新对象时,系统会自动调用构造方法。
A:静态成员变量或静态代码块>main方法>非静态成员变量或非静态代码块>构造方法
B:think in java中提到构造器本身并没有任何返回值。
C: 构造方法的主要作用是完成对类的对象的初始化工作。
D: 一般在创建(new)新对象时,系统会自动调用构造方法。
以下程序的输出结果是
复制代码
public class Print{
static boolean out(char c){
System.out.println(c);
return true;
}
public static void main(String[] argv){
int i = 0;
for(out('A');out('B') && (i<2);out('C')){
i++;
out('D');
}
}
}
复制
for循环执行开始
首先执行out('A') 输出A;
然后执行out('B')&&(i<2)此时输出B,i=0,判断条件为真,执行for循环的循环体;
执行i++,out('D'),输出D i=1;
执行out('C'),输出C
然后执行out('B')&&(i<2) 此时输出B,i=1 判断条件为真 ,执行for循环的循环体;
执行i++,out('D'),输出D i=2;
执行out('C'),输出C
然后执行out('B')&&(i<2) 此时输出B,i=2,不满足i<2 判断条件为假 ,跳出循环;
所以结果为ABDCBDCB
好的,今天就先到这里了