0
点赞
收藏
分享

微信扫一扫

【Java基础错题汇总(一)】牛客网,我来了

这段时间工作比较忙,技术上用到的不多,感觉公司的测试还是以业务为准,技术为辅。技术只是一种提升效率的手段,但是现在被神话了,无论你是测试什么岗位,都需要会有代码基础。

  抱怨归抱怨,既然大环境这样,我们就抓紧补补短板吧。编程语言搞起来

  在这里也是向大家隆重介绍一个可考察学习效果的网站-->牛客网,避免打广告,大家自己搜索下就成。

  在这里我们可以选择你要考察的语言,可以设置考察级别,考几道题。结果还可以保存。考察形式多种多样

  

【Java基础错题汇总(一)】牛客网,我来了_初始化

我们可以选择专项练习,比如java

【Java基础错题汇总(一)】牛客网,我来了_构造方法_02

【Java基础错题汇总(一)】牛客网,我来了_初始化_03

可以选择出题来源,难度系数,题目数量

如果你在上班,5道题就成,如果你有大块时间,那就30道题吧

如果真的想好好学习,建议每天至少30道题


好的,大家来看看我做错的题目吧,看看你的基础怎么样

【Java基础错题汇总(一)】牛客网,我来了_java_04

在 JAVA 编程中, Java 编译器会将 Java 程序转换为( )

字节码

可执行代码

机器代码

以上都不对

选择A

  • 编译器将Java源代码编译成字节码class文件
  • 类加载到JVM里面后,执行引擎把字节码转为可执行代码
  • 执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。


以下Java程序运行的结果是:

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

​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!直接画图画的!

【Java基础错题汇总(一)】牛客网,我来了_java_05


以下代码执行的结果显示是多少()?

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)新对象时,系统会自动调用构造方法。


以下程序的输出结果是

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

​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


好的,今天就先到这里了

举报

相关推荐

0 条评论