欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-22 17:05:20
目录2、java 源程序文件的扩展名为()5、下面有关list接口、set接口和map接口的描述,错误的是?7、url u =new url(“http://www.123.com”);。如果www....

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

正确答案: d

public

private

protected

static

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

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

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

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

总结

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