精选Java笔试题

精选Java笔试题
精选Java笔试题

精选Java笔试题

Java考试马上就要进行了,大家是否已经复习好了呢?下面是为大家收集的关于精选Java笔试题,欢迎大家阅读!

1.下面哪些是Thread类的方法()

A start()

B run()

C exit()

D getPriority()

答案:ABD

解析:看Java API docs吧:

https://https://www.360docs.net/doc/735083765.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。

2. 下面关于https://www.360docs.net/doc/735083765.html,ng.Exception类的说法正确的是()

A 继承自Throwable

B Serialable CD 不记得,反正不正确

答案:A

解析:Java异常的基类为https://www.360docs.net/doc/735083765.html,ng.Throwable,

https://www.360docs.net/doc/735083765.html,ng.Error和https://www.360docs.net/doc/735083765.html,ng.Exception继承 Throwable,

RuntimeException和其它的Exception等继承Exception,具体

的RuntimeException继承RuntimeException。

扩展:错误和异常的区别(Error vs Exception)

1) https://www.360docs.net/doc/735083765.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误

都是非正常的,就根本不该出现的。

https://www.360docs.net/doc/735083765.html,ng.Exception: Throwable的子类,用于指示一种合

理的程序想去catch的条件。即它仅仅是一种程序运行条件,而

非严重错误,并且鼓励用户程序去catch它。

2) Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查

了的异常(checked exceptions).

checked exceptions: 通常是从一个可以恢复的程序中抛出

来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。

unchecked exceptions: 通常是如果一切正常的话本不该发

生的异常,但是的确发生了。发生在运行期,具有不确定性,主

要是由于程序的逻辑问题所引起的。比如

ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终

端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。因此,

面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,

修改代码逻辑。

RuntimeException:RuntimeException体系包括错误的类型

转换、数组越界访问和试图访问空指针等等。

处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过

检查数组下标和数组边界来避免数组越界访问异常。其他(IOException等等)checked异常一般是外部错误,例如试图从文

件尾后读取数据等,这并不是程序本身的错误,而是在应用环境

中出现的外部错误。

3. 下面程序的运行结果是()

String str1 = "hello";

String str2 = "he" + new String("llo");

System.err.println(str1 == str2);

答案:false

解析:因为str2中的llo是新申请的内存块,而==判断的是对象的地址而非值,所以不一样。如果是String str2 = str1,那么就是true了。

4. 下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行

D.一个class只能定义一个constructor

答案:C

解析:这里可能会有误区,其实普通的类方法是可以和类名同名的,和构造方法唯一的区分就是,构造方法没有返回值。

5. 具体选项不记得,但用到的知识如下:

String []a = new String[10];

则:a[0]~a[9] = null

a.length = 10

如果是int []a = new int[10];

则:a[0]~a[9] = 0

a.length = 10

6. 下面程序的运行结果:()

复制代码

public static void main(String args[]) { Thread t = new Thread() {

public void run() {

pong();

}

};

t.run();

System.out.print("ping");

}

static void pong() {

System.out.print("pong");

}

复制代码

A pingpong

B pongping

C pingpong和pongping都有可能

D 都不输出

答案:B

解析:这里考的是Thread类中start()和run()方法的区别了。start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程,进而调用run()方法来执行任务,而单独的调用run()就跟调用普通方法是一样的,已经失去线程的特性了。因此在启动一个线程的时候一定要使用start()而不是run()。

7. 下列属于关系型数据库的是()

A. Oracle B MySql C IMS D MongoDB

答案:AB

解答:IMS(Information Management System )数据库是IBM 公司开发的两种数据库类型之一;

一种是关系数据库,典型代表产品:DB2;

另一种则是层次数据库,代表产品:IMS层次数据库。

非关系型数据库有MongoDB、memcachedb、Redis等。

8. GC线程是否为守护线程?()

答案:是

解析:线程分为守护线程和非守护线程(即用户线程)。

只要当前JVM实例中尚存在任何一个非守护线程没有结束,

守护线程就全部工作;只有当最后一个非守护线程结束时,守护线

程随着JVM一同结束工作。

守护线程最典型的应用就是 GC (垃圾回收器)

9. volatile关键字是否能保证线程安全?()

答案:不能

解析:volatile关键字用在多线程同步中,可保证读取的可

见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对

