您的位置:首页 > 编程语言 > Java开发

Java笔试题目汇总___选择题

2017-06-12 12:55 183 查看
1 判断一下代码的情况?

public class Parents {

private String name = “lilly”;

}

public class Person extends Parents{

private String grade = “pa” ;

public static void main(String[] args) {

Person p = new Person();

System.out.println(p.name);

}

}

A 输出结果为pa ; B 编译报错 ; C:运行报错 ;D没输出什么

解析:B 编译报错,在private修饰中,子类不能访问到;如果子类和父类有相同字段或者方法,则是调用子类,不算是方法覆写。

2 java.lang中判断两个对象是否相等,相等返回true.

a toString(); b equals() ; c conpare() d 以上都不正确

解析: c ,在java中判断是否相同对象使用equals(),默认是比较地址值,如果要比较内容则需要覆写equals方法.

3以下使用final关键字说法错误的是()

A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性

B) final修饰的类肯定不能被继承

C) final修饰的方法不能被重载

D) final修饰的变量不允许被再次赋值

解析:AC final不能修饰抽象类,final可以被重载不能被重写

final使用:>http://blog.csdn.net/zhaotengfei36520/article/details/45098977

4 以下描述有错误的是?

A abstract可以修饰类,接口,方法

B abstract可以修饰的类主要用于被继承

C abstract可以修饰变量

D abstract可以修饰的类,其子类也可以是abstract修饰

解析 C ,abstract不能修饰变量, 接口是默认使用public abstract 修饰

abstract的知识

http://blog.csdn.net/Mandypan/article/details/52131763?locationNum=2&fps=1

5 以下对TCP和UDP的描述真确的是()

a TCP不能提供数据的可靠性;

b UDP能够保证数据库的可靠性;

c TCP数据传递效率高于UDP;

d UDP数据传递效率高于TCP;

解析: d ,TCP能提供数据可靠性,效率低;UDP不能保证数据可靠性,效率高;

TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快

7 以下哪个方法用于定义线程的执行体()

a start() ; b init() ; c run() ; d synchronized();

解析 C , start是启动线程, run()是执行线程体的方法

8 以下代码HTTP错误描述正确的是

A HTTP 502 –网关错误

B HTTP 403 –禁止访问

C HTTP 404 –无法找到文件

D HTTP 500–请求无效

解析 :

502 错误网关 — 服务器接收到来自上游服务器的无效响应。

403 禁止 — 即使有授权也不需要访问。

40
4000
4 找不到 — 服务器找不到给定的资源;文档不存在。

500 内部错误 — 因为意外情况,服务器不能完成请求。

9 在java中,关于HashMap类的描述,以下理解错误的有()

A HashMap使用键值对的形式保存数据

B HashMap能够保证其中元素的顺序

C HashMap允许将null用作键

D HashMap允许将null用作值

解析: B ,HashMap不能保证元素顺序,而且能够把null作为key或者value. 注意和Hashtable的区别.

HashMap和Hashtable的区别

HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。

HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。

HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。

另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。

由于Hashtable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢。如果你不需要同步,只需要单一线程,那么使用HashMap性能要好过Hashtable。

HashMap不能保证随着时间的推移Map中的元素次序是不变的。

10 以下对象序列化描述正确的是()

A 使用FileOutputStream可以将对象进行传输

B 对象引用的其他对象可以不实现Serializable接口

C 使用ObjectOutputStream类完成对象的存储,使用ObjectInputStream类完成对

象的读取

D 对象序列化的所属类需要实现Serializable接口

解析:c http://developer.51cto.com/art/201202/317181.htm

11 下面的语句会输出怎么样的操作

System.out.println(4&7);

A 4

B 5

C 6

D 7

解析: A, 考察位运算符. 4转化为二进制是100; 而7的二进制是111

则4&7 的二进制是100对应的十进制是4

12 阅读下列代码后

public class Demo {

private int[] arr = new int[10];

public static void main(String[] args) {

System.out.println(arr[1]);

}

}

正确的说法是()

A 编译时错误

B 编译正确,运行错误

C 输出0

D 输出null

解析: A ,在静态方法中调用成员变量需要使用static修饰,另外,在动态初始化时会默认值为0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: