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

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

每天进步一点点!

1、若 a 的值为 3 时,下列程序段被执行后, c 的值是多少?( )
int c = 1;
if ( a>0 ){
if ( a>3){
c = 2;
}
else{
c = 3;
}
}
else{
c = 4;
}
正确答案: C 你的答案: C (正确)
1
2
3
4

题解:
无题解

2、以下哪项不是java基础类型()
正确答案: C 你的答案: C (正确)
int
boolean
String
float

题解:
数据类型包括基本数据类型和引用数据类型
基本数据类型:byte,short,int,long,char,float,double,boolean
引用数据类型:数组,接口,枚举,类,空类

3、Java中只有整型才能使用的运算符为?
正确答案: C 你的答案: C (正确)
*
/
%
+

题解:
ABD选项的操作符都可用于float和double
只有%取余操作,只适用于整型

4、下面代码运行结果是()

public class Test{	
    public int add(int a,int b){	
         try {	
             return a+b;		
         } 
        catch (Exception e) {	
            System.out.println("catch语句块");	
         }	
         finally{	
             System.out.println("finally语句块");	
         }	
         return 0;	
    } 
     public static void main(String argv[]){ 
         Test test =new Test(); 
         System.out.println("和是:"+test.add(9, 34)); 
     }
}

正确答案: C 你的答案: C (正确)
A:catch语句块
和是:43
B:编译异常
C:finally语句块
和是:43
D:和是:43
finally语句块

题解:
结论:
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。

5、抽象类方法的访问权限默认都是public。( )
正确答案: B 你的答案: B (正确)
正确
错误

题解:
关于抽象类
JDK 1.8以前,抽象类的方法默认访问权限为protected
JDK 1.8时,抽象类的方法默认访问权限变为default
关于接口
JDK 1.8以前,接口中的方法必须是public的
JDK 1.8时,接口中的方法可以是public的,也可以是default的
JDK 1.9时,接口中的方法可以是private的

6、要导入java/awt/event下面的所有类,叙述正确的是?()
正确答案: C 你的答案: C (正确)
import java.awt. * 和import java.awt.event. * 都可以
只能是import java.awt. *
只能是import java.awt.event. *
import java.awt. * 和import java.awt.event. * 都不可以

题解:
java.awt. * 是导入java\awt包下所有的类,并不包括其子包下的类。
java.awt.event. * 才能导入java\awt\event包下的类。

7、JDK中提供的java、javac、jar等开发工具也是用Java编写的。
正确答案: A 你的答案: A (正确)

题解:
JAVA里的jvm虚拟机用的是C语言+汇编语言开发的,其它就是java编写的了。

8、关于AWT和Swing说法正确的是?
正确答案: D 你的答案: D (正确)
Swing是AWT的子类
AWT在不同操作系统中显示相同的风格
AWT不支持事件类型,Swing支持事件模型
Swing在不同的操作系统中显示相同的风格

题解:
Swing是轻量级组件,AWT是重量级组件,不存在 继承关系。
AWT由于不完善,是用本地化方法实现窗体创建,所以显示风格跟平台相关。
Swing是弥补这一缺点,窗体的创建与平台无关。
awt与swing都支持事件模型。

9、下面代码在main()方法中第八行后可以正常使用的是( )
public class Test
{
private int a=10;
int b=20;
static int c=1;
public static void main(String arg[])
{
Test t = new Test();
}
}
正确答案: A D 你的答案: A D (正确)
t.a
this.c
Test.b
t.c

题解:
A : 在private 修饰不能在外部类中调用,main 方法属于Test类的方法, 所以 对象 t 可以在他自己的类方法中调用它的private
B : static 方法中没有this 这么一说
C: b不是static变量
D: 合理

10、关于下面一段代码,以下说法正确的是: ()

public class Test {
    private synchronized void a() {
    }
    private void b() {
        synchronized (this) {
        }
    }
    private synchronized static void c() {
    }
    private void d() {
        synchronized (Test.class) {
        }
    }
}

正确答案: A C 你的答案: A C (正确)
同一个对象,分别调用方法a和b,锁住的是同一个对象
同一个对象,分别调用方法a和c,锁住的是同一个对象
同一个对象,分别调用方法b和c,锁住的不是同一个对象
同一个对象,分别调用方法a、b、c,锁住的不是同一个对象

题解:
方法a为同步方法,方法b里面的是同步块,同步方法使用的锁是固有对象this,同步块使用的锁可以是任意对象,但是方法b里面的同步块使用的锁是对象this,所以方法a和方法b锁住的是同一个对象。方法 c为静态同步方法,使用的锁是该类的字节码文件,也就是Test.class。方法d里面的也是同步块,只不过使用的锁是Test.class,所以方法c和方法d锁住的是同一个对象。

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

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

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

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

看完如果对你有帮助,感谢点击下面的一键三连支持!
[哈哈][抱拳]

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

共同努力!

Keafmd

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

牛哄哄的柯南

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

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

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

打赏作者

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

抵扣说明:

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

余额充值