Java日常练习题,每天进步一点点(30)

 更新时间:2021年07月23日 17:23:40   作者:牛哄哄的柯南  
下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你

承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)

1、以下程序段的输出结果为:

public class EqualsMethod

{

public static void main(String[] args)

{

Integer n1 = new Integer(47);

Integer n2 = new Integer(47);

System.out.print(n1 == n2);

System.out.print(",");

System.out.println(n1 != n2);

}

}

正确答案: B

false,false

false,true

true,false

true,true

题解:
首先 我们要知道 == 这个比较符号
==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
"=="和 "!="比较的是地址 指第一个new()出来的地址
因为两次new() 出的内存也不同
所以System.out.print(n1 == n2);返回 false
所以System.out.println(n1 != n2);就返回true
所以选B

2、在java7中,下列不能做switch()的参数类型是?

正确答案: D

int型

枚举类型

字符串

浮点型

题解:
switch语句后的控制表达式只能是short、char、int整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。

3、以下代码的输出结果是?

public class B

{

public static B t1 = new B();

public static B t2 = new B();

{

System.out.println(“构造块”);

}

static

{

System.out.println(“静态块”);

}

public static void main(String[] args)

{

B t = new B();

}

}

正确答案: C

静态块 构造块 构造块 构造块

构造块 静态块 构造块 构造块

构造块 构造块 静态块 构造块

构造块 构造块 构造块 静态块

题解:
开始时JVM加载B.class,对所有的静态成员进行声明,t1 t2被初始化为默认值,为null,又因为t1 t2需要被显式初始化,所以对t1进行显式初始化,初始化代码块→构造函数(没有就是调用默认的构造函数),咦!静态代码块咋不初始化?因为在开始时已经对static部分进行了初始化,虽然只对static变量进行了初始化,但在初始化t1时也不会再执行static块了,因为JVM认为这是第二次加载类B了,所以static会在t1初始化时被忽略掉,所以直接初始化非static部分,也就是构造块部分(输出'‘构造块'')接着构造函数(无输出)。接着对t2进行初始化过程同t1相同(输出'构造块'),此时就对所有的static变量都完成了初始化,接着就执行static块部分(输出'静态块'),接着执行,main方法,同样也,new了对象,调用构造函数输出(‘构造块'),所以选C

4、What results from the following code fragment?

(翻译:下面的代码片段产生了什么结果?)

int i = 5;

int j = 10;

System.out.println(i + ~j);

正确答案: C

Compilation error because”~”doesn't operate on integers

-5

-6

15

题解:
公式-n=n+1可推出n=-n-1,所以~10=-11再加5结果为-6

5、对于构造方法,下列叙述正确的是( )。

正确答案: A C D

构造方法的优先级一般比代码块低。

构造方法的返回类型只能是void型。

构造方法的主要作用是完成对类的对象的初始化工作。

一般在创建新对象时,系统会自动调用构造方法。

题解:

A:静态成员变量或静态代码块>main方法>非静态成员变量或非静态代码块>构造方法

B:think in java中提到构造器本身并没有任何返回值。

C: 构造方法的主要作用是完成对类的对象的初始化工作。

D: 一般在创建(new)新对象时,系统会自动调用构造方法。

6、JDK1.7版本之前,接口和抽象类描述正确的有( )

正确答案: B C

抽象类没有构造函数。

接口没有构造函数。

抽象类不允许多继承。

接口中的方法可以有方法体。

题解:
A.抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已
B.在接口中 不可以有构造方法,在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。
C.Java不允许类多重继承
D.jdk1.8后接口中的方法可以有方法体,jdk1.8之前不可以有方法体

7、以下关于JAVA语言异常处理描述正确的有?

正确答案: C D

throw关键字可以在方法上声明该方法要抛出的异常。

throws用于抛出异常对象。

try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。

finally语句块是不管有没有出现异常都要执行的内容。

在try块中不可以抛出异常

题解:
Java语言中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。
throw用于抛出异常。
throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。
try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。
cacth用于捕获从try中抛出的异常并作出处理。
finally语句块是不管有没有出现异常都要执行的内容。

8、下面程序输出结果为():

