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.
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.
相关文章推荐
- Java笔试题目汇总
- Java笔试题目汇总122题
- Java笔试题目知识点汇总
- Java笔试题目汇总122题
- Java笔试题目汇总122题
- Java笔试题库之选择题汇总
- java面试笔试题大汇总[转]
- C/C++ 笔试、面试题目大汇总
- java面试笔试题大汇总
- java面试笔试题大汇总
- java面试笔试题大汇总 及c/c++面试试题转载
- C/C++ 笔试、面试题目大汇总
- java面试笔试题大汇总
- C/C++ 笔试、面试题目大汇总
- java面试笔试题大汇总(1)
- C/C++ 笔试、面试题目大汇总(一)
- [C/C++] C/C++ 笔试、面试题目大汇总
- java面试笔试题大汇总
- java 面试题目汇总3
- C/C++ 笔试、面试题目大汇总(三)