「java程序员笔试题」Java初级程序员面试题
本篇文章给大家谈谈java程序员笔试题,以及Java初级程序员面试题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java.util.hashtable实现了哪个interface
- 2、求java程序员的面试题+过程
- 3、JAVA面试的时候一般考什么
- 4、后天就要面试java程序员了,可是我感觉我什么也不会,怎么办啊???
- 5、java程序员笔试面试都考什么呀?
- 6、谁有JAVA程序员面试的程序题啊?
java.util.hashtable实现了哪个interface
一、Map
map接口,集合类的接口,声明了map的常用方法。所有的map都继承自改接口
二、java.io.Serializable接口,
接口里没有声明任何方法,该接口用来实现对象的序列化反序列化功能
三、java.lang.Cloneable
接口里没有声明任何方法,该接口实现对象复制功能
四. AbstractMap
重要的类:AbstractMapK,V
AbstractMap抽象类实现了一些简单且通用的方法,
在这个抽象类中有两个方法非常值得关注,keySet和values方法源码的实现可以说是教科书式的典范。
抽象类通常作为一种骨架实现,为各自子类实现公共的方法。
Java中Map类型的数据结构有相当多,AbstractMap作为它们的骨架实现实现了Map接口部分方法,也就是说为它的子类各种Map提供了公共的方法,没有实现的方法各种Map可能有所不同。
抽象类不能通过new关键字直接创建抽象类的实例,但它可以有构造方法。AbstractMap提供了一个protected修饰的无参构造方法,意味着只有它的子类才能访问(当然它本身就是一个抽象类,其他类也不能直接对其实例化),也就是说只有它的子类才能调用这个无参的构造方法。
在Map接口中其内部定义了一个Entry接口,这个接口是Map映射的内部实现用于维护一个key-value键值对,key-value存储在这个Map.Entry中。AbstractMap对这个内部接口进行了实现,一共有两个:一个是可变的SimpleEntry和一个是不可变的SimpleImmutableEntry。
1. SimpleEntry
1.1 定义
实现了Map.EntryK, V接口,并且实现了Serializable(可被序列化)。它的方法比较简单都是取值存值的操作,对于key值的定义是一个final修饰意味着是一个不可变的引用。
1.2 setValue
ll另外其setValue方法稍微特殊,存入value值返回的并不是存入的值,而是返回的以前的旧值。
源码:
1.3 equals和hashCode
需要重点学习的是它重写的equals和hashCode方法。
eq方法
要想正确重写equals方法并能正确使用,通常还需要重写hashCode方法。因为集合中的元素,判断是否一样时,先hash再equals,这也是个知识点,详细的,学习一下原理。
hashcode源码:可以看成求hashcode值时,即返回的int数据,是key.hashCode() ^ value.hashCode(),即key、value的hashcode值异或
2. SimpleImmutableEntry
2.1 定义
源码:
它相比于SimpleEntry其key和value成员变量都被定义为了final类型。即定义为不可变的Entry,不提供setValue方法,不能通过setValue方法进行修改。
2.2 setValue
调用setValue方法将会抛出UnsupportedOperationException异常。即定义为不可变的Entry,不提供setValue方法,不能通过setValue方法进行修改。
它的equals和hashCode方法和SimpleEntry一致。
3. 实现的Map接口方法
接下来查看AbstractMap抽象类实现了哪些Map接口中的方法。
3.1 public int size()
Map中定义了一个entrySet方法,返回的是Map.Entry的Set集合,直接调用Set集合的size方法即是Map的大小。
3.2 public boolean isEmpty()
调用size方法,等于0即为空。
3.3 public boolean containsValue(Object value)
这个方法的实现较为简单,通过调用entrySet方法获取Set集合的迭代器遍历Map.Entry,获取对应的value与参数value比较。Map可以存储为null的value值,由于value=null在Map中存储比较特殊(不能计算hashCode值),所以在这里也做了判断参数value是否为空。
public boolean containsKey(Object key)
这个方法实现和containsValue一致。
3.4 public V get(Object key)
这个方法实现和containsValue类似,不同的是上面相等返回boolean,这个方法返回value值。
3.5 public V put(K key, V value)
向Map中存入key-value键值对的方法并没有具体实现,会直接抛出一个UnsupportedOperationException异常。
6 public V remove(Object key)
通过参数key删除Map中指定的key-value键值对。这个方法也很简单,也是通过迭代器遍历Map.Entry的Set集合,找到对应key值,通过调用 Iterator.remove() 方法删除Map.Entry。
7. public void putAll(Map? extends K, ? extends V m)
这个方法也很简单遍历传入的Map,调用put方法存入就可以了。
public void clear()
调用entrySet方法获取Set集合再调用Set#clear()方法清空。
keyset
返回Map key值的Set集合。AbstractMap中定义了一个成员变量“transient SetK keySet”,在JDK7中keySet变量是由volatile修饰的,但在JDK8中并没有使用volatile修饰。在对keySet变量的注释中解释道,访问这些字段的方法本身就没有同步,加上volatile也不能保证线程安全。关于keySet方法的实现就有点意思了。
首先思考该方法是返回key值的Set集合,很自然的能想到一个简单的实现方式,遍历Entry数组取出key值放到Set集合中,类似下面代码:
这就意味着每次调用keySet方法都会遍历Entry数组,数据量大时效率会大大降低。不得不说JDK源码是写得非常好,它并没有采取遍历的方式。如果不遍历Entry,那又如何知道此时Map新增了一个key-value键值对呢?
答案就是在keySet方法内部重新实现了一个新的自定义Set集合,在这个自定义Set集合中又重写了iterator方法,这里是关键,iterator方法返回Iterator接口,而在这里又重新实现了Iterator迭代器,通过调用entrySet方法再调用它的iterator方法。下面结合代码来分析:
五、 Dictionary
Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。
给出键和值,你就可以将值存储在Dictionary对象中。一旦该值被存储,就可以通过它的键来获取它。所以和Map一样, Dictionary 也可以作为一个键/值对列表。Dictionary类已经过时了。在实际开发中,你可以实现Map接口来获取键/值的存储功能。
打开CSDN,阅读体验更佳
HashMap、TreeMap、Hashable和LinkedHashMap_kgduu的博客
HashMap、TreeMap、Hashable和LinkedHashMap Map是最重要的数据结构之一。开始会告诉怎么用HashMap、TreeMap、Hashtable和LinkedHashMap 1、Map概述 在Java SE中有4种Map的实现:HashMap、TreeMap、Hashtable和LinkedHashMap. HashMap:用哈...
继续访问
Python 接口:从协议到抽象基类_weixin_30492047的博客
首先,基本的事实是,Python语言没有 interface 关键字,而且除了抽象基类,每个类都有接口:类实现或继承的公开属性(方法或数据属性),包括特殊方法,如__getitem__ 或 __add__。 按照定义,受保护的属性和私有属性不在接口中:即便“受保护...
继续访问
最新发布 Java集合(九)HashMap接口
HashMap小结:(1)Map接口的常用实现类:HashMap、Hashtable和Properties(2)HashMap是Map接口使用频率最高的实现类(3)HashMap是以key-val对的方式来存储数据(HashMap$Node类型)(4)key不能重复,但是值可以重复,允许使用null键和null值(5)如果添加相同的key,则会覆盖原来的key-val,等同于修改.(key不会替换,val会替换)我们来把断点放在map.put("no1","张三丰“);
继续访问
Hashtable和HashMap的异同
Hashtable和HashMap两者的原理相同,功能相同,很多情况下可以互用。 Hashtable和HashMap的主要区别如下: 1、Hashtable继承自Dictionary类,而HashMap实现了Map接口 2、Hashtable线程安全,HashMap重速度、轻安全,是线程非安全的,所以当运行到线程环境中时,需要程序员自己管理线程的同步问题。 3、Hashtable不允许null值(key和value都不允许),HashMap允许null值(key和value都允许) 其他异同点可参照博客:
继续访问
Hashable / Hasher_weixin_33909059的博客
哈希函数的选择应该作为实现细节,而不是设计中的固定部分;因此,使用者不应该依赖于编译器自动生成的 Hashable 函数的具体特征。最可能的实现是在每个成员的哈希值上调用标准库中的_mixInt函数,然后将他们逻辑异或(^),如同目前Collection类...
继续访问
php的数据结构_PHP 的数据结构扩展_myh991235的博客
Sequence 是类数组数据结构的基础接口,定义了很多重要且方便的方法,比如 contains, map, filter, reduce, find, first, last 等。从图中可知,Vector, Deque, Stack, Queue 都直接或者间接的实现了这个接口。 Hashable 在图中看起来比...
继续访问
33.Java之Map接口实现类(HashMap、HashTable、Properties、TreeSet 和 TreeMap基本介绍,HashMap 底层机制)
Map 接口的常用实现类:HashMap、Hashtable 和 Properties 33.1 HashMap 基本介绍 是 Map 接口使用频率最高的实现类 是以 Key-value 的方式来存储数据(HashMap$Node类型) Key 不能重复,但是值可以重复,允许使用 Null 键和 Null 值 如果添加相同的 Key,则会覆盖原来的 Key-value,等同于修改(Key不会替换,value会替换) 与 HashSet 一样,不保证映射的顺序(即添加顺序与输出顺序不一样),因为底层是以
继续访问
Map接口:HashMap与HashTable的区别
1)HashMap和Hashtable都实现了Map接口,但是继承的父类不同: public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map2)HashMap是非synchronized,执行速度快,而HashTab...
继续访问
php7 唯一数字_PHP7中高效的数据结构_王雷Neo的博客
实现Hashable接口的数据结构是Map和Set。 Map 一个Map 是一个键值对的连续集合,和数组几乎一致。键可以是任何类型,但是必须唯一。 强项: 性能和内存效率和数组几乎一致 当长度降低的时候自动释放内存 ...
继续访问
java常见笔试_Java 常见笔试题(2)_weixin_39998462的博客
java.util.Hashtable实现了哪个接口? A. java.util.Map B. java.util.List C. java.util.Hashable D. java.util.Collection 9. 1. class A implements Runnable{ 2. int i; 3.
继续访问
实现原理_HashTable实现原理
概要前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第4部分 Hashtable遍历方式第5部分 Hashtable示例转载请注明出处...
继续访问
Hashtable源码分析
前言:Hashtable线程安全的集合类,虽然它线程安全,然而在日常开发中使用的频率很低,毕竟锁的颗粒度太大了。但是这并不妨碍我们对其内部原理进行了解。 注:本文jdk源码版本为jdk1.8.0_172。 1.Hashtable基本概念 Hashtable与HashMap一样,都是以键值对的形式存储数据。但是Hashtable的键值不能为null,而HashMap的键值是可以为...
继续访问
Swift自定义Class实现Hashable_weixin_30273763的博客
增加代码后,发现编译器依然报错"Type 'Bit' does not conform to protocol 'Equatable'"-没有实现Equatable协议。 2.实现Equatable Commend+click点击Hashable定义,进入后再点击Equatable协议定义,可以看到如下定义: ...
继续访问
Array,Vertor,Arraylist,Hashable,Hashmap等几个易混淆的概念_tjjhz...
1.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现 2.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
继续访问
Hashtable简述
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。......
继续访问
Map接口与实现类HashTable
Map接口与实现类HashTable 源码位置 rt.jar/java.util包下 源码类 public class HashtableK,V extends DictionaryK,V implements MapK,V, Cloneable, java.io.Serializable 特点 1、集合中key不能重复,若put时集合已含有此key,那新值会替换旧值;key,value不能为null 2、HashTable/Map中存放数
继续访问
Java面试知识整理_加温的啤酒的博客_java面试知识整理
都实现了list接口,都是有序的 vector线程是安全的,arraylist线程是不安全的 vector数据增长是原来的一倍,arraylist是数据增长是原来的0.5倍 hashmap和hashable的区别 hashmap是hashable的轻量级实现,hashmap允许空键值,hashable不允许 ...
继续访问
javase基础知识总结_id_1314520的博客
interface接口: 默认所有方法都是抽象的,并且public修饰的. 属性: 默认为public修饰的常量(public final修饰的) abstract抽象类: 类名被abstract修饰的类; 里面可以有抽象方法, 也可以没有抽象方法; 实现接口类,可以重写也可以不重写接口...
继续访问
集合—Map接口实现类-Hashtable
本次博客带领大家学习集合中的Map接口实现类-Hashtable。
继续访问
Hashtable 和 HashMap
HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。 1.HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。 2...
继续访问
hashMap和hashTable的区别以及HashMap的底层原理?
hashMap和hashTable的区别? 1、继承的父类不同 HashTable继承Dictionary类,而hashMap继承了AbstractMap类,但是二者都实现了map接口。 2、线程安全性不同 Hashtable 线程安全,因为它每个方法中都加入了Synchronize。HashMap是线程不安全的。 HashMap底层是一个Entry数组,当发生hash冲突的时候,ha......
继续访问
java---Map接口的实现类HashMap和Hashtable
package LyfPractice;import java.util.*;/** * Created by fangjiejie on 2016/12/19. */ /*Hashmap和Hashtable的区别 1.相同:都实现了Map接口,实现了key和value的保存与映射,有很多相同的方法 2.不同: Hashmap:是map接口的实现类 ,非同步,线程不安全 ,速度快,可以有
继续访问
Map 接口实现类-Hashtable
Map 接口实现类-Hashtable
继续访问
29. Map接口继承关系 / Map接口概述 / HashMap底层实现原理及相关知识 / Map常用方法 / TreeMap、Properties
Map接口继承关系 Map接口概述 Map与Collection并列存在。用于保存具有映射关系的数据:key-value Map 中的 key 和 value 都可以是任何引用类型的数据 Map 中的 key 用Set来存放, 不允许重复,即同一个 Map 对象所对应 的类,须重写hashCode()和equals()方法 常用String类作为Map的“键” key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到 唯一的、确定的 value Map接口的常用实现类: HashM
继续访问
Map接口的实现类----HashMap
Map接口的实现类----HashMap。
继续访问
JAVA基础 接口与继承 HashMap使用
抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量 接口不可继承抽象类,抽象类可实现多个接口。接口与接口之间是继承,用extends,可继承多个接口 mport java.util.HashMap; import java.util.Map; interface T...
继续访问
【Java_基础深入】LinkedHashMap 继承 HashMap又实现 Map 接口背后的设计思想
JDK源码的类定义 public class HashMapK,V extends AbstractMapK,V implements MapK,V, Cloneable, Serializable public class LinkedHashMapK,V extends HashMapK,V implements...
继续访问
Map接口及其实现类HashMap、LinkedHashMap和Hashtable的简单介绍
一、Map集合的特点 Map集合是一个双列集合,一个元素包含两个值(一个是key,一个是value)Map集合的特点 Map集合中的元素,key和value的数据类型可以相同也可以不同 Map集合中的元素,key是不允许重复的,value是可以重复的 Map集合中的元素,key和value是一一对应的 Map的常用方法 1、public V put (K key, V value)方法 作用:把指定的键与指定的值添加到Map集合中 返回值V的含义:存储键值对的时候,key如果不重复,返回值v是null;
继续访问
Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
转 Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例 概要 前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。 我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Has
继续访问
HashTable实现原理
有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTable而言,它在很大程度上和HashMap的实现差不多,如果我们对HashMap比较了解的话,对Has
求java程序员的面试题+过程
面试过程因公司而异...
我提供一下我的经历
1)人力资源部经理(就算不是经理也是得力人物)
了解人品、沟通能力、对进公司的欲望、目的
2)项目经理(以后和你接触最多的上级)
了解技术、实力、经验
3)项目经理上级(小公司的话有可能是老总)
这个很轻松的,相当见见面,能到这里,已经可以进公司了
面试题:程序员的话,一般考算法、设计模式
题目非常笼统,很简单,给你足够的空间发挥
比如:写个表达式计算器(技术,表现方式不限)
JAVA面试的时候一般考什么
Java程序员应聘一般要经过笔试和面试。作为一个技术人员,特别是刚出道的,笔试的成绩是比较重要。以下是我经过几次笔试总结的一些经验教训。
一般来说,试题会分为三个部分,Java基础、数据库基础和综合题。
首先是Java基础,这个很简单,也就是考考你对Java语言本身的理解,包括语法,类库的使用等。有选择题,也会有写代码题。写代码的时候认真仔细就是了。基础题答案一般都比较死,所以尽量不要错。在这,出一道我遇到的题考考大家,Java编程:把American,Japan,China,France,Brazil按英文字母排序。说说思路就行了:)
其次是数据库。准确的说,考的不是数据库,而是SQL语句。一般题型是,给两三个表,然后让你根据需求写SQL。最普通的就是学生表、选课表和成绩表。要掌握的就是连接查询,还有就是一些函数(建表、表操作等就不说了哈)。其实这些都相当简单,但是往往被新手忽略。我就遭过,因为有半年没写过SQL了,连接查询搞忘完了,有两次笔试都空起,结果可想而知。这些是必备技术,千万不能空起啊!
然后是综合题。之所以说是综合题,是因为包含的内容比较多,一般都是主观题。这里,人家是想看看你对Java高级技术以及周边技术的了解程度和运用能力,说白了,就是考概念和考应用题。这里说的Java高级技术,也就是J2EE架构中的技术,这些不会的话,人家是不得要你的。如果你会一些流行的技术框架,那就更好了。所谓Java周边技术,包括HTTP,HTML,XML,UML,JavaScript,CSS等,要求一般不是很高,要了解,比如让你用HTML写个表单你要会。关于刚才提到的技术或者框架,希望要了解其工作的原理和机制,一般要考,比如让你说说Struts的MVC。关于应用题,可能出一道网络应用来考。
以上就是我笔试的经验,一般是这样,不过我也遇到过变态的。一次笔试,就被彻底甩翻,C/C++、数据库、Java技术、Shell编程、网络协议、Unix、软件工程全部上了。
如果笔试做的好,那就成功大半了,不过不要轻视面试哦!
关于面试技巧,网上太多了,我就不多说。作为技术人员,虽说以技术为主,但沟通能力同样重要,面试时要主动,表达要清楚,要微笑,要诚实,要稳重。
关于价钱,说实话,我们中国的程序员是世界上最好的程序员,我们拿最少的钱,干最多的活。刚出道的程序员,在成都,一般来说,试用不会超过2000,多半是1500左右,做好被资本家剥削的心理准备吧
后天就要面试java程序员了,可是我感觉我什么也不会,怎么办啊???
招程序员大部分应该先笔试的吧 ,笔试题大部分都是java基础部分的, 把那些东西都好好看看 。把自己做过的一些程序写简历上。 面试的时候有可能让你说说这些程序。退一步说,即使不要你 , 你也不损失什么~
java程序员笔试面试都考什么呀?
1)面向对象的基础知识
2)java写一段程序,通常是排序或者计算后输出的
3)关于web开发的基础知识,比如什么是jsp,servlet与jsp的区别,session与cookie的区别
4)对常用的开源框架的了解,如struts,spring,hibernate,ibatis等
谁有JAVA程序员面试的程序题啊?
一、 选择题:(每题1分,共30分)
1. Which statement about the garbage collection mechanism are true? (B)
A.Garbage collection require additional program code in cases where multiple threads are running.
B.The programmer can indicate that a reference through a local variable is no longer of interest.
C.The programmer has a mechanism that explicit and immediately frees the memory used by Java objects.
D.The garbage collection mechanism can free the memory used by Java Object at expectable time.
E.The garbage collection system never reclaims memory from objects while are still accessible to running user threads.
2. Give the following method: D
1)public void method( ){
2) String a,b;
3) a=new String(“hello world”);
4) b=new String(“game over”);
5) System.out.println(a+b+”ok”);
6) a=null;
7) a=b;
8)System.out.println(a);
9) }
In the absence of compiler optimization, which is the earliest point the object a referred is definitely hand to be garbage collection. ()
A. before line 3 B.before line 5 C. before line 6 D.before line 7 E. Before line 9
3. Give the following code:
public class Example{
public static void main(String args[] ){
int l=0;
do{
System.out.println(“Doing it for l is:”+l);
}while(l0)
System.out.println(“Finish”);
}
}
Which well be output: D
A. Doing it for l is 3 B. Doing it for l is 1C Doing it for l is 2
D. Doing it for l is 0 E. Doing it for l is –1F. Finish
4. 以下(C)是JAVA的保留字。(选择一项)
A.Java B.Hello C.class D.Class
5. 下面程序运行之后,变量x的值是(B). (选择一项)
......
//swap方法的声明
public static void swap(int a,int b){
int t=a;
a=b;
b=t;
}
//main方法
public static void main(String args[]){
int x=2;
int y=3;
swap(x,y);
}
A、2 B、3 C、4 D、6
6. 下面变量var的作用域范围是(D)。(选择一项)
1. //....
2. int x;
3. switch(x){
4. case 0:
5. {
6. int var;
7. //process
8. }
9. break;
10. case 1:
11. {
12. int var1;
13. //process
14. }
15. break;
16. }
A、1和16行之间 B、4和8行之间 C、6和8行之间 D、6和14行之间
7. 以下的类(接口)定义中正确的是(A)。(选择一项)
A.
public class a {
private int x;
public getX(){
return x;
}
}
B.
public abstract class a {
private int x;
public abstract int getX();
public int aMethod(){
return 0;
}
}
C.
public class a {
private int x;
public abstract int getX();
}
D.
public interface interfaceA{
private int x;
public int getX(){
return x;
}
}
8. 已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式 。C类也位于packageA包,且继承了B类 。则以下说话正确的是(C)(选择一项)
A. A类的实例不能访问到B类的实例
B. A类的实例能够访问到B类一个实例的x成员
C. C类的实例可以访问到B类一个实例的x成员
D. C类的实例不能访问到B类的实例
9. 编译并运行下面的Java代码段:
char c='a';
switch (c) {
case 'a':
System.out.println("a");
default:
System.out.println("default");
}
输出结果是(B)。(选择一项)
A.代码无法编译,因为switch语句没有一个合法的表达式
B.a Default
C.a
D.default
10. 在Java中,关于final关键字的说法正确的是(AC)。(选择两项)
A.如果修饰变量,则一旦赋了值,就等同一个常量
B.如果修饰类,则该类只能被一个子类继承
C.如果修饰方法,则该方法不能在子类中被覆盖
D.如果修饰方法,则该方法所在的类不能被继承
11. 在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关键字。(选择一项)
A.不需要任何关键字
B.private
C.final
D.protected
12. 在Java中,下面关于包的陈述中正确的是(AD)。(选择两项)
A.包的声明必须是源文件的第一句代码
B.包的声明必须紧跟在import语句的后面
C.只有公共类才能放在包中
D.可以将多个源文件中的类放在同一个包中
13. public static void main方法的参数描述是:AB(请选择2个正确答案)
A.String args[]
B.String[] args
C.Strings args[]z
D.String args
14. 编译并运行下面的Java程序:B
class A{
int var1=1;
int var2;
public static void main(String[] args){
int var3=3;
A a=new A();
System.out.println(a.var1+a.var2+var3);
}
}
将产生()结果。(选择一项)
A.0
B.4
C.3
D.代码无法编译,因为var2根本没有被初始化
15. 编译,运行下列代码后的结果是:D(选择一项)
public class Test {
public static void main (String args []) {
int age;
age = age + 1;
System.out.println("The age is " + age);
}
}
A.编译,运行后没有输出
B.编译,运行后输出:The age is 1
C.能通过编译,但运行时产生错误
D.不能通过编译
16. 下列哪些表达式返回true:AB(请选择2个正确答案 )
A."john" == "john"
B."john".equals("john")
C."john" = "john"
D."john".equals(new Button("john"))
17. Give the code fragment:B
1)switch(x){
2) case 1: System.out.println(“Test 1”);break;
3) case 2:
4) case 3: System.out.println(“Test 2”);break;
5) default: System.out.println(“end”);
6) }
which value of x would cause “Test 2” to the output:
A. 1B. 2C. 3D. default
18. Given the following class definition: A
class A{
protected int i;
A(int i){
this.i=i;
}
}
which of the following would be a valid inner class for this class?
Select all valid answers:
A. class B{
}
B.class B extends A{
}
C.class B extends A{
B(){System.out.println(“i=”+i);}
}
D.class B{
class A{}
}
E.class A{}
19. The following code is entire contents of a file called Example.java,causes precisely one error during compilation: D
1) class SubClass extends BaseClass{
2) }
3) class BaseClass(){
4) String str;
5) public BaseClass(){
6) System.out.println(“ok”);}
7) public BaseClass(String s){
str=s;}
9) }
10) public class Example{
11) public void method(){
12) SubClass s=new SubClass(“hello”);
13) BaseClass b=new BaseClass(“world”);
14) }
15) }
Which line would be cause the error?
A. 9 B. 10 C. 11 D.12
20. Float s=new Float(0.9F);
Float t=new Float(0.9F);
Double u=new Double(0.9);
Which expression’s result is true? B
A. s= =t B. s.equals(t) C. s= =u D. t.equals(u)
21. What happens when you try to compile and run the following program? A
class Mystery{
String s;
public static void main(String[] args){
Mystery m=new Mystery();
m.go();
}
void Mystery(){
s=”constructor”;
}
void go(){
System.out.println(s);
}
}
A.this code will not compile
B.this code compile but throws an exception at runtime
C.this code runs but nothing appears in the standard output
D.this code runs and “constructor” in the standard output
E.this code runs and writes ”null” in the standard output
22. Give the following class: B
public class Example{
String str=new String(“good”);
char ch[]={‘a’,’b’,’c’};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.println(ex.str+”and”+ex.ch[0] +ex.ch[1] +ex.ch[2]);
}
public void change(String str,char ch[]){
str=”test ok”;ch[0]=’g’;
}
}
Which is the output:
A. good and abc B. good and gbc C. test ok and abc D. test ok and gbc
23. Which correctly create a two dimensional array of integers? CD
A.int a[][] = new int[][];
B.int a[10][10] = new int[][];
C.int a[][] = new int[10][10];
D.int [][]a = new int[10][10];
E.int []a[] = new int[10][10];
24. Examine the following code which includes an inner class: B
public final class Test4 implements A{
class Inner{
void test(){
if (Test4.this.flag);{
sample();
}
}
private boolean flag=false;
}
public void sample(){
System.out.println(“Sample”);
}
public Test4(){
(new Inner()).test();
}
public static void main(String args[]){
new Test4();
}
}
What is the result:
A.Print out “Sample”
B.Program produces no output but terminates correctly.
C. Program does not terminate.
E.The program will not compile
25. Which statement is true about an inner class? D
A.It must be anonymous
B.It can not implement an interface
C.It is only accessible in the enclosing class
D.It can access any final variables in any enclosing scope
26. public class Test{ A
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);
}
}
What is the result?
A.Compilation will fail
B.Compilation will succeed and the program will print”0”.
C.Compilation will succeed and the program will print”1”.
D.Compilation will succeed and the program will print”2”
27. class Super{ D
public int i=0;
public Super(String text){
i=1;}
}
public class Sub extends Super{
public Sub(String text){
i=2;
}
public static void main(String ag[]){
Sub sub=new Sub(“Hello”);
System.out.println(sub.i);
}
}
What is the result?
A.Compilation will fail
B.Compilation will succeed and the program will print”0”.
C.Compilation will succeed and the program will print”1”
D.Compilation will succeed and the program will print”2”
28. Given A
Package foo;
public class Outer{
public static class Inner{
}
}
Which statement is true?
A.An instance of the Inner class can be constructed with “new Outer.Inner():
B.An instance of the Inner class cannot be constructed outside of package foo;
C.An instance of the Inner class can only be constructed from within the Outer class.
D.From within the package bar, an instance of the Inner class can be constructed with “new Inner()”
29. What is the result? E
public class Test{
static String s=”Hello”;
public static void main(String args[]){
Test t=new Test();
t.methodA(s);
System.out.println(s);
}
void methodA(String s){
s+=”World”;
}
}
A.print “Hello”
B.print “World”
C.print “Hello World”
D.It does not compile
30. what is the result? C
public class Test{
public static void main(String args[]){
String s=new String(”true”);
Boolean b=new Boolean(true);
If(s.equals(b))
{ System.out.println(“hello”);}
}
}
A.print “hello”
B.compile error at line 6
C.compile succeed but print nothing
D.compile succeed but throw exception at runtime
1、 B
2、 D
3、 D
4、 C
5、 B
6、 D
7、 A
8、 C
9、 B
10、 AC
11、 A
12、 AD
13、 AB
14、 B
15、 D
16、 AB
17、 B
18、 A
19、 D
20、 B
21、 A
22、 B
23、 CD
24、 B
25、 D
26、 A
27、 D
28、 A
29、 E
30、 C
补充一下:真正的面试时的笔试题,很少是选择题的,大多都是些问答题或者直接让你写程序的。如有你需要正规大公司的面试题,我这有一些word文档,可以给你发邮件。
关于java程序员笔试题和Java初级程序员面试题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-13,除非注明,否则均为
原创文章,转载请注明出处。