您的当前位置:首页《Java基础入门》复习资料(打印).doc

《Java基础入门》复习资料(打印).doc

2021-06-12 来源:爱问旅游网
《Java基础入门》选择题

1•以下选项中,哪些属于JDK工具?(多选)

AJava编译器BJava运行工具 CJava文档生成工具 DJava打包工具 2. Java属于以下哪种语言?

A. 机器语言 B.汇编语言 C.高级语言

D.以上都不对

3. 下面哪种类型的文件可以在Java虚拟机中运行?

A.

java

B.jre C.exe D.class

4. 安装好JDK后,在其bin冃录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?

AJava文档制作工具

B.Java解释器 CJava编译器 DJava启动器

5. 如果jdk的安装路径为:d:\\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令, 将环境变量path设置为以下哪个选项?

A. d:\\jdk; B. d:\\jdk\\bin;

C.d:\\jre\\bin; D.d:\\jre;

6•以下选项中,哪些属于合法的标识符?(多选)

A. Hello_World B.class C.123username D.user namel23

7. 关于方法重载的描述,以下选项中哪些是止确的?(多选)

A.

方法名必须一致 B.返回值类型必须不同 C.参数个数必须一致

D.参数的个数或类型不一致

8. 以下关于变量的说法错误的是?

A. 变量名必须是一个有效的标识符 B. 变量在定义时可以没有初始值

C. 变量一旦被定义,在程序中的任何位置都可以被访问

D. 在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明 9•以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选)

A. int B.byte

C.char D.short

10. 假设int x = 2,三元表达式x>0?x+l:5的运行结果是以下哪一个? A. O B.2 C.3 D.5 11. 下面的运算符中,用于执行除法运算是哪个? A.

/

B.\\

C.%

D.*

12. 下列语句哪些属于循环语句?(多选)

A. for语句 B.if语句 C.while语句 D.switch语句 13. 下面哪种写法可以实现访问数组arr的第1个元素?

A. arr[0] B.arr(O) C.arr[l] D.arr(l)

14. 以下哪个选项可以正确创建一个长度为3的二维数组?

A. new int [2][3]; B.new int[3][]; C. new int[][3]; D.以上答案皆不对 15. 请先阅读下面的代码。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else {

y-;

需要}

System.out.pri ntln (\"y=\" + y);

上面一段程序运行结束时,变量y的值为下列哪一项?

A. A.

l

B.2

C.3 D.switch 语句

方括号[]B.花括号{} C.双引号“”

D.圆括号()

16. 类的定义必须包含在以下哪种符号之间?

17. 下面哪一个是正确的类的声明?

A. public void HH {•••} B.public class Move() {•••} C.public class void number{} D. public class Car {••-} 18. 在以下什么情况下,构造方法会被调用?

A.

类定义时

B.创建对象时

C.调用对象方法时 D.使用对象的变量时

19. 下而对于构造方法的描述,正确有哪些?(多选)

A. 方法名必须和类名相同

B. 方法名的前面没有返回值类型的声明 C. 在方法中不能使用return语句返冋一个值

D•当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在 20. 使用this调用类的构造方法,下而的说法正确的是?(多选)

A. 使用this调用构造方法的格式为this([参数1,参数2…]) B. 只能在构造方法中使用this调用其它的构造方法 C. 使用this调用其它构造方法的语句必须放在第一行 D. 不能在一个类的两个构造方法中使用this互相调用 21. 下面哪些可以使用static关键字修饰?侈选)

A.

成员变量

B.局部变量

C.成员方法 D.成员内部类

22. 关于内部类,下面说法正确的是?(多选)

A. 成员内部类是外部类的一个成员,可以访问外部类的其它成员 B. 外部类可以访问成员内部类的成员

C. 方法内部类只能在其定义的当前方法中进行实例化 D. 静态内部类中可以定义静态成员,也可以定义非静态成员 23. 下面对于单例设计模式的描述,正确的是?(多选)

A. 类中定义一个无参的构造方法,并且声明为私有

