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

Posted 牛哄哄的柯南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日常Java练习题(每天进步一点点系列)相关的知识,希望对你有一定的参考价值。

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

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 你的答案: A (正确)
T,F,T
F,T,F

题解:
在这里插入图片描述

2、若所用变量都已正确定义,以下选项中,非法的表达式是()
正确答案: C 你的答案: C (正确)
a!= 4||b==1
’a’ % 3
’a’ = 1/3
’A’ + 32

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

3、socket编程中,以下哪个socket的操作是不属于服务端操作的()?
正确答案: C 你的答案: 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 你的答案: B (正确)
request.getRequestURL()
request.getAttribute()
request.getParameter()
request.getWriter()

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

5、以下哪个不属于JVM堆内存中的区域()?
正确答案: B 你的答案: 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 你的答案: D (正确)
0
1
2
编译失败

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

7、以下JAVA程序代码的输出是
public static void main(String args[]) {
System.out.println(17^5);
}
正确答案: C 你的答案: C (正确)
12
22
20
1419857

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

8、下面哪些情况可以引发异常:
正确答案: A B C 你的答案: A B C (正确)
数组越界
指定URL不存在
使用throw语句抛出
使用throws语句

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

9、关于Java的一些概念,下面哪些描述是正确的:( )
正确答案: B F 你的答案: 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 你的答案: 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

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

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

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

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

共同努力!

Keafmd

以上是关于日常Java练习题(每天进步一点点系列)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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