volatile的写操作,无法保证线程安全。例如假如线程1,

线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值,在线程1堆count进行修改之后,会write到主内存中,主内存中的count变量就会变为6;线程2

由于已经进行read,load操作,在进行运算之后,也会更新主内

存count的变量值为6;导致两个线程及时用volatile关键字修改之后,还是会存在并发的情况。

10. 下列说法正确的是()

A LinkedList继承自List

B AbstractSet继承自Set

C HashSet继承自AbstractSet

D WeakMap继承自HashMap

答案:AC

Java语言练习题库(含答案)

单选题 1. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2. 编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3. 哪一种类的对象中包含有Internet地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4. 有关GUI容器叙述,不正确的是? (A) 容器是一种特殊的组件,它可用来放置其它组件 (B) 容器是组成GUI所必需的元素 (C) 容器是一种特殊的组件,它可被放置在其它容器中

(D) 容器是一种特殊的组件,它可被放置在任何组件中 5. 使用javadoc生成的文档的文件格式是? (A) XML格式 (B) 自定义格式 (C) 二进制格式 (D) HTML格式 6. 下列有关类、对象和实例的叙述,正确的是哪一项? (A) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 (D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7. 在事件委托类的继承体系中,最高层次的类是哪项? (A) java.util.EventListener (B) java.util.EventObject (C) java.awt.AWTEvent (D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A) 运行时异常和异常 (B) 受检异常和非受检异常

精选30道Java笔试题解答

都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~~~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~ 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API docs吧:https://www.360docs.net/doc/735083765.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于https://www.360docs.net/doc/735083765.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/735083765.html,ng.Throwable,https://www.360docs.net/doc/735083765.html,ng.Error和https://www.360docs.net/doc/735083765.html,ng.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/735083765.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。 https://www.360docs.net/doc/735083765.html,ng.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。 2) Error和RuntimeException及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception 类都是检查了的异常(checked exceptions). checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。 unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。因此, 面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。 RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

javaSE选择题50道判断题30道

一、不定项选择题:(50题) 1.下列关于JDK、JRE和JVM的描述,正确的是?D A.JRE中包含了JDK,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JDK中包含了JRE,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 2.以下关于JVM的叙述,正确的是?AC A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件 3.JVM在执行一个Java类时,大致采用以下过程?A A.装载类一>校验类一>执行类中的代码 B.装载类一>执行类中的代码一>校验类 C.校验类一>装载类一>执行类中的代码 D.执行类中的代码一>装载类一>校验类 4.以下关于Java文件名的叙述,正确的有?AD A.Java源文件的扩展名应为.java B.Java字节码文件的扩展名应为.java C.一个Java源文件中只能包含一个Java类 D.Java源文件的文件名应与文件中被public修饰的类的类名一致 5.下列哪项不是int类型的字面量?C A.20 B.077 C.\u03A6 D.0xABBC 6.下列哪项不属于Java语言的基本数据类型?B A.int B.String C.double D.boolean 7.下列哪项不是有效的标识符?AC A.2test B.userName C.$car.text D._password

8.现有如下五个声明: Line1: int _hi=6; Line2:int $dollars=8; Line3: int %opercent=9; Line4: int big=Integer.getlnteger("7"); Line5: int a_really_really_really_long_variable_name=5 ; 哪行无法通过编译?B A.Line1 B.Line3 C. Line4 D. Line5 9.表达式:double d = 1-2/5*5+2*5;d的值是哪项?D C.9 D.11 10.现有代码片段: String s="123"; String s1=s+456; 请问s1的结果是哪项?A A.123456 B.579 C.编译错误 D.运行时抛出异常 11.现有: 1.class Test4 { 2. public static void main (String [] args) { 3.boolean x=false; 4.boolean y=true; 5.short z=42; 6. 7. if((z++==42)&&(y==true))z++; 8. if((x==false)||(++z==45))z++; 9. 10. System. out.println("z="+z); 11. } 12.} 结果为:C A. z=42

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd)。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.360docs.net/doc/735083765.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace)。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace)。 A)byte 型转换成 int 型 B)int 型转换成 byte 型 C)float 型转换成 double型 D)double 型转换成 int 型 E)char型转换成 int 型13:下列那些是正确的JAVA字符串?多选(abd)。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.360docs.net/doc/735083765.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.360docs.net/doc/735083765.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.360docs.net/doc/735083765.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/735083765.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.360docs.net/doc/735083765.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

