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

简介: 日常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


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

相关文章
|
4月前
|
存储 Java
创建一个乘法练习题生成器 using Java
创建一个乘法练习题生成器 using Java
|
5月前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
|
5月前
|
存储 Java 索引
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
|
5月前
|
Java
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历...
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历
33 0
|
5月前
|
Java 索引
Java练习题-用冒泡排序法实现数组排序
Java练习题-用冒泡排序法实现数组排序
|
5月前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
|
5月前
|
Java
Java练习题-输出斐波那契(Fibonacci)数列
Java练习题-输出斐波那契(Fibonacci)数列
|
5月前
|
存储 Java
Java程序设计练习题8异常处理
Java程序设计练习题8异常处理
139 0
|
5月前
|
算法 Java 程序员
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
51 0
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
|
5月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
47 0
java字符串练习题8、同构字符串
下一篇
无影云桌面