哪里有java笔试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪里有java笔试题相关的知识,希望对你有一定的参考价值。

java面试不光有面试也会有笔试,整理了一些java笔试题及答案分享给大家,准备或将要参加java面试的朋友可以仔细阅读,争取一次通过,进去自己心仪的企业工作。想看更多面试问题请关注WeiXin工纵浩“浙江优就业”!
一、九道选择题
1.Java程序的种类有(BCD )
A.类(Class) B.Applet C.Application D.Servlet

2.下列说法正确的有( BCD)
A. 环境变量可在编译source code时指定
B. 在编译程序时,所能指定的环境变量不包括class path
C. javac一次可同时编译数个Java源文件
D. javac.exe能指定编译结果要置于哪个目录(directory)
3.下列标识符不合法的有( ACD)
A.new B.$Usdollars C.1234 D.car.taxi
4.下列说法错误的有( BCD)
A. 数组是一种对象
B. 数组属于一种原生类
C. int number==31,23,33,43,35,63
D. 数组的大小可以任意改变
5.不能用来修饰interface的有(ACD )
A.private B.public C.protected D.static
6.下列正确的有(ACD )
A. call by value不会改变实际参数的数值
B. call by reference能改变实际参数的参考地址
C. call by reference不能改变实际参数的参考地址
D. call by reference能改变实际参数的内容
7.下列说法错误的有( ACD)
A. 在类方法中可用this来调用本类的类方法
B. 在类方法中调用本类的类方法时可直接调用
C. 在类方法中只能调用本类中的类方法
D. 在类方法中绝对不能调用实例方法
8.下列说法错误的有(ABC )
A. Java面向对象语言容许单独的过程与函数存在
B. Java面向对象语言容许单独的方法存在
C. Java语言中的方法属于类中的成员(member)
D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
9.下列说法错误的有(BCD )
A. 能被java.exe成功运行的java class文件必须有main方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar选项运行.jar文件
D. 能被Appletviewer成功运行的java class文件必须有main方法
二、六道简答题
1、在java中如果声明一个类为final,表示什么意思?
答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。
2、父类的构造方法是否可以被子类覆盖(重写)?

答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。
3、请讲述String 和StringBuffer的区别。
答:String 类所定义的对象是用于存放“长度固定”的字符串。
StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。
4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?
答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。
5、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。
答: Sleeping睡眠的意思 : sleep() 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。
waiting等待的意思: 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。
6、谈谈你对抽象类和接口的理解。
答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。
接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。
1、HashMap和Hashtable的区别。

都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap 类没有分类或者排序。它允许一个null 键和多个null 值。Hashtable 类似于HashMap,但是不允许null 键和null 值。它也比HashMap 慢,因为它是同步的,是线程安全的。

2、sleep() 和wait() 有什么区别?

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

3、Collection 和Collections的区别。

Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

Collection是个java.util下的接口,它是各种集合结构的父接口。

4、什么时候用assert.

assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

5、&和&&的区别。

& 是两个数相与,是位运算符,&&是布尔逻辑运算符,连接两个条件表达式的,两个条件表达式都为真时,整个才为真

6、谈谈final, finally, finalize的区别。

final:修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。

finalize:方法名。Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
7、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

8、。Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;因为返回最接近参数的long.通过加上1/2 将该结果舍入为整数,取结果的基数并将其强制转换为long 类型。换句话说,结果等于以下表达式的值:(long)Math.floor(a + 0.5d)

9、Static Nested Class 和Inner Class的不同,说得越多越好(面试题有的很笼统)。

Static nested class(嵌套类)是将内部类声明为static.普通内部类对象隐式地保存了一个引用,指向创建它的外围类对象,不能有static数据和static字段。嵌套类意味着:1> 要创建嵌套类的对象,并不需要其外围类的对象;2>不能从嵌套类的对象中访问非静态的外围类的对象。

10、ArrayList和Vector的区别。

1>同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的2>数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。
参考技术A

https://www.nowcoder.com/contestRoom?mutiTagIds=639

牛客网-Java专题

很适合程序猿刷笔试面试题

望采纳 谢谢。

参考技术B

推荐:牛客网

