java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java日常练习题

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

作者:牛哄哄的柯南

下面小编就为大家带来一篇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

T,F,T

F,T,F

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

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

总结

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

您可能感兴趣的文章:
阅读全文