Java笔试题答案

Java面向对象程序设计 考试卷 一、选择题(没有注明多选,则为单选) 1、下列变量定义错误的是 A.int a; B.double b=4.5; C.boolean b=true; D.float f=9.8; (9.8f) 2、6+5%3+2的值是 A. 2 B. 1 C.9 D.10 3、对于一个三位的正整数n,取出它的十位数字k(k为整型)的表达式是 A.k = n / 10 % 10 //先得到百位和十位192 19 9 B.k = ( n - n / 100 * 100 )%10 C.k = n % 10 D.k = n / 10 B. 5 C.0 D.54

B. 5 C. 2 D.-1 6、在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的 是:(同一个方法中参数不同,返回值类型可以不同也可以相同) A.public getSort(float x) 没有返回类型一定是构造函数不能重载 B.int getSort(int y)(参数一样不是重载) C.double getSort(int x,int y) (参数不一样是重载) D.void get(int x, int y) 7、下列哪个是合法的Java标识符:(两个答案) B C A.Tree&Glasses B.FirstJavaApplet C._$theLastOne D.273.5 8、设a = 8,则表达式 a >>> 2 的值是:C (无符号右移动)左移是乘右是除 1000->/2->/2 将一个数8除2,运算最快的方式 A. 1 B. 2 C. 3 D. 4 将会得到什么结果? A.将会顺利通过编译,并将产生一个Student.class的类文件 B.编译时在//3处出错 C.编译时在//2处出错 D.编译时在//1处出错 10、下面选项中能把字符串转换成float类型的是?: B A.float value = new Float(str); 创建一个对象 B.float value = Float.parseFloat(str); C.float value = Float.floatValue(str); D.float value = (new Float()).parseFloat(str);

Java面试测试题并赋予答案