public class Demo{

public static void main (String [] args) {

String lx = “LeXin”;

String nb = lx;

lx = “Fenqile”;

System.out.println(nb);

}

}

正确答案: B C

程序异常,编译不通过

程序编写正常,可正常运行

程序输出值为“LeXin”

程序输出值为“Fenqile”

题解:
很显然是把“LeXin”的值赋给了nb

9、java中关于继承的描述正确的是()

正确答案: A C D

一个子类只能继承一个父类

子类可以继承父类的构造方法

继承具有传递性

父类一般具有通用性,子类更具体

题解:
子类不可以继承父类的构造方法,只可以调用父类的构造方法。子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。

10、What is Static Method in Java()

正确答案: A B C

It is a method which belongs to the class and not to the object(instance)

A static method can access only static data. It can not access non-static data (instance variables)

A static method can call only other static methods and can not call a non-static method from it.

A static method can not be accessed directly by the class name and doesn't need any object

题解:
A:静态方法是一个属于类而不属于对象(实例)的方法。(√)
B:静态方法只能访问静态数据。无法访问非静态数据(实例变量)。(√)
C:静态方法只能调用其他静态方法,不能从中调用非静态方法。(√)
D:静态方法不能通过类名直接访问,也不需要任何对象。(×) 静态方法可以直接用类名访问。

答案汇总:

1、正确答案: B

2、正确答案: D

3、正确答案: C

4、正确答案: C

5、正确答案: A C D

6、正确答案: B C

7、正确答案: C D

8、正确答案: B C

9、正确答案: A C D

10、正确答案:A B C

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 一文带你了解Java万物之基之Object类

    一文带你了解Java万物之基之Object类

    Java是一门天然的面向对象的语言。而所有我们手动创造出来的类,都继承于同一个类,即Object类。本文将通过示例为大家详细介绍一下Java中的Object类,需要的可以参考一下
    2022-03-03
  • Java多线程编程小实例模拟停车场系统

    Java多线程编程小实例模拟停车场系统

    这是一个关于Java多线程编程的例子,用多线程的思想模拟停车场管理系统,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • 浅析Spring的JdbcTemplate方法

    浅析Spring的JdbcTemplate方法

    本篇浅析Spring的JdbcTemplate方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 一键打包压缩,Java项目变身JAR

    一键打包压缩,Java项目变身JAR

    想要一键打包Java项目生成JAR文件并进行压缩?本指南将带你轻松驾驭这项看似复杂的任务,让我们一起揭开神秘的面纱,轻松打包,高效出发!
    2023-12-12
  • 全面总结java IO体系

    全面总结java IO体系

    这篇文章主要介绍了java IO体系的全面总结,下面和小编来一起学习一下吧
    2019-05-05
  • java计算两点间的距离方法总结

    java计算两点间的距离方法总结

    小编给大家总结了在java中计算两点之家距离的方法以及相关实例代码分享,有需要的读者参考下。
    2018-02-02
  • 通过反射注解批量插入数据到DB的实现方法

    通过反射注解批量插入数据到DB的实现方法

    今天小编就为大家分享一篇关于通过反射注解批量插入数据到DB的实现方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 学习Java之如何正确地跳出循环结构

    学习Java之如何正确地跳出循环结构

    我们在利用循环执行重复操作的过程中,存在着一个需求:如何中止,或者说提前结束一个循环,所以就给大家讲解一下,如何在java代码中返回一个结果,如何结束和跳出一个循环,需要的朋友可以参考下
    2023-05-05
  • 在Spring AOP中代理对象创建的步骤详解

    在Spring AOP中代理对象创建的步骤详解

    今天和小伙伴们聊一聊 Spring AOP 中的代理对象是怎么创建出来的,透过这个过程再去熟悉一下 Bean 的创建过程,感兴趣的小伙伴跟着小编一起来看看吧
    2023-08-08
  • MyBatisPlus+Lombok实现分页功能的方法详解

    MyBatisPlus+Lombok实现分页功能的方法详解

    Lombok是一个Java类库,提供了一组注解,简化POJO实体类开发。本文将为大家介绍一下Lombok的使用以及如何利用MyBatisPlus+Lombok实现分页功能,感兴趣的可以动手尝试一下
    2022-07-07

最新评论