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

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

程序员文章站 2022-03-13 12:14:53
目录1、定义:string s1 = “uml”; string s2 = “uml”; string s3= new string(“uml”); string s4= new string(“um...

1、定义:string s1 = “uml”; string s2 = “uml”; string s3= new string(“uml”); string s4= new string(“uml”);那么,s1==s2;s3 == s4;s1.equals(s3); 判断正确与否

正确答案: a

t,f,t

f,t,f

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

2、若所用变量都已正确定义,以下选项中,非法的表达式是()

正确答案: c

a!= 4||b==1

'a' % 3

'a' = 1/3

'a' + 32

题解:
c中的‘a'是char类型,1/3是int类型。将int赋值给char属于从高向低赋值,所以错误

3、socket编程中,以下哪个socket的操作是不属于服务端操作的()?

正确答案: c

accept

listen

connect

close

题解:
tcp客户端:
1.建立连接套接字,设置ip和端口监听,socket()
2.建立连接 connect
3.write() 获取网络流对象 发送数据
4.read()获取网络流对象 接收数据
5.关闭套接字
tcp服务器端
1.建立端口监听 socket()
2.绑定指定端口 bind()
3.listen 进行端口监听
4.accept() 阻塞式 直到有客户端访问
5.read()获取客户端发送数据
6.write()发送返回数据
7.close关闭端口监听

4、java如何返回request范围内存在的对象?

正确答案: b

request.getrequesturl()

request.getattribute()

request.getparameter()

request.getwriter()

题解:
request.getattribute()方法返回request范围内存在的对象,而request.getparameter()方法是获取http提交过来的数据。getattribute是返回对象,getparameter返回字符串。

5、以下哪个不属于jvm堆内存中的区域()?

正确答案: b

survivor区

常量池

eden区

old区

题解:
jvm堆分为:新生代(一般是一个eden区,两个survivor区),老年代(old区)。常量池属于 permgen(方法区)

6、如下代码的输出结果是什么?

public class test {

public int amethod(){

static int i = 0;

i++;

return i;

}

public static void main(string args[]){

test test = new test();

test.amethod();

int j = test.amethod();

system.out.println(j);

}

}

正确答案: d

0

1

2

编译失败

题解:
java中静态变量只能在类主体中定义,不能在方法中定义。 静态变量属于类所有而不属于方法

7、以下java程序代码的输出是

public static void main(string args[]) {

system.out.println(17^5);

}

正确答案: c

12

22

20

1419857

题解:
异或运算,位异运算符号。
运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。
17:0001 0001
5: 0000 0101
结果:0001 0100 转10进制:20

8、下面哪些情况可以引发异常:

正确答案: a b c

数组越界

指定url不存在

使用throw语句抛出

使用throws语句

题解:
throws 和 throw:
throws出现在方法头,表示可能会出现异常;
throw是在方法体,抛出了异常,执行throw则一定抛出了某种异常

9、关于java的一些概念,下面哪些描述是正确的:( )

正确答案: b f

所有的java异常和错误的基类都是java.lang.exception, 包括java.lang.runtimeexception

通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行

java中所有的数据都是对象

java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行

java是跨平台的语言,无论通过哪个版本的java编写的程序都能在所有的java运行平台中运行

java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的

题解:
a、java异常和错误的基类throwable,包括exception和error
b、try…catch…finally finally不管什么异常都会执行
c、java是面向对象的,但是不是所有的都是对象,基本数据类型就不是对象,所以才会有封装类的;
d、如果是等待清理队列中如果又被调用,则不会执行finallize方法
e、java跨平台性 实现在任意平台的java程序都可以在其他平台运行,题中说的版本不同
f、synchronized实现方式:三种

10、关于运行时常量池,下列哪个说法是正确的

正确答案: b c d

运行时常量池大小受栈区大小的影响

运行时常量池大小受方法区大小的影响

存放了编译时期生成的各种字面量

存放编译时期生成的符号引用

题解:常量池在方法区

答案汇总:

1、正确答案: a

2、正确答案: c

3、正确答案: c

4、正确答案: b

5、正确答案: b

6、正确答案: d

7、正确答案: c

8、正确答案: a b c

9、正确答案: b f

10、正确答案: b c d

总结

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