日常Java练习题(每天进步一点点系列)

本文涵盖了Java编程的基础知识,包括访问权限、数据类型、内存管理、内部类、Applet显示方法以及对象引用类型等内容。讲解了private修饰符的作用、算术运算的优先级、Hibernate核心接口的功能、垃圾回收机制的特性、以及Applet的相关方法。同时,还讨论了不同类型的引用如何影响对象的生命周期。
摘要由CSDN通过智能技术生成

提示:好多小伙伴反映,直接看到答案不太好,那我把答案的颜色设置为透明,答案位置还是在题目后面,需要鼠标选中才能看见(操作如下图),同时为了手机端的小伙伴(手机端也可以长按选中查看),我还会把所有答案放到文章最下面,希望给每天进步一点点的小伙伴更好的体验。

在这里插入图片描述

1、如果一个方法或变量是"private"访问级别,那么它的访问范围是:
正确答案: D 你的答案: D(正确)
在当前类,或者子类中
在当前类或者它的父类中
在当前类,或者它所有的父类中
在当前类中

题解:
private 修饰的方法和变量只能在当前类中访问
不带任何修饰符,只能在同一包内的类中,被访问
protected 只能在子类或者当前类中被访问
public 所有类中可以访问

2、代码将打印?
System.out.println(10%3*2);
正确答案: B 你的答案: B (正确)
1
2
4
6

题解:
%和*是同一个优先级,从左到右运算

3、下面关于hibernate核心接口说明错误的是?
正确答案: B 你的答案: B (正确)
Configuration 接口:配置Hibernate,根据其启动hibernate,创建SessionFactory 对象
SessionFactory 接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存
Query 和Criteria 接口:执行数据库的查询
Transaction 接口:管理事务

题解:
B选项中应该是Session接口而不是SessionFactory接口

4、以下哪项陈述是正确的?
正确答案: E 你的答案: E (正确)
垃圾回收线程的优先级很高,以保证不再 使用的内存将被及时回收
垃圾收集允许程序开发者明确指定释放 哪一个对象
垃圾回收机制保证了JAVA程序不会出现 内存溢出
进入”Dead”状态的线程将被垃圾回收器回收
以上都不对

题解:
A: 垃圾回收在jvm中优先级相当相当低。
B:垃圾收集器(GC)程序开发者只能推荐JVM进行回收,但何时回收,回收哪些,程序员不能控制。
C:垃圾回收机制只是回收不再使用的JVM内存,如果程序有严重BUG,照样内存溢出。
D:进入DEAD的线程,它还可以恢复,GC不会回收

5、在jdk1.5之后,下列 java 程序输出结果为______。
int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));
正确答案: B 你的答案: B (正确)
true,false
true,true
false,true
false,false
对于不同的环境结果不同
程序无法执行

题解:
1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true;
2、两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。
3、两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true
4、基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3中的比较。

6、关于 访问权限说法正确 的是 ? ( )
正确答案: D 你的答案: D (正确)
外部类定义前面可以修饰public,protected和private
局部内部类前面可以修饰public,protected和private
匿名内部类前面可以修饰public,protected和private
以上说法都不正确

题解:
对于外部类来说,只有两种修饰,public和默认(default),因为外部类放在包中,只有两种可能,包可见和包不可见。
对于内部类来说,可以有所有的修饰,因为内部类放在外部类中,与成员变量的地位一致,所以有四种可能。
这道题是不严谨的题,首先B选项说的是内部类,内部类分为成员内部类、局部(方法)内部类、静态内部类、匿名内部类。毫无疑问局部内部类属于内部类,如果B选项正确,那么C选项也应该是正确的。所以应该是选D
在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。
1.成员内部类
(1)该类像是外部类的一个成员,可以无条件的访问外部类的所有成员属性和成员方法(包括private成员和静态成员);
(2)成员内部类拥有与外部类同名的成员变量时,会发生隐藏现象,即默认情况下访问的是成员内部类中的成员。如果要访问外部类中的成员,需要以下形式访问:【外部类.this.成员变量 或 外部类.this.成员方法】;
(3)在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问;
(4)成员内部类是依附外部类而存在的,也就是说,如果要创建成员内部类的对象,前提是必须存在一个外部类的对象;
(5)内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。如果成员内部类用private修饰,则只能在外部类的内部访问;如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如果是默认访问权限,则只能在同一个包下访问。外部类只能被public和包访问两种权限修饰。
2.局部内部类
(1)局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内;
(2)局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及static修饰符的。
3.匿名内部类
(1)一般使用匿名内部类的方法来编写事件监听代码;
(2)匿名内部类是不能有访问修饰符和static修饰符的;
(3)匿名内部类是唯一一种没有构造器的类;
(4)匿名内部类用于继承其他类或是实现接口,并不需要增加额外的方法,只是对继承方法的实现或是重写。
4.内部静态类
(1)静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似;
(2)不能使用外部类的非static成员变量或者方法。

7、下面哪个方法与Applet的显示无关?
正确答案: A 你的答案: A (正确)
draw
paint
repaint
update

题解:
这题,应该选draw。
Applet显示相关的方法主要有3个。
1.paint(Graphicsg)方法,具体执行Applet的绘制。
2.update(Graphicsg)()方法,主要用于更新Applet的显示。
3.repaint()方法,主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。
而draw()方法与显示无关,故选A draw

8、以下哪几种是java的基本数据类型。
正确答案: B C 你的答案: B C (正确)
String
int
boolean
Double

题解:
java四类八种基本数据类型:
1、整型 byte,short,int,long
2、浮点型 float,double
3、逻辑型 boolean
4、字符型 char

9、下列不是 Java 关键字的是 ( )
正确答案: B D 你的答案: B D(正确)
abstract
false
native
sizeof

题解:
Java有:
148个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
2)2个保留字(现在没用以后可能用到作为关键字):goto、const。
3)3个特殊直接量:true、false、null。

10、下面有关java的引用类型,说法正确的有?
正确答案: A B C D 你的答案: A B C D (正确)
对于一个对象来说,只要有强引用的存在,它就会一直存在于内存中
如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。
如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存
一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的空间

题解:
1、强引用:一个对象赋给一个引用就是强引用,比如new一个对象,一个对象被赋值一个对象。
2、软引用:用SoftReference类实现,一般不会轻易回收,只有内存不够才会回收。
3、弱引用:用WeekReference类实现,一旦垃圾回收已启动,就会回收。
4、虚引用:不能单独存在,必须和引用队列联合使用。主要作用是跟踪对象被回收的状态。

答案汇总:
1、正确答案: D
2、正确答案: B
3、正确答案: B
4、正确答案: E
5、正确答案: B
6、正确答案: D
7、正确答案: A
8、正确答案: B C
9、正确答案: B D
10、正确答案: A B C D

以上部分题解来自牛客评论区,感谢评论区大佬的解释。

每天进步一点点!
不进则退!

版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/

看完如果对你有帮助,感谢点赞、关注、收藏支持!
[哈哈][抱拳]

在这里插入图片描述
加油!

共同努力!

Keafmd

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛哄哄的柯南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值