“牛客网”是一个专注于程序员的学习和成长的专业平台,集笔面试系统、课程教育、社群交流、招聘内推于一体。

Java基础阶段笔试题2

Java基础阶段笔试题2

 

 

  1. 问题:Collection 和 Collections的区别?(10分)

本题目的:检测对面结合类的理解

答案:

Collection是集合类的上级接口3,继承与他的接口主要有Set List。(2

Collections是针对集合类的一个帮助类3,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作2

 

  1. 问题:Set里的元素能重复么?用什么方法来区分重复与否呢是用==还是equals()? 它们有何区别  (10分)

本题目的:检测Set的理解。

答案:

Set里的元素是不能重复的(2),用iterator()方法来区分重复与否(2)。

equals()是判读两个Set是否相等

    equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值

 

  1. 问题:abstract classinterface有什么区别?(10分)·

本题目的:检测final的理解和使用

答案:

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),1它用于要创建一个体现某些基本行为的类,在类中可以定义抽象方法,让子类去实现。1不能创建abstract 类的实例。然而可以创建一个抽象类类型的变量,并让它指向具体子类的一个实例。1不能有抽象构造函数或抽象静态方法。1Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。1

接口(interface)可以理解为是抽象类的变体。1接口中的所有方法都是抽象的,没有一个有程序体。1接口只可以定义static final成员变量。1)接口之间是多继承的。(1) 类与接口之间是多实现的。(1instanceof 运算符可以用来决定某对象的类是否实现了接口。

   

  1. 问题:JAVA语言如何进行异常处理?关键字:throws,throw,try,catch,finally分别代表什么意义?。(10分)

本题目的:检测值异常的理解

答案:

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。2)

在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。1)

当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。1)

Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。1)

用try来指定一块预防所有"异常"的程序。1)

紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。1)

throw语句用来明确地抛出一个"异常"。1)

throws用来标明一个成员函数可能抛出的各种"异常"。1)

finally为确保一段代码不管发生什么"异常"都被执行一段代码。1)

 

 

  1. 问题:ArrayList,Vector, LinkedList的存储性能和特性。(10分)

本题目的:检测ArrayList,Vector, LinkedList的理解和使用

答案:

        ArrayListVector都是使用数组方式存储数据2,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,1但是插入元素要涉及数组元素移动等内存操作,1所以索引数据快而插入数据慢1Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,2LinkedList使用双向链表实现存储,1按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。2

     

      

  1. 问题:谈谈final, finally的区别(10分)

本题目的:检测对于final, finally的理解

答案:

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。1)因此一个类不能既被声明为 abstract的,又被声明为final的。1)将变量或方法声明为final,可以保证它们在使用中不被改变。1)被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。1)被声明为final的方法也同样只能使用,不能重载。(1)

finally—在异常处理时提供 finally 块来执行任何释放资源的操作。(2)如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。(3)

 

 

  1. 问题:ArrayList和Vector的区别,HashMap和Hashtable的区别?(10分)

本题目的:检测对于ArrayListVector的区别,HashMapHashtable的区别

答案:

就ArrayList与Vector主要从二方面来说。

一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的(2

二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半(2

 

就HashMap与HashTable主要从三方面来说。

一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现(2

二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的2

三.值:只有HashMap可以让你将空值作为一个表的条目的key或value2

 

  1. 问题:errorexception有什么区别?(10分)

本题目的:对于错误和异常的理解

答案:

 error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。(5)

     exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况(5)

 

  1. 问题:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?(10

本题目的:检测对于异常中return执行的顺序的理解

答案:

会执行5,在return前执行5

 

 

  1. 问题:给我个你最常见到的runtime exception。(10分)

本题目的:检测常见异常的掌握情况,由于目前遇到的异常比较少,每个3分,只要能写出3个即可给10

答案:下面列举出常见的5个异常:

IndexOutOfBoundsException,NullPointerException,ArithmeticException,ClassCastExceptionFileNotFoundException等。

 

 

以上是关于哪里有java笔试题的主要内容,如果未能解决你的问题,请参考以下文章

java笔试题

java笔试题

求java考题,笔试题

经典PHP笔试题

Java 笔试题

JAVA笔试题(与构造函数、静态变量有关)