B. 在内部创建一个该类的实例对象,使用静态变量引用该实例对象 C. 使用private修饰静态变量,禁止外界直接访问 D. 定义静态方法返回该类实例 24. 请先阅读下面的代码 public class Test {

public Test(){

System.out.println(”构造方法一被调用了 }

public Test(i nt x){

this();

System.out.println(”构造方法二被调用了 ”); }

public Test(boolean b){

this(l);

System.out.println(”构造方法三被调用了 ”);

public static void main(String[] args) {

Test test = new Test(true); }

}

上面程序的运行结果为下列哪一项?

A.构造方法一被调用了 C.构造方法三被调用了

B.构造方法二被调用了 D.以上三个选项之和

25.0uter类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下卩4种方式哪 一种是正确的?

A」nner in = new Inner()

C.Outer.lnner in 二 new Outer.Inner(); A.多重 A.try

B.单一 C.双重 B.catch

C.th rows

B」nner in = new Outer.Inner();

D.Outer.lnner in 二 new Outer().new lnner(); D.不能继承 D.throw

26. 在类的继承关系中,需要遵循以下哪个继承原则?

27. 在Java语言中,以下哪个关键字用于在方法上声明抛岀异常? 28. 关于super关键字以下说法哪些是正确的?(多选)

A. super关键字可以调用父类的构造方法 B. super关键字可以调用父类的普通方法 C. super与this不能同时存在于同一个构造方法中 D. super与this可以同时存在于同一个构造方法中 29. 以下说法哪些是正确的?(多选)

AJava语言中允许一个类实现多个接口 BJava语言中不允许一个类继承多个类

CJava语言中允许一个类同时继承一个类并实现一个接口 DJava语言中允许一个接口继承一个接口

30. 类中的一个成员方法被下而哪个修饰符修饰,该方法只能在本类被访问?

A.public B.protected C.private D.default 31. 关于抽象类的说法哪些是正确的?(多选)

A. 抽象类中可以有非抽象方法。

B. 如果父类是抽象类,则子类必须重写父类所有的抽象方法。 C. 不能用抽象类去创建对象。 D. 接口和抽象类是同一个概念。

32. 在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?

A.in herits

B.implements C.extends

D.mod 讦 ies D.java」ang

33.System类位于以下哪个包中?

A.java.io B.java.util C.java.awt 34. 已知类的继承关系如下: class Employee;

class Manager extends Employee; class Director extends Employee; 则以下语句能通过编译的有哪些?

A. Employee e二new Manager(); C.Director d二new Employee();

B.Director d二new Manager(); D.Manager m二new Director();

35. 编译运行下面的程序,结果是什么?

public class A {

public static void main(String[] args) {

B b = new B(); b.test(); }

void test() {

System.out.print(\"AH); }

}

class B extends A {

void test() {

super.test();

System.out.print(\"BH); } }

A.产生编译错误

C.代码可以编译运行,但没有输出 36. Thread类位于下列哪个包中?

A.java.io

B.java」ang

C.java.util D.java.awt

37. 关于线程的创建过程,下面四种说法正确的有哪些?(多选)

A. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法 B. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法 C. 定义一个实现Runnable接I I的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread 类的构造方法来创建Thread对象,调用Thread对象的start()方法

D. 定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法 38. 对于通过实现Runnable接口创建线程,下而说法正确的有哪些?(多选)

A. 适合多个相同程序代码的线程去处理同一个资源的情况

B. 把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想 C. 可以避免由于Java的单继承带来的局限性 D. 编写简单,可以不通过Thread类直接创建线程

39. 对于线程的生命周期,下而四种说法正确的有哪些?(多选)

A. 调用了线程的start()方法,该线程就进入运行状态(就绪,还要获得CPU使用权)

B. 线程的run()方法运彳亍结束或被未catch的InterruptedException等界常终结,那么该线程进入死亡状态 C. 线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像 引用其它对象一样引用它

D. 线程进入死亡状态后,调用它的start()方法仍然可以重新启动 40. 对于死锁的描述,下面四种说法正确有哪些?(多选)

A.当两个线程互相等待对方释放同步锁时会发生死锁 BJava虚拟机没有检测和处理死锁的措施 C. 一旦出现死锁,程序会发生异常

D. 处于死锁状态的线程处于阻塞状态,无法继续运行 41. 下面四个选项小,哪些是线程进入阻塞状态的原因?(多选)

A. 线程试图获取某个对象的同步锁,而该锁被其它线程持有

B.代码可以编译运行,并输出结果AB D.编译没有错误,但会产生运行时异常

B. 线程调用了另一个线程的join()方法

C. 当线程调用了一个阻塞式的10方法 D. 线程调用 了 setDaemon(boolean b)方法

42. 线程调用sleep()方法后,该线程将进入以下哪种状态?

A.就绪状态

B.运行状态

C.阻塞状态

D•死亡状态

43. 在以下哪种情况下,线程进入就绪状态?

A.线程调用了 sleep()方法时B.线程调用了 join()方法(终止) C.线程调用了 yield()方法时D.线程调用了 notify。方法?? 44. 下面卩q个选项中,对线程同步的目的描述正确的有哪些?(多选)

A. 锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误 B. 提高线程的执行效率 C. 让线程独占一个资源 D. 让多个线程同时使用一个资源

45. 对于wait()方法,下面说法正确的是?(多选)

A. wait()方法的调用者是同步锁对象 B. wait()方法使线程进入等待状态

C. 调用同一锁对象的notify(咸notifyAII()方法可以唤醒调用wait()方法等待的线程 D. 调用wait()方法的线程会释放同步锁对象 46. 先阅读下面的程序片段:

String str = \"abccdefcdh\"; String[] arr = str.split(\"c\"); System.out.println(arr.length); 程序执行后,打印的结果是几?

A.2个 A.ceil() A.int A.cd A.false

B.3个 B.floor() B.string B.de B.O

C.-l C.4个 C.abs()

D.5个 D.random()

47. 以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个? 48. Random对象能够生成以下哪种类型的随机数?

C.double D.A 和 C C.d

D.e

D.以上答案都不对

49.Strings = \"abcdedcba\";则s.substring(3, 4)返回的字符串是以下选项中的哪个? 50. 假若indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个? 51. 要产生[20, 999]之间的随机整数可以使用以下哪个表达式?

A.(int)(20+Math.random()*97) B.20+(int)(Math.random()*980) C.(int)Math.random()*999 A.roundf)四舍五入 C.floor()小于参数最大整数

D.20+(int)Math.random()*980 B.min()

D.ceil()大于参数最小整数

52. 以下Math类的方法中,・4.4通过哪个方法运算后,结果为・5.0?

53. 下面的程序段执行后,输出的结果是以下哪个选项?

StringBuffer buf=new StringBuffer(HBeijing2008n); buf・insert(7,”@ ”); System.out.println(buf.toString());

A.Beijing@2008 B.@Beijing2008 C.Beijing2008@ D.Beijing#2008 54. 阅读下面的程序:

public class test {

public static void main(String args[]) {

int i; float f = 2.3f; double d = 2.7;

i =((int)Math.ceil(f)) * ((int)Math.round(d)); System.out.println(i); } }

程序执行

A.9

运行结果为以下哪个选项? B.5

C.6

D.6.1

55. 先阅读下而的程序片段:

String strl=new Stri ng(”java”); String str2=new String(” java”);

Strin gBuffer str3=new Strin gBuffer(\"java\");

对于上述定义的变量,以下表达式的值为true的是哪个?

A.strl==str2; B.strl.equals(str2); C.strl==str3; D.以上都不对

56. 要想保存具有映射关系的数据,可以使用以下哪些集合?(多选)

A.ArrayList B.TreeMap C.HashMap D.TreeSet 57Java语言中,集合类都位于哪个包中?

A.java.util B.java」ang C .java, array D.java.collect! ons

58. 使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?

A.next() B.hash() C.hasPrevious() D.hasNext()

59. 关于foreach循环的特点,以下说法哪些是正确的?(多选)

A. foreach循环在遍历集合时,无需获得容器的长度

B. foreach循环在遍历集合时,无需循环条件,也无需迭代语句 C. foreach循环在遍历集合时非常繁琐

D. foreach循环的语法格式为:for(容器中元索类型临时变量:容器变量) 60. 在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?

A.HashMap

B .TreeSet

C.Properties D.TreeMap

61. 使用Enumeration遍历集合时,需要使用以下哪些方法?(多选)

A.hasMoreElements() B.nextElement() C.next() D.hashNext()

62. 要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用以下哪个集合?

A.LinkedList B.ArrayList C.hashSet D. TreeSet

63. 下列哪些说法是正确的?(多选)

A.LinkedList集合在增删元素时效率较高 C.HashMap不允许出现一对null键null值

B. ArrayList集合在查询元素时效率较高

D.HashSet集合中元素可重复并且无序 (多选)

LinkedList集合小定义的?

A.getLast() B.getFirst() C.remove (int index) D.next()

以下哪些方法是

65. 获取单列集合中元素的个数可以使用以下哪个方法?

A.length() B.size() C.get(int index) D.add(Object obj) 66. 下而选项中,哪些是标准输入输出流?(多选)

A.System. In

B.System.Out

C」n putStream

D.OutputStream

67. 以下选项中,哪个是FileOutputStream的父类?

A.File B.FileOutput C.Outputstream D.InputStream

68. File类小以字符串形式返回文件绝对路径的的方法是?

A.getParent()

B.getName() C.getAbsolutePath() D.getPath()

D.GB2312

69. 下面哪些是常用的字符码表?(多选)

A.ASCII B.UTF-8 C.ISO8859-1

70. 以下创建RandomAccessFile类实例对象的代码,哪些是正确的?(多选)

A. RandomAccessFile(newFile( \"D:\\\\itcast\\\\dirl\\\est.java”),” rw”) B. RandomAccessFile( u D:\\\\itcast\\\\dirl\\\est.java v,” r”) C. RandomAccessFilef u D:\\\\itcast\\\\dirl\\\est.java v ) D. RandomAccessFile( u D:\\\\itcast\\\\dirl\\\est.java,” wr”) 71. 以下哪些属于Inputstream类的方法?(多选)

A.int read(byte[])

B.void flush()

C.void close()

D.available()

D.FileReader

72. 以下选项中,哪个流中使用了缓冲区技术?

A.BuffereOutputStream B. Filel nputStream C.DataOutputStream 73. 以下选项中,

A.boolean

以下选项中,

哪个是File类delete()方法返回值的类型? B.

int

C.String D. Integer

D.Seque nceln putStream

哪个文件操作类可以实现一次读入多个文件?

A.FileReader B.BufferedReader C.FilelnputStream

75.以下对File类的public boolea isFile()方法的描述,哪个是正确的?

A.判断该File对象所对应的是否是文件 B.判断该File对象所对应的是否是目录。 C.

返回文件的最后修改时间 D.在当前目录下生成指定的目录

D.ServerSocket

7&使用UDP协议通信时,需要使用哪个类把要发送的数据打包?

A.Socket B.DatagramSocket C.DatagramPacket

77.以下哪个是serversocket类用于接收来自客户端请求的方法?

A.accept() B.getOutputStream() C.receive() D.get() 7&以下说法哪些是正确的?(多选)

A. TCP连接中必须要明确客户端与服务器端。

B. TCP协议是面向连接的通信协议,它提供了两台计算机之间可靠无差错的数据传输。 C. UDP协议是面向无连接的协议,可以保证数据的完整性。

D. UDP协议消耗资源小,通信效率高,通常被用于音频、视频和普通数据的传输。 79. 以下哪个类用于实现TCP通信的客户端程序?

A.ServerSocket B.Socket

C.Clie nt

D.Server

80. 进行UDP通信时,在接收端若要获得发送端的IP地址,可以使用DatagramPacket的哪个方法?

A.getAddress() B.getPort() C.getName() D.getData()

81. 以下哪个方法是Datagramsocket类用于发送数据的方法?

A.receivef) B.accept() C.set() A.se nd()

B.receive() C.close()

D.send() D.conne ct()

82. 在程序运行时,DatagramSocket的哪个方法会发生阻塞? 83. TCP协议的“三次握手”中,第一次握手指的是什么?

A. 客户端再次向服务器端发送确认信息,确认连接

B. 服务器端向客户端回送一个响应,通知客户端收到了连接请求 C. 客户端向服务器端发出连接请求,等待服务器确认 D•以上答案全部错误

《Java基础入门》判断题

l.Java语言不区分大小写。()

2.0XC5表示的是一个十六进制整数。()

3. continue语句只用于循环语句中,它的作用是跳出循环。() 4. /*™*冲可以嵌套〃注释,但不能嵌套/*''、'*/注释。() 5. -5%3的运算结果是2。(

6. 在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。() 7Java的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个 默认的构造方法。()

8. 声明构造方法时,不能使用private关键字修饰。()

9. 类小的static修饰的变量或方法,可以使用类名或对象的引用变量访问。() 10. 方法内部类中不能访问外部类的成员变量。()

.抽象方法必须定义在抽象类中,所以抽象类中的方法类中的方法都是抽象方法。() 12Java中被final关键字修饰的变量不能被重新复制。() 13. 不存在继承关系的情况下,也可以实现方法重写。() 14. package声明语句应当为Java源文件中的第一条语句。() 15. 接口中只能定义常量和抽象方法。()

当创建一个线程对象时,该对象表示的线程就立即开始运行。() 17.如果前台线程全部死亡,后台线程也会自动死亡。() 同步代码块中的锁对象可以是任意类型的对象。() 19. 静态方法不能使用synchronized关键字来修饰。() 20. 线程结束等待或者阻塞状态后,会进入运行状态。()

21.String对象和StringBuffer对象都是字符串变量,创建后都可以修改。() 22.用运算符“乂”比较字符串对象时,如果两个字符串的值相同,结果为true« () 23.System类中的currentTimeMillis()方法返回一个long类型的值。( 24.Date> Calendar 以及 DateFormat 类都位于 java.util 包中。( 换此字符串中出现的所有srtl得到的。()

26,Set集合是通过键值对的方式来存储对象的。()

27. 集合中不能存放基本数据类型,而只能存放引用数据•类型。()

28. 如果创建的TreeSet集合中没有传入比较器,贝0该集合中存入的元索需要实现Comparable接口。() 29. 使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。()

30. LinkedList在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元素节点的 引用。()

31. 如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。() 32. 装饰设计模式中,装饰对象应该包含一个被装饰对象的引用。()

33. 使用Objectinputstream与ObjectOutputStream类来读取或存储的对象必须要实现Serializable接I I,否则 程序将出现 NotSerializableException 异常。(

25.String 类的方法 replace (CharSequence srtlz CharSequence srt2)返回—个新的字符串,它是通过用 srt2 替

34.Inputstream类的close()方法是用于关闭流并且释放流所占的系统资源。()

35. —般来说,把字符转换成计算机识别的字节序列称为解码,而把字节序列转换为普通人能看懂的明文字 符称为编码。()

36. 由于UDP是面向无连接的协议,可以保证数据的完整性,因此在传输重要数据时建议使用UDP协议°()

37. 在网络通信中,对数据传输格式、传输速率、传输步骤等作了统一规定,只有通信双方共同遵守这个规

定才能完成数据的交互,这种规定称为网络传输协议。()

38•在创建发送端的DatagramPacket对象时,需要指定发送端的目标IP地址和端口号。( 39.IPV4版本的IP地址使用4个字节来表示,IPv6版本的IP地址使用x8个字节来表示。( 40.使用TCP协议通信时,通信的两端以10的方式进行数据的交互。()

因篇幅问题不能全部显示,请点此查看更多更全内容