Java日常练习题,每天进步一点点(26)
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
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!