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

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

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

1、下列不属于访问控制符的是()

正确答案: D

public

private

protected

static

题解:
在这里插入图片描述

2、Java 源程序文件的扩展名为()

正确答案: A

.java

.class

.exe

.jar

题解:
.class 编译后的Java文件
.java是未编译的程序
.jsp是页面程序
.xml配置程序
.jar是.calss的集合

3、以下程序的执行结果是:

static boolean foo(char c)

{

System.out.print©;

return true;

}

public static void main(String[] args) {

int i =0;

for(foo(‘A');foo(‘B')&&(i<2);foo(‘C'))

{

i++;

foo(‘D');

}

}

正确答案: A

ABDCBDCB

ABCDABCD

编译时出错

运行时抛出异常

题解:
例子:for(1;2;3){
4;
}
这题考察的应该是for循环的执行顺序:
1只在开头执行一次便不再执行;然后是2->4->3->2->4->3这样循环下去;等到满足终止条件时到2就停止了,所以选A

4、给定代码:

public class SwitchTest{//1

public static void main(String[] args) {//2

System.out.println(“value=”+switchit(4));//3

}//4

public static int switchit(int x) {

int j=1;

switch (x) {

case 1:j++;

case 2:j++;

case 3:j++;

case 4:j++;

case 5:j++;

default:j++;

}

return j+x;

}

}

第三行将输出什么?

正确答案: B

value=6

value=8

value=3

value=5

value=4

题解:
没有break,从case 4开始一直执行到最后,j自加3次变成了4,结果返回8

5、下面有关List接口、Set接口和Map接口的描述,错误的是?

正确答案: A

他们都继承自Collection接口

List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置

Set是一种不包含重复的元素的Collection

Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value

题解:
在这里插入图片描述

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

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

7、URL u =new URL(“http://www.123.com”);。如果www.123.com不存在,则返回______。

正确答案: A

http://www.123.com

””

null

抛出异常

题解:
new URL()时必须捕获检查异常,但这个异常是由于字符串格式和URL不符导致的,与网址是否存在无关。URL的toString方法返回字符串,无论网址是否存在。

8、what is the result of the following code?

enum AccountType

{

SAVING, FIXED, CURRENT;

private AccountType()

{

System.out.println(“It is a account type”);

}

}

class EnumOne

{

public static void main(String[]args)

{

System.out.println(AccountType.FIXED);

}

}

正确答案: C

Compiles fine and output is prints”It is a account type”once followed by”FIXED”

Compiles fine and output is prints”It is a account type”twice followed by”FIXED”

Compiles fine and output is prints”It is a account type”thrice followed by”FIXED”

Compiles fine and output is prints”It is a account type”four times followed by”FIXED”

Compilation fails

翻译:

编译良好,输出是打印“它是一个帐户类型”,后面跟着“FIXED”

编译良好,输出打印" It is a account type “两次,后面跟着” FIXED "

编译良好,输出是打印“这是一个帐户类型”三次,然后是“FIXED”

编译良好,输出是打印“这是一个帐户类型”四次,然后是“FIXED”

编译失败

9、下面关于volatile的功能说法正确的是哪个

正确答案: B C

原子性

有序性

可见性

持久性

题解:
synchronized保证三大性,原子性,有序性,可见性,volatile保证有序性,可见性,不能保证原子性

10、下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、

java.lang.ClassLoader

正确答案: A B E

Thread

Number

Double

Math

ClassLoader

题解:
A:Thread可以被继承,用于创建新的线程
B:Number类可以被继承,Integer,Float,Double等都继承自Number类
C:Double类的声明为
public final class Doubleextends Numberimplements Comparable<Double>
final生明的类不能被继承
D:Math类的声明为
public final class Mathextends Object
不能被继承
E:ClassLoader可以被继承,用户可以自定义类加载器

答案汇总:

1、正确答案: D

2、正确答案: A

3、正确答案: A

4、正确答案: B

5、正确答案: A

6、正确答案: C

7、正确答案: A

8、正确答案: C

9、正确答案: B C

10、正确答案:A B E

总结

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

相关文章

  • Springboot+MybatisPlus实现带验证码的登录

    Springboot+MybatisPlus实现带验证码的登录

    本文主要介绍了Springboot+MybatisPlus实现带验证码的登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • 基于Spring Boot的线程池监控问题及解决方案

    基于Spring Boot的线程池监控问题及解决方案

    这篇文章主要介绍了基于Spring Boot的线程池监控方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Docker环境下Spring Boot应用内存飙升分析与解决场景分析

    Docker环境下Spring Boot应用内存飙升分析与解决场景分析

    当运行一个Spring Boot项目时,如果未设置JVM内存参数,Spring Boot默认会采用JVM自身默认的配置策略,接下来通过本文给大家介绍Docker环境下Spring Boot应用内存飙升分析与解决方法,需要的朋友参考下吧
    2021-08-08
  • Spring Boot maven框架搭建教程图解

    Spring Boot maven框架搭建教程图解

    这篇文章主要介绍了Spring Boot maven框架搭建教程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java 网络爬虫基础知识入门解析

    Java 网络爬虫基础知识入门解析

    这篇文章主要介绍了Java 网络爬虫基础知识入门解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java synchronized关键字使用方式及特性解析

    Java synchronized关键字使用方式及特性解析

    这篇文章主要介绍了Java synchronized关键字使用方式及特性解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java堆栈类使用实例(java中stack的使用方法)

    java堆栈类使用实例(java中stack的使用方法)

    java中stack的使用方法,堆栈是一种"后进先出"(LIFO) 的数据结构, 只能在一端进行插入(称为"压栈") 或删除 (称为"出栈")数据的操作,下面看示例吧
    2013-12-12
  • java 实现通过 post 方式提交json参数操作

    java 实现通过 post 方式提交json参数操作

    这篇文章主要介绍了java 实现通过 post 方式提交json参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • IDEA创建自定义模板图文教程

    IDEA创建自定义模板图文教程

    我们每次在使用IntelliJ IDEA 时总会有一些文件是一直被创建的,今天我们就来学习一下IntelliJ IDEA 的自定义模板功能,文中有详细的图文介绍,需要的朋友可以参考下
    2021-05-05
  • Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法

    Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法

    Mac OS X 下基于 Java 的程序会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.这篇文章主要介绍了Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法,需要的朋友可以参考下
    2016-10-10

最新评论