在main(String[] args)方法内是否可以调用一个非静态方法? 1.不能 同一个文件里是否可以有两个public类? 2.不能 方法名是否可以与构造器的名字相同? 3.可以。 public class Test { public Test(String iceboy) { System.out.println(iceboy); } public void Test(String iceboy) { System.out.println(iceboy); } public static void main(String[] args) { Test a = new Test("abc");//输出“abc” a.Test("iceboy");//输出“iceboy” } } 4.初始化了一个没有run()方法的线程类,是否会出错? 4.不会。 第一种方法:直接继承Thread类。 public class Test { public static void main(String[] args) { ThreadClass t = new ThreadClass(); t.start(); System.out.println("end");//输出“end” } } class ThreadClass extends Thread //Thread类已经实现了空的run()方法。 { } 第二种方法:实现Runnable接口 public class Test { public static void main(String[] args)

{ ThreadClass t = new ThreadClass(); Thread thread = new Thread(t); thread.start(); System.out.println("end"); } } class ThreadClass implements Runnable { public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。 { System.out.println("Threads"); } } 局部内部类是否可以访问非final变量? 不能访问局部的非final修饰的变量,可以访问局部的使用了final修饰的变量,可以访问成员变量(全局的)。 class Out { private String name = "https://www.360docs.net/doc/735083765.html,"; void print() { final String work = "out.local.work";//若不是final的则不能被Animal 使用. int age=10; class Animal //定义一个局部内部类.只能在print()方法中使用. //局部类中不能使用外部的非final的局部变量.全局的可以. { public void eat() { System.out.println(work);/ /ok //age=20;//error not final,编译时就会出错 System.out.println(name);/ /ok. } } Animal local = new Animal(); local.eat(); }

精选30道Java笔试题解答

1.下列java 程序输出结果为______。 1 2 3 4 int i=0; Integer j = new Integer(0); System.out.println(i==j); System.out.println(j.equals(i)); A. true,false B. true,true C. false,true D. false,false E. 对于不同的环境结果不同 F. 程序无法执行 2.下列java程序的输出结果为____。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class Example{ String str=new String("hello"); char[]ch={'a','b'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='c'; } } A. hello and ab B. hello and cb C. hello and a D. test ok and ab E. test ok and cb F. test ok and c 3.有关下述Java代码描述正确的选项是____。 1 public class TestClass {

java50道经典逻辑题

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序1】 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:咋一看不知道如何下手,但是你在草稿纸上写写分析一下,就很快发现其中的规律了package logic; import java.util.Scanner; public class RabbitNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("你想知道前几个月的兔子的数量"); int month = in.nextInt(); int[] mon = new int[month]; if(month < 3){ System.out.println("第" + month + "个月有1 对兔子,共2 只"); } else for(int i = 2; i < month; i++){ mon[0] = mon[1] = 1; mon[i] = mon[i - 1] + mon[i - 2]; System.out.printf("第%d 个月有%d 对兔子,共%d 只兔子\n", i + 1, mon[i], 2 * mon[i]); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 分析:如果知道素数是什么,该题就应该不难了 package logic; public class Prime { public static void main(String[] args) { System.out.print("101--200中的素数有:"); for(int i = 101; i <= 200; i++){ if(isPrime(i)) System.out.print(" " + i); } } //isPrime方法用来判断一个数是否是素数private static boolean isPrime(int i) { // TODO Auto-generated method stub for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0) return false; } return true; } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 分析:解决这个题目主要要知道怎么把一个数的各个位上的数拆分出来 package logic; import java.util.Scanner; public class NarcissisticNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("水仙花数有:"); for(int num = 100; num < 1000; num++){ if(isNarcissisticNum(num)) System.out.println(" " + num); } } //一个判断正整数是否为水仙花数的方法private static boolean isNarcissisticNum(int num) { // TODO Auto-generated method stub int a = num / 100; //分离出百位a int b = (num / 10) % 10; //分离出十位b int c = num % 10; //分离出个位 c int sum = a * a * a + b * b * b + c * c * c; if(sum == num) return true; else return false; } } 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 分析:按步骤实现就可以了(有多种实现方式,以下代码供参考。我也参考了别人的)package logic; import java.util.Scanner; public class PrimeFactorOfInteger { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个

java笔试题答案详解

java笔试题以及答案详解一 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的选项有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。

4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.360docs.net/doc/735083765.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1;

}while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 详解: 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 详解: 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 详解:

精选30道Java笔试题解答

精选30道Java笔试题解答 Java笔试题校园招聘程序员linkedlist 都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~~~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~ 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API docs吧:https://www.360docs.net/doc/735083765.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于https://www.360docs.net/doc/735083765.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/735083765.html,ng.Throwable,https://www.360docs.net/doc/735083765.html,ng.Error和https://www.360docs.net/doc/735083765.html,ng.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException 继承RuntimeException。 扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/735083765.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去 try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。 https://www.360docs.net/doc/735083765.html,ng.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。 2) Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions). checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。 unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去

java笔试题带答案

JA V A笔试题带答案 一.选择题 1.下面关于Java语言说法错误的是:() A.java语言是完全面向对象的B。java语言支持多继承 C.java语言支持多线程D。java语言最早是为消费电子产品领域设计的2.下面标识符中正确的是:() A.*123 B。12java C.continue D。java$next 3.下列关于注释语句的描述中,正确的一项是() A。以//开始的是多行注释语句 B。以结束的是单行注释语句 C。以结束的是可以用于生成帮助文档的注释语句 D。以结束的是单行注释语句 4.为了区分重载多态中同名的不同方法,要求()。 A)形式参数个数或者类型不同B)返回值类型不同 C)调用时用类名或对象名做前缀D)形式参数名称不同 5.下面定义数组的格式中正确的是:() A.int a[10] B。int a=new int[10] C.int []a=new int[5] D.int a[] 6.下面说法中不正确的是:() A.类是对象的抽象,对象是类的实例B。类是组成java程序的最小的单位C.java语言支持多继承D。java一个程序中只能有一个public类 7.定义类时,不可能用到的保留字是()。 A)private B)class C)extends D)implements

8.为AB 类的定义一个公共的构造函数,该方法头的形式为() A.void AB( ) B。public void method( ) C.public method ( ) D。public AB( ) 9.下面说法中不正确的是:() A.java中一个类只允许实现一个接口B。抽象类中允许有非抽象方法的存在 C.类变量(实例变量)可以直接用类名调用D。通过super可以调用基类的构造函数 10.容器JFrame 默认使用的布局编辑策略是() A.BorderLayout B。FlowLayout C。GridLayout D。CardLayout 11.以下哪个表达式是不合法的() A.String x=”Hello”; int y=9; x+=y; B.String x=”Hello”; int y=9; if(x= =y) { } C.String x=”Hello”; int y=9; x=x+y; D.String x=null; int y=(x!=null)&&(x.length()>0) 12.class person { public int addvalue(int a,int b) { int s; s=a+b; return s; }

精选30道java题带答案

下面都是我自己的答案非官方,仅供参考 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API docs吧:https://www.360docs.net/doc/735083765.html,/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于https://www.360docs.net/doc/735083765.html,ng.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记得,反正不正确 答案:A 解析:Java异常的基类为https://www.360docs.net/doc/735083765.html,ng.Throwable,https://www.360docs.net/doc/735083765.html,ng.Error和https://www.360docs.net/doc/735083765.html,ng.Excepti on继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。 扩展:错误和异常的区别(Error vs Exception) 1) https://www.360docs.net/doc/735083765.html,ng.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。

https://www.360docs.net/doc/735083765.html,ng.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。 2) Error和RuntimeException 及其子类都是未检查的异常(unchecked excep tions),而所有其他的Exception类都是检查了的异常(checked exceptions). checked exceptions:通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。unchecked exceptions:通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期,具有不确定性,主要是由于程序的逻辑问题所引起的。比如ArrayI ndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。因此,面对Errors和uncheck ed exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。 RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。 处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。其他

2017年最新Java经典笔试面试题笔试题目及答案

2017年最新Java经典笔试面试题 2017年最新Java经典笔试面试题 想要成为java程序员可不是容易的事情,下面YJBYS小编为大家精心搜集了关于Java 经典笔试的面试题,欢迎大家参考借鉴,希望可以帮助到大家! 一.选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{

public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(https://www.360docs.net/doc/735083765.html,); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用super 和this关键字时,以下描述正确的是(A) A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中

D) this()和super()可以在static环境中使用,包括static方法和static语句块 4. 以下对封装的描述正确的是(D) A) 只能对一个类中的方法进行封装,不能对属性进行封装 B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用 C) 封装的意义不大,因此在编码时尽量不要使用 D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性 5. 以下对继承的描述错误的是(A) A) Java中的继承允许一个子类继承多个父类 B) 父类更具有通用性,子类更具体 C) Java中的继承存在着传递性 D) 当实例化子类时会递归调用父类中的构造方法 6. 以下程序的运行结果是(D) class Person{ public Person(){ System.out.println(“this is a Person”);

java复习题单选题和答案Word版

1.方法定义和常量值的集合是( ) (A).单元 (B). 接口 (C).成员 (D).变量 2.下列不属于条件控制语句的是( ) (A).for语句 (B).if语句 (C).if....else语句 (D).if语句的扩充形式 3.下列说法正确的是( ) (A).不需定义类,就能创建对象 (B).属性可以是简单变量,也可以是一个对象 (C).属性必须是简单变量 (D).对象中必有属性和方法 4.下面这行代码 String [][]s=new String[10][]; 的正确陈述是( ) (A).该行代码非法 (B).s 是一10行10列的数组 (C).s 是一包含10个一维数组的二维数组 (D).s中每个元素设为"" 5.下面不是面向对象技术特点的是( ) (A).模块化 (B).封装 (C).继承性 (D).多态性 6.下面概念中,不属于面向对象方法的是__ ___. (A).对象 (B).继承 (C).类 (D).过程调用 7.下面不是合法Java标识符的是( ) (A).ab (B).$3 (C).3ab (D).ab3 8.接口中的方法被默认是什么的( ) (A).private (B).public (C).protected (D).package 9.Java语言的编译器命令是( ) (A).javac (B).java (C).javaw (D).jar 10.下面的不是Java语言特点的是( ) (A).动态性 (B).面向对象 (C).编辑型 (D).多线程 11.关于实例方法和类方法的区别,下列描述正确的是( ) (A).实例方法是不用创建类的实例就可以直接调用 (B).类方法是通过static关键字声明的方法 (C).实例方法属于类 (D).类方法是通过new以后才能调用的方法 12.如果只运行别人的Java程序,需要安装的是( ) (A).WORD (B).JRE (C).JDK (D).JVM 13.使用哪个关键字来定义一个接口( )

相关文档
最新文档