广东开放大学Java高级语言程序设计(本)作业与答案
广东开放大学Java高级语言程序设计(本)作业与答案Java高级语言程序设计(本)学校:无平台:广东开放大学题目如下:1. 下面关于Java程序的描述中,错误的是( )A. .java格式的源文件是用来编译的B..class格式的文件是用来运行的C. 不同操作系统上的Java虚拟机是相同的D. Java程序运行时,必须经过编译和运行两个步骤。答案: 不同操作系统上的Java虚拟机是相同的2. 下面关于path和classpath的说法中,错误的是( )A. classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录B. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同C. 只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类D. path用来指定java虚拟机(JVM)所在的目录答案: 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同3. 下列关于main方法的描述中,正确的是( )A. main方法可以保证Java程序独立运行B. 一个Java程序不一定要有main方法C. 一个Java程序的主方法是main方法D. 在Java程序中,必须要有main方法答案: main方法可以保证Java程序独立运行# 一个Java程序不一定要有main方法#一个Java程序的主方法是main方法4. JDK安装的时候不可以修改安装目录。答案: 错误5. Java核心源码包存放在JDK安装目录的bin目录下。答案: 错误6. 下面关于Java程序的描述中,错误的是( )A. Java程序运行时,必须经过编译和运行两个步骤。B..class格式的文件是用来运行的C. .java格式的源文件是用来编译的D. 不同操作系统上的Java虚拟机是相同的答案:不同操作系统上的Java虚拟机是相同的7. 下面关于path和classpath的说法中,错误的是()A. 只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类B. classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C. path用来指定java虚拟机(JVM)所在的目录D. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同答案: 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同8. 下列关于main方法的描述中,正确的是( )A. 一个Java程序不一定要有main方法B. main方法可以保证Java程序独立运行C. 在Java程序中,必须要有main方法D. 一个Java程序的主方法是main方法答案: 一个Java程序不一定要有main方法# main方法可以保证Java程序独立运行#一个Java程序的主方法是main方法9. 下列关于注释作用的描述中,错误的是()A. 帮助整理编程思路B. 可以帮助调试程序C. 可以对程序进行说明D. 会参与编译答案: 会参与编译10. 表达式7%(-3)的运算结果为( )A. -2B. 2C. 1D. -1答案: 111. 下列选项中,用于引入包的关键字是( )A. classB. staticC. packageD. import答案: import12. 请阅读下面的程序public class Test{ public static void main(String[] args){int x; int y; for (x = 1, y = 1; x<= 100; x++) { if (y >= 20) { break; } if (y % 3 == 1) { y += 3;continue; } y -= 5; } System.out.println("x=" + x + ",y=" +y); }}下列选项中,哪一个是程序的运行结果( )A. x=8,y=22B. x=22,y=8C. x=3,y=0D. x=0,y=3答案: x=8,y=2213. 请阅读下面的程序public class Test{ public static void main(String[] args) {int a[ ] = { 2, 0, 4, 1, 8, 3, 5 }; int temp; for (int i = 0; i < a.length -1; i++) { for (int j = a.length - 1; j > i; j--) { if (a < a) {temp = a; a = a; a = temp; } } } for (Integer i : a) {System.out.print(i); } }}下列选项中,哪个是程序的运行结果()A.8543210B.0123458C.2041835D. 以上答案都不对答案: 012345814. 关于continue语句的使用范围,下列说法正确的是( )A. continue语句可以在循环语句中使用B. continue语句可以在选择语句中使用C. continue语句可以在条件语句中使用D. 不输出任何内容答案:continue语句可以在循环语句中使用15. 下列有关数组中元素位置交换的描述,错误的是( )A. 位置交换后数组的角标顺序不会发生改变B. 位置交换的过程中需要借助一个中间变量C. 位置交换的过程至少需要三步D. 位置交换后数组的角标顺序发生了改变答案:位置交换后数组的角标顺序发生了改变16. 下列关于default语句的说法中,正确的是( )A. default不是swicth语句中必须的。B. 一般情况下,default放置在switch语句的最后面。C. 在switch语句中,default必须存在。D. default代表的是默认要执行的语句,也就是没有匹配就执行default。答案: default不是swicth语句中必须的。# 一般情况下,default放置在switch语句的最后面。#default代表的是默认要执行的语句,也就是没有匹配就执行default。17. 下列关于方法重载的说法中,正确的是( )A. 形式参数的个数不同,数据类型不同。B. 形式参数的个数不同。C. 形式参数的个数相同,数据类型顺序不同。D. 形式参数的个数相同,数据类型不同。答案:形式参数的个数不同,数据类型不同。# 形式参数的个数不同。# 形式参数的个数相同,数据类型顺序不同。#形式参数的个数相同,数据类型不同。18. 关键字是编程语言里事先定义好并赋予了特殊含义的单词。答案: 正确19. 字符类型变量所占存储空间为2个字节。答案: 正确20. ‘\u0000’表示一个空白字符。答案: 正确21. continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。答案: 正确22. 以下标识符中,不合法的是( )A. classB. $innerC. login_1D. user答案: class23. 下列选项中,不属于基本数据类型的是( )A. charB. shortC. StringD. boolean答案: String24. 下列关于注释作用的描述中,错误的是()A. 可以帮助调试程序B. 会参与编译C. 可以对程序进行说明D. 帮助整理编程思路答案:会参与编译25. 表达式7%(-3)的运算结果为( )A. 2B. 1C. -1D. -2答案: 126. 下列选项中,用于引入包的关键字是( )A. classB. packageC. importD. static答案: import27. 请阅读下面的程序public class Test{ public static void main(String[] args){int x; int y; for (x = 1, y = 1; x<= 100; x++) { if (y >= 20) { break; } if (y % 3 == 1) { y += 3;continue; } y -= 5; } System.out.println("x=" + x + ",y=" +y); }}下列选项中,哪一个是程序的运行结果( )A. x=8,y=22B. x=22,y=8C. x=3,y=0D. x=0,y=3答案: x=8,y=2228. 请阅读下面的程序public class Test{ public static void main(String[] args) {int a[ ] = { 2, 0, 4, 1, 8, 3, 5 }; int temp; for (int i = 0; i < a.length -1; i++) { for (int j = a.length - 1; j > i; j--) { if (a < a) {temp = a; a = a; a = temp; } } } for (Integer i : a) {System.out.print(i); } }}下列选项中,哪个是程序的运行结果()A.8543210B.0123458C.2041835D. 以上答案都不对答案: 012345829. 关于continue语句的使用范围,下列说法正确的是( )A. 不输出任何内容B. continue语句可以在条件语句中使用C. continue语句可以在选择语句中使用D. continue语句可以在循环语句中使用答案: continue语句可以在循环语句中使用30. 下列有关数组中元素位置交换的描述,错误的是( )A. 位置交换后数组的角标顺序发生了改变B. 位置交换的过程中需要借助一个中间变量C. 位置交换的过程至少需要三步D. 位置交换后数组的角标顺序不会发生改变答案:位置交换后数组的角标顺序发生了改变31. 下列关于default语句的说法中,正确的是( )A. default代表的是默认要执行的语句,也就是没有匹配就执行default。B. default不是swicth语句中必须的。C. 一般情况下,default放置在switch语句的最后面。D. 在switch语句中,default必须存在。答案: default代表的是默认要执行的语句,也就是没有匹配就执行default。#default不是swicth语句中必须的。# 一般情况下,default放置在switch语句的最后面。32. 下列关于方法重载的说法中,正确的是( )A. 形式参数的个数相同,数据类型顺序不同。B. 形式参数的个数不同,数据类型不同。C. 形式参数的个数相同,数据类型不同。D. 形式参数的个数不同。答案:形式参数的个数相同,数据类型顺序不同。# 形式参数的个数不同,数据类型不同。# 形式参数的个数相同,数据类型不同。# 形式参数的个数不同。33. 以下标识符中,不合法的是( )A. login_1B. $innerC. userD. class答案: class34. 下列选项中,不属于基本数据类型的是( )A. StringB. charC. booleanD. short答案: String35. 请阅读下面的代码String s1=new String(“abc”);String s2=s1.intern();Strings3=”abc”;System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false true falseB. false false falseC. false true trueD. false false true答案: false true false36. 下面选项中不是面向对象的特征的是( )A. 继承B. 重构C. 多态D. 封装答案: 重构37. float类型成员变量的默认初始化值是( )A. falseB. nullC. 0D. 0.0F答案:0.0F38. 下列关键字中,用于创建类的实例对象的是( )A. privateB. classC. voidD. new答案: new39. class Demo{Demo(){ }}上述代码中定义了一个Demo类,下列构造方法可以存在于Demo类中的是( )A. public Demo(){}B. private Demo(){}C. Demo(int age,String name)(){}D. Demo(){}答案: Demo(int age,String name)(){}40. 请阅读下面的程序,程序的运行结果是()。class Person { String name; intage; public Person() {} public Person(String n, int a) { name = n; age = a; }public void show() { System.out.print(name + "---" + age +""); }}public class Test { public static void main(String[] args) { Personp1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); }}A. null---0周星驰---27B. null---27周星驰---27C. 周星驰---0null---27D. 周星驰---27null---27答案: null---0周星驰---2741. 下列关于this关键字的说法中,错误的是( )A. this可以出现在任何方法中B. this相当于一个引用,可以通过它调用成员方法与属性C. this可以解决成员变量与局部变量重名问题D. this出现在成员方法中,代表的是调用这个方法的对象答案:this可以出现在任何方法中42. 静态方法运行时,在哪个内存区域中( )A. 方法区B. 寄存器C. 堆内存D. 栈内存答案:栈内存43. 下列关于封装的描述中,正确的是( )A. 封装能提高代码的复用性B. 方法和类都可以称为封装体C. 以上说法均错误D. 封装隐藏了程序的实现细节,同时对外提供了特定的访问方式答案:封装能提高代码的复用性# 方法和类都可以称为封装体# 封装隐藏了程序的实现细节,同时对外提供了特定的访问方式44. 下列关于构造方法和普通方法的描述中,正确的是( )A. 在同一个类中,构造方法必须位于普通方法之前B. 构造方法中不能指定参数,而普通方法可以指定参数C. 构造方法能够在实例对象的同时进行初始化D. 构造方法不能指定返回值类型,普通方法可以指定返回值类型答案:构造方法能够在实例对象的同时进行初始化# 构造方法不能指定返回值类型,普通方法可以指定返回值类型45. 在类中声明的变量称为成员变量,在方法中声明的变量称为局部变量。答案: 正确46. 创建对象时,jvm会找到对应的.java文件,通过.java文件创建对象。答案:错误47. 只要为一个类定义了成员变量,则系统会在这个类的准备阶段或创建这个类的实例时进行默认初始化,初始化值根据其类型决定。答案: 正确48. 类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,成员方法用于描述对象的行为。答案: 正确49. 静态变量可以被类和对象调用。答案: 正确50. Java中可以通过this关键字解决成员变量与局部变量名称冲突问题。答案: 正确51. 如果在一个类中没有定义构造方法,那么系统会自动为这个类创建一个默认的构造方法。答案: 正确52. 垃圾回收机制保证了Java程序不会出现内存溢出。答案: 错误53. 请阅读下面的代码String s1=new String(“abc”);String s2=s1.intern();Strings3=”abc”;System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false true falseB. false false falseC. false true trueD. false false true答案: false true false54. 下面选项中不是面向对象的特征的是( )A. 继承B. 多态C. 封装D. 重构答案: 重构55. float类型成员变量的默认初始化值是( )A. 0.0FB. falseC. nullD. 0答案: 0.0F56. 下列关键字中,用于创建类的实例对象的是( )A. classB. newC. privateD. void答案: new57. class Demo{Demo(){ }}上述代码中定义了一个Demo类,下列构造方法可以存在于Demo类中的是( )A. public Demo(){}B. private Demo(){}C. Demo(int age,String name)(){}D. Demo(){}答案: Demo(int age,String name)(){}58. 请阅读下面的程序,程序的运行结果是()。class Person { String name; intage; public Person() {} public Person(String n, int a) { name = n; age = a; }public void show() { System.out.print(name + "---" + age +""); }}public class Test { public static void main(String[] args) { Personp1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); }}A. null---0周星驰---27B. null---27周星驰---27C. 周星驰---0null---27D. 周星驰---27null---27答案: null---0周星驰---2759. 下列关于this关键字的说法中,错误的是( )A. this出现在成员方法中,代表的是调用这个方法的对象B. this相当于一个引用,可以通过它调用成员方法与属性C. this可以出现在任何方法中D. this可以解决成员变量与局部变量重名问题答案:this可以出现在任何方法中60. 静态方法运行时,在哪个内存区域中( )A. 栈内存B. 寄存器C. 堆内存D. 方法区答案:栈内存61. 下列关于封装的描述中,正确的是( )A. 封装隐藏了程序的实现细节,同时对外提供了特定的访问方式B. 以上说法均错误C. 封装能提高代码的复用性D. 方法和类都可以称为封装体答案:封装隐藏了程序的实现细节,同时对外提供了特定的访问方式# 封装能提高代码的复用性# 方法和类都可以称为封装体62. 下列关于构造方法和普通方法的描述中,正确的是( )A. 构造方法能够在实例对象的同时进行初始化B. 构造方法不能指定返回值类型,普通方法可以指定返回值类型C. 在同一个类中,构造方法必须位于普通方法之前D. 构造方法中不能指定参数,而普通方法可以指定参数答案:构造方法能够在实例对象的同时进行初始化# 构造方法不能指定返回值类型,普通方法可以指定返回值类型63. Person p1 = new Person();Person p2 = p1;这两句代码创建了个对象。答案: 264. 定义一个类,需要使用关键字。答案: class65. final修饰符不可以修饰如下哪个内容( )A. 方法B. 变量C. 类D. 接口答案: 接口66. 下列关于super关键字的说法中,正确的是( )A. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性B. super关键字是在子类对象内部指代其父类对象的引用C. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类D. 子类通过super关键字只能调用父类的属性,而不能调用父类的方法答案:super关键字是在子类对象内部指代其父类对象的引用67. 如果父类的方法是静态的,则子类的方法被( )修饰才能覆盖父类的静态方法 。A. protectedB. staticC. privateD. final答案: static68. 下列关于接口的说法中,错误的是( )A. 接口中的变量默认使用“public static final”来修饰B. 接口中的所有方法都是抽象方法C. 接口中定义的方法默认使用“public abstract”来修饰D. 接口中定义的变量可以被修改答案:接口中定义的变量可以被修改69. 以下关于继承的描述,说法正确的是( )A. 创建子类对象时,父类的所有构造方法都会被执行B. 子类继承父类的所有属性和方法C. 子类可以继承父类的公有的属性和方法D. 子类可以继承父类的私有的属性和方法答案: 子类可以继承父类的公有的属性和方法70. 阅读下段代码,class Dog{ public String name; Dog(String name){ this.name=name;}}public class Demo1{ publicstatic void main(String[] args){ Dog dog1 = new Dog("xiaohuang"); Dogdog2 = new Dog("xiaohuang"); String s1 = dog1.toString(); String s2 =dog2.toString(); String s3 = "xiaohuang"; String s4 ="xiaohuang"; }}返回值为true的是( )A. dog1.equals(dog2)B. s1.equals(s2)C. s3.equals(s4)D. dog1==dog2答案: s3.equals(s4)71. 下列程序运行结果是( )public class Demo { public static void main(String[]args) { Demo demo = new Demo(); demo.show(new Car() { public void run() {System.out.println("demo run"); } }); } public void show(Car c) {c.run(); }}abstract class Car { public void run() {System.out.println("car run..."); }}A. car runB. demo runC. 无结果D. 程序编译报错答案: demo run72. 下列选项中,哪个是子类重写父类方法时,必须与父类方法一致的( )A. 参数列表B. 函数名C. 返回值类型D. 修饰符答案:参数列表# 函数名# 返回值类型73. 若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Cat cat=(Cat)new Animal();B. Animal animal=new Cat();C. Animal animal=new Dog();D. Cat cat=(Cat)new Dog();答案: Animal animal=new Cat();# Animalanimal=new Dog();74. Java中任何类都直接或间接继承了Object类。答案: 正确75. 子类重写父类的方法时,重写的方法可以与父类被重写的方法名、参数列表以及返回值类型不相同。答案: 错误76. super调用父类构造方法的代码必须位于子类构造方法的第一行。答案: 正确77. instanceof关键字可以用于判断一个对象是否为某个类(或接口)的实例或者子类实例。答案:正确78. 父类的引用指向自己子类的对象是多态的一种体现形式。答案: 正确79. final修饰符不可以修饰如下哪个内容( )A. 方法B. 类C. 接口D. 变量答案: 接口80. 下列关于super关键字的说法中,正确的是( )A. super关键字是在子类对象内部指代其父类对象的引用B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C. 子类通过super关键字只能调用父类的属性,而不能调用父类的方法D. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性答案:super关键字是在子类对象内部指代其父类对象的引用81. 如果父类的方法是静态的,则子类的方法被( )修饰才能覆盖父类的静态方法 。A. finalB. staticC. protectedD. private答案: static82. 下列关于接口的说法中,错误的是( )A. 接口中定义的方法默认使用“public abstract”来修饰B. 接口中定义的变量可以被修改C. 接口中的变量默认使用“public static final”来修饰D. 接口中的所有方法都是抽象方法答案:接口中定义的变量可以被修改83. 以下关于继承的描述,说法正确的是( )A. 创建子类对象时,父类的所有构造方法都会被执行B. 子类继承父类的所有属性和方法C. 子类可以继承父类的公有的属性和方法D. 子类可以继承父类的私有的属性和方法答案: 子类可以继承父类的公有的属性和方法84. 阅读下段代码,class Dog{ public String name; Dog(String name){ this.name=name;}}public class Demo1{ publicstatic void main(String[] args){ Dog dog1 = new Dog("xiaohuang"); Dogdog2 = new Dog("xiaohuang"); String s1 = dog1.toString(); String s2 =dog2.toString(); String s3 = "xiaohuang"; String s4 = "xiaohuang";}}返回值为true的是( )A. dog1.equals(dog2)B. s1.equals(s2)C. s3.equals(s4)D. dog1==dog2答案: s3.equals(s4)85. 下列程序运行结果是( )public class Demo { public static void main(String[]args) { Demo demo = new Demo(); demo.show(new Car() { public void run() {System.out.println("demo run"); } }); } public void show(Car c) {c.run(); }}abstract class Car { public void run() {System.out.println("car run..."); }}A. car runB. demo runC. 无结果D. 程序编译报错答案: demo run86. 下列选项中,哪个是子类重写父类方法时,必须与父类方法一致的( )A. 返回值类型B. 参数列表C. 修饰符D. 函数名答案:返回值类型# 参数列表# 函数名87. 若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Animal animal=new Cat();B. Cat cat=(Cat)new Animal();C. Animal animal=new Dog();D. Cat cat=(Cat)new Dog();答案: Animal animal=new Cat();# Animalanimal=new Dog();88. 一个类如果要实现一个接口,可以通过关键字来实现这个接口。答案: implements89. 一个类如果要实现一个接口,可以通过关键字来实现这个接口。答案: implements90. 一个类如果要实现一个接口,可以通过关键字来实现这个接口。答案: implements91. 阅读下列代码import java.io.*;public class Example{public static voidmain(String[] args) throws Exception {OutputStream out = newFileOutputStream("itcast.txt ", true); String str = "欢迎你!";byte[] b = str.getBytes(); for (int i = 0; i < b.length; i++) {out.______(b); } out.close(); }}请说出下划线上,填写的方法名称( )A. read()B. write()C. close()D. available()答案: write()92. Java流被分为字节流、字符流两大流类,两者都作为( )类的直接子类。A. 以上都不是B. ThrowableC. ExceptionD. Object答案: Object93. 下列选项中,不属于FileReader类的方法的是( )A. read()B. toString()C. readLine()D. close()答案: readLine()94. 下列关于FileWriter的说法正确的是( )A. 使用FileWriter(StringfileName,booleanappend)构造方法,设置append参数值为true可以实现在文件中追加内容的效果B. FileWriter是OutputStreamWriter类的子类C. FileWriter用于直接向文件中读取字符D. FileWriter在指定写入的文件不存在时会抛出异常答案: 使用FileWriter(StringfileName,booleanappend)构造方法,设置append参数值为true可以实现在文件中追加内容的效果#FileWriter是OutputStreamWriter类的子类95. 下列有关转换流的说法错误的有( )A. OutputStreamWriter是字符流通向字节流的桥梁B. InputStreamReader使用了缓冲区技术C. 可以指定字节流和字符流之间转换的字符集D. OutputStreamWriter是OutputStream的子类答案: InputStreamReader使用了缓冲区技术# OutputStreamWriter是OutputStream的子类96. 下面关于File类的常用方法说法正确的是( )A.isDirectory():测试这个抽象路径名表示的文件是否为目录B.delete():直接删除这个抽象路径名表示的文件或目录(不会出现异常)C.list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件和目录D.mkdir():创建由这个抽象路径名命名的目录答案:isDirectory():测试这个抽象路径名表示的文件是否为目录# list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件和目录# mkdir():创建由这个抽象路径名命名的目录97. IO流有很多种,按照数据传输方向的不同可分为输入流和输出流。答案: 正确98. FileReader字符输入流可以用于从文件中直接读取字符。答案: 正确99. 阅读下列代码import java.io.*;public class Example{public static voidmain(String[] args) throws Exception {OutputStream out = newFileOutputStream("itcast.txt ", true); String str = "欢迎你!";byte[] b = str.getBytes(); for (int i = 0; i < b.length; i++) {out.______(b); } out.close(); }}请说出下划线上,填写的方法名称( )A. read()B. write()C. close()D. available()答案: write()100. Java流被分为字节流、字符流两大流类,两者都作为( )类的直接子类。A. ThrowableB. 以上都不是C. ObjectD. Exception答案: Object101.下列选项中,不属于FileReader类的方法的是( )A. read()B. close()C. readLine()D. toString()答案: readLine()102.下列关于FileWriter的说法正确的是( )A. FileWriter用于直接向文件中读取字符B. FileWriter是OutputStreamWriter类的子类C. 使用FileWriter(StringfileName,booleanappend)构造方法,设置append参数值为true可以实现在文件中追加内容的效果D. FileWriter在指定写入的文件不存在时会抛出异常答案: FileWriter是OutputStreamWriter类的子类# 使用FileWriter(StringfileName,booleanappend)构造方法,设置append参数值为true可以实现在文件中追加内容的效果103. 下列有关转换流的说法错误的有( )A. OutputStreamWriter是字符流通向字节流的桥梁B. InputStreamReader使用了缓冲区技术C. OutputStreamWriter是OutputStream的子类D. 可以指定字节流和字符流之间转换的字符集答案: InputStreamReader使用了缓冲区技术#OutputStreamWriter是OutputStream的子类104. 下面关于File类的常用方法说法正确的是( )A.delete():直接删除这个抽象路径名表示的文件或目录(不会出现异常)B.mkdir():创建由这个抽象路径名命名的目录C.list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件和目录D. isDirectory():测试这个抽象路径名表示的文件是否为目录答案: mkdir():创建由这个抽象路径名命名的目录# list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件和目录#isDirectory():测试这个抽象路径名表示的文件是否为目录105. IO流通常都是成对出现的,即流和输出流一起使用。答案: 输入106.File类delete()方法的返回值是类型。(答案写中文)答案: 布尔107.IO流通常都是成对出现的,即流和输出流一起使用。答案: 输入108.File类delete()方法的返回值是类型。(答案写中文)答案:布尔109. 下列关于进程和线程的说法中,错误的是( )A. 操作系统中的每一个进程中都至少存在一个线程B. 操作系统中每个独立执行的程序都可称之为一个进程C. 线程和进程一样,是由CPU轮流执行的D. 线程和进程一样,是由CPU同时执行的答案:线程和进程一样,是由CPU同时执行的110. 下列关于线程状态转换的描述中,错误的是( )A. 运行状态下的线程调用wait()方法可以使其进入到阻塞状态B. 死亡状态下的线程调用start()方法可以使其重新进入就绪状态C. 线程获得CPU使用权后会从就绪状态转换成运行状态D. 线程失去CPU使用权后会从运行状态转换成就绪状态答案:死亡状态下的线程调用start()方法可以使其重新进入就绪状态111. 下列属于定义同步代码块的关键字的是( )A. synchronizedB. abstractC. volatileD. goto答案: synchronized112.阅读下列的程序public class Demo extends Thread implementsRunnable{ -----① public void run(){ System.out.println("this is run()");}public static void main(String args[]){ Thread thread=new Thread(new Demo()); -----② thread.start();} }下列关于程序运行结果的说法中,正确的是( )A. ①行出现编译错误B. ②行出现编译错误C. 出现运行错误D. 程序正常执行输出this is run()答案: 程序正常执行输出this is run()113.同步代码块的作用是( )A. 同步代码块提高了线程的运行速度B. 保证多线程访问数据的安全C. 保证同步代码块中只有一个线程运行D. 同步代码块可以避免线程的随机性答案:保证多线程访问数据的安全# 保证同步代码块中只有一个线程运行114. Java多线程中,以下关于解决死锁的说法正确的是( )A. 避免一个进程等待序列(P1,P2,...Pn),其中P1等待P2占有的某一资源,...Pn等待P1占有的某一资源,可以避免死锁B. 打破不可抢占条件,即允许进程强行从某些资源占有者那里夺取资源C. 打破互斥条件,即允许进程同时访问某些资源D. 使用打破循环等待条件的方法不能避免线程死锁答案:避免一个进程等待序列(P1,P2,...Pn),其中P1等待P2占有的某一资源,...Pn等待P1占有的某一资源,可以避免死锁# 打破不可抢占条件,即允许进程强行从某些资源占有者那里夺取资源# 打破互斥条件,即允许进程同时访问某些资源115.notify()方法唤醒等待线程后,该线程会立即被CPU执行。答案: 错误116.多线程操作共享资源一定会导致线程的安全问题。答案: 错误117. 被synchronized关键字修饰的方法称为同步方法。答案:正确118. Java多线程中,如果进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放,就一定会出现死锁。答案:错误119. 下列关于进程和线程的说法中,错误的是( )A. 线程和进程一样,是由CPU同时执行的B. 操作系统中的每一个进程中都至少存在一个线程C. 线程和进程一样,是由CPU轮流执行的D. 操作系统中每个独立执行的程序都可称之为一个进程答案:线程和进程一样,是由CPU同时执行的120. 下列关于线程状态转换的描述中,错误的是( )A. 线程失去CPU使用权后会从运行状态转换成就绪状态B. 运行状态下的线程调用wait()方法可以使其进入到阻塞状态C. 线程获得CPU使用权后会从就绪状态转换成运行状态D. 死亡状态下的线程调用start()方法可以使其重新进入就绪状态答案:死亡状态下的线程调用start()方法可以使其重新进入就绪状态121. 下列属于定义同步代码块的关键字的是( )A. volatileB. gotoC. synchronizedD. abstract答案: synchronized122.阅读下列的程序public class Demo extends Thread implementsRunnable{ -----① public void run(){ System.out.println("this is run()");}public static void main(String args[]){ Thread thread=new Thread(new Demo()); -----② thread.start();} }下列关于程序运行结果的说法中,正确的是( )A. ①行出现编译错误B. ②行出现编译错误C. 出现运行错误D. 程序正常执行输出this is run()答案: 程序正常执行输出this is run()123.同步代码块的作用是( )A. 保证多线程访问数据的安全B. 保证同步代码块中只有一个线程运行C. 同步代码块可以避免线程的随机性D. 同步代码块提高了线程的运行速度答案:保证多线程访问数据的安全# 保证同步代码块中只有一个线程运行124. Java多线程中,以下关于解决死锁的说法正确的是( )A. 打破互斥条件,即允许进程同时访问某些资源B. 打破不可抢占条件,即允许进程强行从某些资源占有者那里夺取资源C. 使用打破循环等待条件的方法不能避免线程死锁D. 避免一个进程等待序列(P1,P2,...Pn),其中P1等待P2占有的某一资源,...Pn等待P1占有的某一资源,可以避免死锁答案:打破互斥条件,即允许进程同时访问某些资源# 打破不可抢占条件,即允许进程强行从某些资源占有者那里夺取资源# 避免一个进程等待序列(P1,P2,...Pn),其中P1等待P2占有的某一资源,...Pn等待P1占有的某一资源,可以避免死锁125. 下列目录中,哪一个是用来存放JDK核心源代码的( )A. jre目录B. include目录C. src目录D. lib目录答案: src目录126.Java属于以下哪种语言( )A. 汇编语言B. 以上都不对C. 机器语言D. 高级语言答案: 高级语言127.阅读下列代码public class Example { public static voidmain(String[] args) { int[] srcArray = { 11, 12, 13, 14 }; int[] destArray = {21, 22, 23, 24 }; System.arraycopy(srcArray, 1, destArray, 2, 2); for (int i =0; i < destArray.length; i++) { System.out.print(destArray + ""); } }}下列选项中,程序的运行结果是( )A.21221213B.21221112C.21111224D. 发生数组角标越界异常答案: 21221213128. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )A. int indexOf(int ch)B. boolean endsWith(String suffix)C. char charAt(int index)D. int lastIndexOf(int ch)答案: int indexOf(int ch)129.下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. abs()B. random()C. sin()D. pow()答案:random()130. 下面关于静态同步方法说法错误的是( )A. 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行。B. 一个类中的多个同步静态方法可以同时被多个线程执行。C. 静态方法必须使用class对象来同步。D. 对于静态的同步方法而言,该方法的同步监视器不是this,而是该类本身。答案:一个类中的多个同步静态方法可以同时被多个线程执行。131.下列选项中,属于布尔常量的是( )A. 2e3fB. nullC. trueD. 198答案: true132. 下列选项中,用于引入包的关键字是( )A. importB. classC. staticD. package答案: import133.下列字符串常量中,哪一个是错误的( )A. ""B. "abc"C. "12'12"D. "12"12"答案: "12"12"134.阅读下列代码System.out.println(“Hello” + 9 + 1);下列选项中,哪个是正确的输出结果()A. An exceptionis thrown at runtimeB. Hello91C. Hello10D. Compilation fails答案: Hello91135.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良136.阅读下面程序片段 switch (i) {case 1:System.out.println("message1");case 2:System.out.println("message2");case 3:System.out.println("message3"); break;}请说当变量i的值为多少时,程序只输出“message 3”。()A. 1B. 2C. 3D. 4答案: 3137.请阅读下面的程序public class Example {public static void main(String[] args) {int x = 1; do {x++;} while (x <= 4);System.out.println("x = " +x);} } 程序的运行结果是()A. 3B. 4C. 5D. 6答案: 5138.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int grade =76; // 定义学生成绩 if (grade > 80) { // 满足条件grade > 80 System.out.println("成绩为优"); } else if (grade > 70){// 不满足条件 grade > 80 ,但满足条件 grade > 70 System.out.println("成绩为良");} else if (grade > 60) { // 不满足条件 grade > 70 ,但满足条件 grade > 60System.out.println("成绩为中"); } else{ // 不满足条件 grade > 60 System.out.println("成绩为差"); } }}程序的运行结果是()A. 成绩为优B. 成绩为良C. 成绩为中D. 成绩为差答案: 成绩为良139.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案:324140. 下面关于方法定义的描述中,正确的是( )A. 方法是不可以没有参数的B. 方法是对功能代码块的封装C. 当方法没有返回值时,不能有return语句D. 当方法没有返回值时,返回值类型可以不写答案: 方法是对功能代码块的封装141.请阅读下面的代码String s1=newString("abc");String s2=s1.intern();String s3="abc";System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false false trueB. false false falseC. false true falseD. false true true答案: false true false142. 下面哪个修饰符不可以修饰接口中的成员变量( )A. publicB. staticC. finalD. private答案: private143. 函数重写与函数重载的相同之处是( )A. 函数名B. 权限修饰符C. 形参列表D. 返回值类型答案: 函数名144.final修饰符修饰方法时,不能和以下哪个修饰符共用( )A. publicB. synchronizedC. staticD. abstract答案: abstract145. 下列选项中,会导致线程进入死亡状态的是( )A. 线程的run()方法正常执行完毕B. 线程调用了sleep()方法C. 线程抛出一个未捕获的异常D. 线程执行过程中出现错误答案:线程的run()方法正常执行完毕# 线程抛出一个未捕获的异常# 线程执行过程中出现错误146. 同步代码块的作用是( )A. 保证同步代码块中只有一个线程运行B. 保证多线程访问数据的安全C. 同步代码块提高了线程的运行速度D. 同步代码块可以避免线程的随机性答案:保证同步代码块中只有一个线程运行# 保证多线程访问数据的安全147. 下列关于方法重载的说法中,正确的是( )A. 方法名相同,返回值类型不同,可以形成方法重载。B. 方法名相同,参数个数不同可以形成方法重载。C. 方法名相同,参数的类型不同可以形成方法重载。D. 方法名相同,参数的类型排列顺序不同可以形成方法重载。答案:方法名相同,参数个数不同可以形成方法重载。# 方法名相同,参数的类型不同可以形成方法重载。# 方法名相同,参数的类型排列顺序不同可以形成方法重载。148. 下列关于构造方法和普通方法的描述中,正确的是( )A. 构造方法能够在实例对象的同时进行初始化B. 构造方法中不能指定参数,而普通方法可以指定参数C. 构造方法不能指定返回值类型,普通方法可以指定返回值类型D. 在同一个类中,构造方法必须位于普通方法之前答案:构造方法能够在实例对象的同时进行初始化# 构造方法不能指定返回值类型,普通方法可以指定返回值类型149.以下关于super关键字的说法中,正确的是( )A. super()与this()可以同时存在于同一个构造方法中B. super()与this()不能同时存在于同一个构造方法中C. super关键字可以调用父类的构造方法D. super关键字可以调用父类的成员方法答案: super()与this()不能同时存在于同一个构造方法中# super关键字可以调用父类的构造方法#super关键字可以调用父类的成员方法150.若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Cat cat=(Cat)new Dog();B. Cat cat=(Cat)new Animal();C. Animal animal=new Dog();D. Animal animal=new Cat();答案: Animal animal=new Dog();# Animalanimal=new Cat();151. 下列关于IO流的描述中,正确的有哪些( )A. 按照数据传输方向的不同又可分为输入流和输出流。B. 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。C. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。D. 按照操作数据的不同,可以分为字节流和字符流。答案:按照数据传输方向的不同又可分为输入流和输出流。# 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。#字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。# 按照操作数据的不同,可以分为字节流和字符流。152.在Java中,类名的首字母要求大写。答案: 正确153.死锁就是两个线程在运行时都在等待对方的锁。答案: 正确154. 在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其它运算。答案: 正确155.Java中的常量是固定不变的值。答案: 正确156.continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。答案: 正确157. 当break语句出现在嵌套循环中的内层循环时,就无法跳出循环。答案: 错误158.for循环语句一般用在循环次数未知的情况下。答案: 错误159.定义一个方法时,其访问修饰符、返回值类型、方法名的顺序可以互换。答案: 错误160.面向对象的特点主要可以概括为封装性、继承性和重载性。答案: 错误161.只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用。答案:错误162. 下列关于IO流的描述中,正确的有哪些( )A. 字符流的输入输出流分别用javB. 按照数据传输方向的不同又可分为输入流和输出流。C. 按照操作数据的不同,可以分为字节流和字符流。D. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。答案: 字符流的输入输出流分别用jav# 按照数据传输方向的不同又可分为输入流和输出流。#按照操作数据的不同,可以分为字节流和字符流。# 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。163.下列关于IO流的描述中,正确的有哪些( )A. 字节流的输入输出流分别用javB. 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。C. 按照操作数据的不同,可以分为字节流和字符流。D. 按照数据传输方向的不同又可分为输入流和输出流。答案: 字节流的输入输出流分别用jav# 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。#按照操作数据的不同,可以分为字节流和字符流。# 按照数据传输方向的不同又可分为输入流和输出流。164.下列目录中,哪一个是用来存放JDK核心源代码的( )A. lib目录B. src目录C. jre目录D. include目录答案: src目录165.Java属于以下哪种语言( )A. 以上都不对B. 汇编语言C. 机器语言D. 高级语言答案: 高级语言166.阅读下列代码public class Example { public static voidmain(String[] args) { int[] srcArray = { 11, 12, 13, 14 }; int[] destArray = {21, 22, 23, 24 }; System.arraycopy(srcArray, 1, destArray, 2, 2); for (int i =0; i < destArray.length; i++) { System.out.print(destArray + ""); } }}下列选项中,程序的运行结果是( )A.21221213B.21221112C.21111224D. 发生数组角标越界异常答案: 21221213167. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )A. int lastIndexOf(int ch)B. boolean endsWith(String suffix)C. char charAt(int index)D. int indexOf(int ch)答案: int indexOf(int ch)168.下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. pow()B. abs()C. random()D. sin()答案:random()169. 下面关于静态同步方法说法错误的是( )A. 静态方法必须使用class对象来同步。B. 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行。C. 一个类中的多个同步静态方法可以同时被多个线程执行。D. 对于静态的同步方法而言,该方法的同步监视器不是this,而是该类本身。答案:一个类中的多个同步静态方法可以同时被多个线程执行。170.下列选项中,属于布尔常量的是( )A. 2e3fB. nullC. 198D. true答案: true171. 下列选项中,用于引入包的关键字是( )A. importB. classC. packageD. static答案: import172.阅读下列代码System.out.println(“Hello” + 9 + 1);下列选项中,哪个是正确的输出结果()A. An exceptionis thrown at runtimeB. Compilation failsC. Hello10D. Hello91答案: Hello91173.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良174.阅读下面程序片段 switch (i) {case 1:System.out.println("message1");case 2:System.out.println("message2");case 3:System.out.println("message3"); break;}请说当变量i的值为多少时,程序只输出“message 3”。()A. 1B. 2C. 3D. 4答案: 3175.请阅读下面的程序public class Example {public static void main(String[] args) {int x = 1; do {x++;} while (x <= 4);System.out.println("x = " +x);} } 程序的运行结果是()A. 3B. 4C. 5D. 6答案: 5176.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int grade =76; // 定义学生成绩 if (grade > 80) { // 满足条件grade > 80 System.out.println("成绩为优"); } else if (grade > 70){// 不满足条件 grade > 80 ,但满足条件 grade > 70 System.out.println("成绩为良");} else if (grade > 60) { // 不满足条件 grade > 70 ,但满足条件 grade > 60System.out.println("成绩为中"); } else{ // 不满足条件 grade > 60 System.out.println("成绩为差"); } }}程序的运行结果是()A. 成绩为优B. 成绩为良C. 成绩为中D. 成绩为差答案: 成绩为良177.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案:324178. 下面关于方法定义的描述中,正确的是( )A. 当方法没有返回值时,不能有return语句B. 当方法没有返回值时,返回值类型可以不写C. 方法是对功能代码块的封装D. 方法是不可以没有参数的答案: 方法是对功能代码块的封装179.请阅读下面的代码String s1=newString("abc");String s2=s1.intern();String s3="abc";System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false true falseB. false false trueC. false false falseD. false true true答案: false true false180. 下面哪个修饰符不可以修饰接口中的成员变量( )A. finalB. privateC. publicD. static答案: private181. 函数重写与函数重载的相同之处是( )A. 权限修饰符B. 形参列表C. 返回值类型D. 函数名答案: 函数名182.final修饰符修饰方法时,不能和以下哪个修饰符共用( )A. staticB. abstractC. synchronizedD. public答案: abstract183. 下列选项中,会导致线程进入死亡状态的是( )A. 线程抛出一个未捕获的异常B. 线程的run()方法正常执行完毕C. 线程执行过程中出现错误D. 线程调用了sleep()方法答案:线程抛出一个未捕获的异常# 线程的run()方法正常执行完毕# 线程执行过程中出现错误184. 同步代码块的作用是( )A. 同步代码块提高了线程的运行速度B. 保证同步代码块中只有一个线程运行C. 同步代码块可以避免线程的随机性D. 保证多线程访问数据的安全答案:保证同步代码块中只有一个线程运行# 保证多线程访问数据的安全185. 下列关于方法重载的说法中,正确的是( )A. 方法名相同,参数个数不同可以形成方法重载。B. 方法名相同,参数的类型不同可以形成方法重载。C. 方法名相同,参数的类型排列顺序不同可以形成方法重载。D. 方法名相同,返回值类型不同,可以形成方法重载。答案:方法名相同,参数个数不同可以形成方法重载。# 方法名相同,参数的类型不同可以形成方法重载。# 方法名相同,参数的类型排列顺序不同可以形成方法重载。186.以下关于super关键字的说法中,正确的是( )A. super()与this()可以同时存在于同一个构造方法中B. super关键字可以调用父类的成员方法C. super()与this()不能同时存在于同一个构造方法中D. super关键字可以调用父类的构造方法答案: super关键字可以调用父类的成员方法# super()与this()不能同时存在于同一个构造方法中#super关键字可以调用父类的构造方法187.若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Cat cat=(Cat)new Dog();B. Animal animal=new Dog();C. Animal animal=new Cat();D. Cat cat=(Cat)new Animal();答案: Animal animal=new Dog();# Animalanimal=new Cat();188.下列关于IO流的描述中,正确的有哪些( )A. 字符流的输入输出流分别用javB. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。C. 按照操作数据的不同,可以分为字节流和字符流。D. 按照数据传输方向的不同又可分为输入流和输出流。答案: 字符流的输入输出流分别用jav# 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。#按照操作数据的不同,可以分为字节流和字符流。# 按照数据传输方向的不同又可分为输入流和输出流。189. Java中一个类最多可以继承个类。答案:一190. Java提供了一个关键字,可以判断一个对象是否为某个类(或接口)的实例或者子类实例。答案: instanceof191. IO流通常都是成对出现的,即流和输出流一起使用。答案:输入192. 下列关于构造方法和普通方法的描述中,正确的是( )A. 构造方法中不能指定参数,而普通方法可以指定参数B. 构造方法不能指定返回值类型,普通方法可以指定返回值类型C. 构造方法能够在实例对象的同时进行初始化D. 在同一个类中,构造方法必须位于普通方法之前答案:构造方法不能指定返回值类型,普通方法可以指定返回值类型# 构造方法能够在实例对象的同时进行初始化193. 下列关于IO流的描述中,正确的有哪些( )A. 按照数据传输方向的不同又可分为输入流和输出流。B. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。C. 按照操作数据的不同,可以分为字节流和字符流。D. 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。答案:按照数据传输方向的不同又可分为输入流和输出流。# 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。#按照操作数据的不同,可以分为字节流和字符流。# 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。194. Java中一个类最多可以继承个类。答案:一195. Java提供了一个关键字,可以判断一个对象是否为某个类(或接口)的实例或者子类实例。答案: instanceof196. IO流通常都是成对出现的,即流和输出流一起使用。答案: 输入197.下面关于path和classpath的说法中,错误的是( )A. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同B. path用来指定java虚拟机(JVM)所在的目录C. 只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类D. classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录答案: 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同198.下面选项中,完全面向对象的编程语言是( )A. COBOLB. CC. FORTRAND. JAVA答案: JAVA199.下列关于JDK、JRE和JVM关系的描述中,正确的是( )。A. JRE中包含了JDK,JDK中包含了JVM。B. JDK中包含了JRE,JVM中包含了JRE。C. JRE中包含了JDK,JVM中包含了JRE。D. JDK中包含了JRE,JRE中包含了JVM。答案: JDK中包含了JRE,JRE中包含了JVM。200.StringBuffer类的append()方法的返回值类型是( )A. StringB. StringBufferC. voidD. StringBuilder答案: StringBuffer201. 下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是( )A. nextInt()B. nextBoolean()C. nextLong()D. nextInt(int n)答案: nextInt(int n)202. 下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. abs()B. sin()C. random()D. pow()答案: random()203.下列关于System类的描述中,错误的是( )A. System类是final关键字修饰的类,它不能被其他类所继承B. System类中提供了获取当前系统属性的方法C. System类中定义了许多方法,但是没有定义字段D. System类不能被实例化答案: System类中定义了许多方法,但是没有定义字段204.JDBC驱动器也称为JDBC驱动程序,它的提供者是( )A. SUNB. ORACLEC. 数据库厂商D. ISO答案: 数据库厂商205.下列选项中,正确关闭数据库资源的顺序是( )A. resultSet.close()B. connection.close()C. statement.close()D. preparedSatement.close()答案: resultSet.close()206. 下列关于线程状态转换的描述中,错误的是( )A. 死亡状态下的线程调用start()方法可以使其重新进入就绪状态B. 线程获得CPU使用权后会从就绪状态转换成运行状态C. 运行状态下的线程调用wait()方法可以使其进入到阻塞状态D. 线程失去CPU使用权后会从运行状态转换成就绪状态答案:死亡状态下的线程调用start()方法可以使其重新进入就绪状态207. JAVA中调用Thread类的sleep()方法后,当前线程状态如何转换()A. 由阻塞状态进入等待状态B. 由运行状态进入等待状态C. 由阻塞状态进入运行状态D. 由运行状态进入阻塞状态答案:由运行状态进入阻塞状态208. 关于表达式1345/1000 * 1000的运算结果,下列哪个选项是正确的( )A. 1345.0B. 以上都不对C. 1345D. 1000答案: 1000209.以下标识符中,不合法的是( )A. userB. $innerC. login_1D. class答案: class210. 下列选项中,不属于赋值运算符的是( )A. =B. ==C. -=D. *=答案:==211. 下列选项中,不属于比较运算符的是( )A. <=B. <C. =D. ==答案: =212.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int x = 3; if (x > 5) {System.out.println("a"); } else { System.out.println("b");} } }程序的运行结果是( )A. trueB. falseC. aD. b答案: b213.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良214.请阅读下面的程序。class WhileDemo{ public static voidmain(String[] args) { int n = 5; while (n < 10) { System.out.print(n); n++;} }}下列选项中,哪一个是程序运行的结果( )A. 无输出B. 输出56789C. 死循环D. 编译错误答案:输出56789215.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案: 324216.请阅读下面的代码 class A{ int x; static int y; voidfac(String s){ System.out.println(“字符串:”+s); }}下列选项中描述正确的是( )A. x,y和s都是成员变量B. x是实例变量,y是类变量,s是局部变量C. x和y是实例变量,s是参数D. x,y和s都是实例变量答案:x是实例变量,y是类变量,s是局部变量217.下列关于default语句的说法中,正确的是( )A. default代表的是默认要执行的语句,也就是没有匹配就执行default。B. default不是swicth语句中必须的。C. 在switch语句中,default必须存在。D. 一般情况下,default放置在switch语句的最后面。答案: default代表的是默认要执行的语句,也就是没有匹配就执行default。#default不是swicth语句中必须的。# 一般情况下,default放置在switch语句的最后面。218. 下列关于静态代码块的描述中,正确的是( )A. 静态代码块随着类的加载而加载B. 静态代码块指的是被static关键字修饰的代码块C. 使用静态代码块可以实现类的初始化D. 每次创建对象时,类中的静态代码块都会被执行一次答案:静态代码块随着类的加载而加载# 静态代码块指的是被static关键字修饰的代码块# 使用静态代码块可以实现类的初始化219. 当子类B继承父类A时,下面描述正确的是?( )A. 创建类B的对象可以调用类A中的public修饰的成员方法B. 创建类B的对象可以调用类A中的public修饰的成员变量C. 创建类B的对象可以调用类A中的private修饰的成员变量D. 创建类B的对象可以调用类A中的private修饰的成员方法答案:创建类B的对象可以调用类A中的public修饰的成员方法# 创建类B的对象可以调用类A中的public修饰的成员变量220.下列遍历方式中,哪些可以用来遍历List集合( )A. Iterator迭代器实现B. 增强for循环实现C. get()和length()方法结合实现D. get()和size()方法结合实现答案: Iterator迭代器实现# 增强for循环实现# get()和size()方法结合实现221.以下关于字节流的说法正确的是( )A. 以上都正确B. 在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的C. 所有的字节输入流都继承自InputStreamD. InputStream和OutputStream这两个类都是抽象类,不能被实例化答案: 以上都正确# 在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的#所有的字节输入流都继承自InputStream# InputStream和OutputStream这两个类都是抽象类,不能被实例化222.JDK安装的时候不可以修改安装目录。答案: 错误223.main()函数是java程序的执行入口。答案: 正确224.Java语言有三种技术平台,分别是JavaSE、JavaME、JavaEE。答案: 正确225.死锁就是两个线程在运行时都在等待对方的锁。答案: 正确226.在Java中,小数会被默认是double类型的值。答案: 正确227.System.out.println(‘a’ + 0);语句的输出结果是a0。答案: 错误228.Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似。答案: 正确229. 多维数组实际上就是数组中嵌套着数组,数组中的元素还是一个数组。答案: 正确230. 垃圾回收机制保证了Java程序不会出现内存溢出。答案:错误231. 类只支持单继承,不允许多重继承,C类不可以既继承A类又B类。答案: 正确232. 匿名内部类就是一个没有类名的内部类。答案: 正确233. 下面关于path和classpath的说法中,错误的是()A. 只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类B. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同C. path用来指定java虚拟机(JVM)所在的目录D. classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录答案: 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同234.下面选项中,完全面向对象的编程语言是( )A. CB. COBOLC. FORTRAND. JAVA答案: JAVA235.下列关于JDK、JRE和JVM关系的描述中,正确的是( )。A. JDK中包含了JRE,JRE中包含了JVM。B. JDK中包含了JRE,JVM中包含了JRE。C. JRE中包含了JDK,JVM中包含了JRE。D. JRE中包含了JDK,JDK中包含了JVM。答案: JDK中包含了JRE,JRE中包含了JVM。236.StringBuffer类的append()方法的返回值类型是( )A. voidB. StringBufferC. StringD. StringBuilder答案: StringBuffer237. 下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是( )A. nextBoolean()B. nextInt()C. nextLong()D. nextInt(int n)答案: nextInt(int n)238. 下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. abs()B. pow()C. random()D. sin()答案: random()239.下列关于System类的描述中,错误的是( )A. System类不能被实例化B. System类是final关键字修饰的类,它不能被其他类所继承C. System类中定义了许多方法,但是没有定义字段D.System类中提供了获取当前系统属性的方法答案: System类中定义了许多方法,但是没有定义字段240.JDBC驱动器也称为JDBC驱动程序,它的提供者是( )A. 数据库厂商B. ISOC. ORACLED. SUN答案:数据库厂商241. 下列选项中,正确关闭数据库资源的顺序是( )A. connection.close()B. resultSet.close()C. preparedSatement.close()D. statement.close()答案: resultSet.close()242. 下列关于线程状态转换的描述中,错误的是( )A. 线程获得CPU使用权后会从就绪状态转换成运行状态B. 线程失去CPU使用权后会从运行状态转换成就绪状态C. 运行状态下的线程调用wait()方法可以使其进入到阻塞状态D. 死亡状态下的线程调用start()方法可以使其重新进入就绪状态答案:死亡状态下的线程调用start()方法可以使其重新进入就绪状态243. JAVA中调用Thread类的sleep()方法后,当前线程状态如何转换()A. 由阻塞状态进入等待状态B. 由阻塞状态进入运行状态C. 由运行状态进入等待状态D. 由运行状态进入阻塞状态答案:由运行状态进入阻塞状态244. 关于表达式1345/1000 * 1000的运算结果,下列哪个选项是正确的( )A. 1345.0B. 1000C. 1345D. 以上都不对答案: 1000245.以下标识符中,不合法的是( )A. userB. login_1C. $innerD. class答案: class246. 下列选项中,不属于赋值运算符的是( )A. -=B. ==C. =D. *=答案:==247. 下列选项中,不属于比较运算符的是( )A. <B. =C. <=D. ==答案: =248.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int x = 3; if (x > 5) {System.out.println("a"); } else { System.out.println("b");} } }程序的运行结果是( )A. trueB. falseC. aD. b答案: b249.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良250.请阅读下面的程序。class WhileDemo{ public static voidmain(String[] args) { int n = 5; while (n < 10) { System.out.print(n); n++;} }}下列选项中,哪一个是程序运行的结果( )A. 无输出B. 输出56789C. 死循环D. 编译错误答案:输出56789251.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案: 324252.请阅读下面的代码 class A{ int x; static int y; voidfac(String s){ System.out.println(“字符串:”+s); }}下列选项中描述正确的是( )A. x,y和s都是成员变量B. x是实例变量,y是类变量,s是局部变量C. x和y是实例变量,s是参数D. x,y和s都是实例变量答案:x是实例变量,y是类变量,s是局部变量253.下列关于default语句的说法中,正确的是( )A. 在switch语句中,default必须存在。B. default不是swicth语句中必须的。C.default代表的是默认要执行的语句,也就是没有匹配就执行default。D. 一般情况下,default放置在switch语句的最后面。答案: default不是swicth语句中必须的。# default代表的是默认要执行的语句,也就是没有匹配就执行default。#一般情况下,default放置在switch语句的最后面。254. 下列关于静态代码块的描述中,正确的是( )A. 每次创建对象时,类中的静态代码块都会被执行一次B. 静态代码块随着类的加载而加载C. 使用静态代码块可以实现类的初始化D. 静态代码块指的是被static关键字修饰的代码块答案:静态代码块随着类的加载而加载# 使用静态代码块可以实现类的初始化# 静态代码块指的是被static关键字修饰的代码块255. 当子类B继承父类A时,下面描述正确的是?( )A. 创建类B的对象可以调用类A中的public修饰的成员变量B. 创建类B的对象可以调用类A中的private修饰的成员变量C. 创建类B的对象可以调用类A中的private修饰的成员方法D. 创建类B的对象可以调用类A中的public修饰的成员方法答案:创建类B的对象可以调用类A中的public修饰的成员变量# 创建类B的对象可以调用类A中的public修饰的成员方法256.下列遍历方式中,哪些可以用来遍历List集合( )A. Iterator迭代器实现B. get()和length()方法结合实现C. 增强for循环实现D. get()和size()方法结合实现答案: Iterator迭代器实现# 增强for循环实现# get()和size()方法结合实现257.以下关于字节流的说法正确的是( )A. 以上都正确B. 所有的字节输入流都继承自InputStreamC. 在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的D. InputStream和OutputStream这两个类都是抽象类,不能被实例化答案: 以上都正确# 所有的字节输入流都继承自InputStream# 在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的#InputStream和OutputStream这两个类都是抽象类,不能被实例化258.在Thread类中提供了一个方法来实现线程插队。答案: join259.用于比较两个整数不相等的运算符是。答案: !260.在Java中的跳转语句有语句和continue语句。答案: break261. 构造方法没有返回值类型,因此不能使用语句。答案: return262. 在Thread类中提供了一个方法来实现线程插队。答案: join263. 用于比较两个整数不相等的运算符是。答案: !264.在Java中的跳转语句有语句和continue语句。答案: break265.构造方法没有返回值类型,因此不能使用语句。答案: return266. 下面关于Java程序的描述中,错误的是( )A. 不同操作系统上的Java虚拟机是相同的B..class格式的文件是用来运行的C. Java程序运行时,必须经过编译和运行两个步骤。D. .java格式的源文件是用来编译的答案:不同操作系统上的Java虚拟机是相同的267. 下面关于path和classpath的说法中,错误的是()A. 只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类B. path用来指定java虚拟机(JVM)所在的目录C. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D. classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录答案: 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同268.下列关于main方法的描述中,正确的是( )A. main方法可以保证Java程序独立运行B. 在Java程序中,必须要有main方法C. 一个Java程序不一定要有main方法D. 一个Java程序的主方法是main方法答案: main方法可以保证Java程序独立运行# 一个Java程序不一定要有main方法#一个Java程序的主方法是main方法269.JDK安装的时候不可以修改安装目录。答案: 错误270.Java核心源码包存放在JDK安装目录的bin目录下。答案:错误271. 下面关于Java程序的描述中,错误的是( )A..class格式的文件是用来运行的B. 不同操作系统上的Java虚拟机是相同的C. Java程序运行时,必须经过编译和运行两个步骤。D. .java格式的源文件是用来编译的答案: 不同操作系统上的Java虚拟机是相同的272.下列关于main方法的描述中,正确的是( )A. 一个Java程序的主方法是main方法B. 一个Java程序不一定要有main方法C. main方法可以保证Java程序独立运行D. 在Java程序中,必须要有main方法答案: 一个Java程序的主方法是main方法# 一个Java程序不一定要有main方法#main方法可以保证Java程序独立运行273.阅读下列代码import java.io.*;public class Example{publicstatic void main(String[] args) throws Exception {OutputStream out = newFileOutputStream("itcast.txt ", true); String str = "欢迎你!";byte[] b = str.getBytes(); for (int i = 0; i < b.length; i++) {out.______(b); } out.close(); }}请说出下划线上,填写的方法名称( )A. read()B. write()C. close()D. available()答案: write()274. Java流被分为字节流、字符流两大流类,两者都作为( )类的直接子类。A. ExceptionB. ObjectC. ThrowableD. 以上都不是答案: Object275.下列选项中,不属于FileReader类的方法的是( )A. readLine()B. read()C. close()D. toString()答案: readLine()276.下列关于FileWriter的说法正确的是( )A. 使用FileWriter(StringfileName,booleanappend)构造方法,设置append参数值为true可以实现在文件中追加内容的效果B. FileWriter用于直接向文件中读取字符C. FileWriter是OutputStreamWriter类的子类D. FileWriter在指定写入的文件不存在时会抛出异常答案: 使用FileWriter(StringfileName,booleanappend)构造方法,设置append参数值为true可以实现在文件中追加内容的效果#FileWriter是OutputStreamWriter类的子类277. 下列有关转换流的说法错误的有( )A. OutputStreamWriter是OutputStream的子类B. OutputStreamWriter是字符流通向字节流的桥梁C. InputStreamReader使用了缓冲区技术D. 可以指定字节流和字符流之间转换的字符集答案: OutputStreamWriter是OutputStream的子类#InputStreamReader使用了缓冲区技术278. 下面关于File类的常用方法说法正确的是( )A.delete():直接删除这个抽象路径名表示的文件或目录(不会出现异常)B.isDirectory():测试这个抽象路径名表示的文件是否为目录C.mkdir():创建由这个抽象路径名命名的目录D.list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件和目录答案:isDirectory():测试这个抽象路径名表示的文件是否为目录# mkdir():创建由这个抽象路径名命名的目录# list():返回一个字符串数组,该字符串命名此抽象路径名表示的目录中的文件和目录279.IO流通常都是成对出现的,即流和输出流一起使用。答案: 输入280.File类delete()方法的返回值是类型。(答案写中文)答案: 布尔281.IO流有很多种,按照数据传输方向的不同可分为输入流和输出流。答案: 正确282.FileReader字符输入流可以用于从文件中直接读取字符。答案:正确283. 下列关于进程和线程的说法中,错误的是( )A. 操作系统中的每一个进程中都至少存在一个线程B. 线程和进程一样,是由CPU轮流执行的C. 线程和进程一样,是由CPU同时执行的D. 操作系统中每个独立执行的程序都可称之为一个进程答案:线程和进程一样,是由CPU同时执行的284. 下列关于线程状态转换的描述中,错误的是( )A. 死亡状态下的线程调用start()方法可以使其重新进入就绪状态B. 线程获得CPU使用权后会从就绪状态转换成运行状态C. 运行状态下的线程调用wait()方法可以使其进入到阻塞状态D. 线程失去CPU使用权后会从运行状态转换成就绪状态答案:死亡状态下的线程调用start()方法可以使其重新进入就绪状态285. 下列属于定义同步代码块的关键字的是( )A. volatileB. synchronizedC. abstractD. goto答案: synchronized286.阅读下列的程序public class Demo extends Thread implementsRunnable{ -----① public void run(){ System.out.println("this is run()");}public static void main(String args[]){ Thread thread=new Thread(new Demo()); -----② thread.start();} }下列关于程序运行结果的说法中,正确的是( )A. ①行出现编译错误B. ②行出现编译错误C. 出现运行错误D. 程序正常执行输出this is run()答案: 程序正常执行输出this is run()287.同步代码块的作用是( )A. 保证同步代码块中只有一个线程运行B. 同步代码块可以避免线程的随机性C. 保证多线程访问数据的安全D. 同步代码块提高了线程的运行速度答案:保证同步代码块中只有一个线程运行# 保证多线程访问数据的安全288. Java多线程中,以下关于解决死锁的说法正确的是( )A. 打破互斥条件,即允许进程同时访问某些资源B. 避免一个进程等待序列(P1,P2,...Pn),其中P1等待P2占有的某一资源,...Pn等待P1占有的某一资源,可以避免死锁C. 打破不可抢占条件,即允许进程强行从某些资源占有者那里夺取资源D. 使用打破循环等待条件的方法不能避免线程死锁答案:打破互斥条件,即允许进程同时访问某些资源# 避免一个进程等待序列(P1,P2,...Pn),其中P1等待P2占有的某一资源,...Pn等待P1占有的某一资源,可以避免死锁# 打破不可抢占条件,即允许进程强行从某些资源占有者那里夺取资源289.notify()方法唤醒等待线程后,该线程会立即被CPU执行。答案: 错误290.多线程操作共享资源一定会导致线程的安全问题。答案: 错误291. 被synchronized关键字修饰的方法称为同步方法。答案:正确292. Java多线程中,如果进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放,就一定会出现死锁。答案:错误293. 下列关于注释作用的描述中,错误的是()A. 可以对程序进行说明B. 帮助整理编程思路C. 会参与编译D. 可以帮助调试程序答案:会参与编译294.表达式7%(-3)的运算结果为( )A. -2B. -1C. 2D. 1答案: 1295.下列选项中,用于引入包的关键字是( )A. classB. packageC. staticD. import答案: import296.请阅读下面的程序public class Test{ public static voidmain(String[] args) {int x; int y; for(x = 1, y = 1; x <= 100; x++) { if (y >= 20) { break; } if (y % 3 == 1) {y += 3; continue; } y -= 5; } System.out.println("x=" + x + ",y="+ y); }}下列选项中,哪一个是程序的运行结果( )A. x=8,y=22B. x=22,y=8C. x=3,y=0D. x=0,y=3答案: x=8,y=22297.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int a[ ] = { 2, 0, 4, 1, 8, 3, 5 }; int temp; for (int i= 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if(a < a) { temp = a; a = a; a = temp; } } } for(Integer i : a) { System.out.print(i); } }}下列选项中,哪个是程序的运行结果()A.8543210B.0123458C.2041835D. 以上答案都不对答案: 0123458298.关于continue语句的使用范围,下列说法正确的是( )A. continue语句可以在循环语句中使用B. continue语句可以在条件语句中使用C. 不输出任何内容D. continue语句可以在选择语句中使用答案:continue语句可以在循环语句中使用299. 下列有关数组中元素位置交换的描述,错误的是( )A. 位置交换的过程至少需要三步B. 位置交换后数组的角标顺序发生了改变C. 位置交换后数组的角标顺序不会发生改变D. 位置交换的过程中需要借助一个中间变量答案:位置交换后数组的角标顺序发生了改变300.下列关于default语句的说法中,正确的是( )A. 在switch语句中,default必须存在。B. 一般情况下,default放置在switch语句的最后面。C.default代表的是默认要执行的语句,也就是没有匹配就执行default。D. default不是swicth语句中必须的。答案: 一般情况下,default放置在switch语句的最后面。# default代表的是默认要执行的语句,也就是没有匹配就执行default。#default不是swicth语句中必须的。301. 下列关于方法重载的说法中,正确的是( )A. 形式参数的个数不同,数据类型不同。B. 形式参数的个数相同,数据类型不同。C. 形式参数的个数相同,数据类型顺序不同。D. 形式参数的个数不同。答案:形式参数的个数不同,数据类型不同。# 形式参数的个数相同,数据类型不同。# 形式参数的个数相同,数据类型顺序不同。# 形式参数的个数不同。302. 关键字是编程语言里事先定义好并赋予了特殊含义的单词。答案: 正确303. 字符类型变量所占存储空间为2个字节。答案: 正确304. ‘\u0000’表示一个空白字符。答案: 正确305. continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。答案: 正确306. 以下标识符中,不合法的是( )A. classB. userC. $innerD. login_1答案: class307. 下列选项中,不属于基本数据类型的是( )A. charB. booleanC. shortD. String答案: String308.final修饰符不可以修饰如下哪个内容( )A. 类B. 接口C. 变量D. 方法答案: 接口309. 下列关于super关键字的说法中,正确的是( )A. 子类通过super关键字只能调用父类的属性,而不能调用父类的方法B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C. super关键字是在子类对象内部指代其父类对象的引用D. 子类通过super关键字只能调用父类的方法,而不能调用父类的属性答案:super关键字是在子类对象内部指代其父类对象的引用310. 如果父类的方法是静态的,则子类的方法被( )修饰才能覆盖父类的静态方法 。A. privateB. staticC. finalD. protected答案: static311. 下列关于接口的说法中,错误的是( )A. 接口中定义的变量可以被修改B. 接口中的变量默认使用“public static final”来修饰C. 接口中的所有方法都是抽象方法D. 接口中定义的方法默认使用“public abstract”来修饰答案: 接口中定义的变量可以被修改312. 以下关于继承的描述,说法正确的是( )A. 子类继承父类的所有属性和方法B. 子类可以继承父类的公有的属性和方法C. 子类可以继承父类的私有的属性和方法D. 创建子类对象时,父类的所有构造方法都会被执行答案: 子类可以继承父类的公有的属性和方法313.阅读下段代码,class Dog{ public String name; Dog(Stringname){ this.name =name;}}public classDemo1{ public static void main(String[] args){ Dog dog1 = newDog("xiaohuang"); Dog dog2 = new Dog("xiaohuang"); Strings1 = dog1.toString(); String s2 = dog2.toString(); String s3 ="xiaohuang"; String s4 = "xiaohuang"; }}返回值为true的是( )A. dog1.equals(dog2)B. s1.equals(s2)C. s3.equals(s4)D. dog1==dog2答案: s3.equals(s4)314.下列程序运行结果是( )public class Demo { public static voidmain(String[] args) { Demo demo = new Demo(); demo.show(new Car() { public voidrun() { System.out.println("demo run"); } }); } public void show(Carc) { c.run(); }}abstract class Car { public void run() {System.out.println("car run..."); }}A. car runB. demo runC. 无结果D. 程序编译报错答案: demo run315. 下列选项中,哪个是子类重写父类方法时,必须与父类方法一致的( )A. 函数名B. 返回值类型C. 修饰符D. 参数列表答案:函数名# 返回值类型# 参数列表316.若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Cat cat=(Cat)new Dog();B. Animal animal=new Dog();C. Cat cat=(Cat)new Animal();D. Animal animal=new Cat();答案: Animal animal=new Dog();# Animalanimal=new Cat();317. 一个类如果要实现一个接口,可以通过关键字来实现这个接口。答案: implements318. Java中任何类都直接或间接继承了Object类。答案:正确319. 子类重写父类的方法时,重写的方法可以与父类被重写的方法名、参数列表以及返回值类型不相同。答案: 错误320.super调用父类构造方法的代码必须位于子类构造方法的第一行。答案: 正确321.instanceof关键字可以用于判断一个对象是否为某个类(或接口)的实例或者子类实例。答案:正确322. 父类的引用指向自己子类的对象是多态的一种体现形式。答案: 正确323.请阅读下面的代码String s1=new String(“abc”);Strings2=s1.intern();String s3=”abc”;System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false true falseB. false false falseC. false true trueD. false false true答案: false true false324. 下面选项中不是面向对象的特征的是( )A. 封装B. 重构C. 继承D. 多态答案: 重构325.float类型成员变量的默认初始化值是( )A. nullB. falseC. 0D. 0.0F答案:0.0F326. 下列关键字中,用于创建类的实例对象的是( )A. newB. privateC. voidD. class答案: new327.class Demo{ Demo(){ }}上述代码中定义了一个Demo类,下列构造方法可以存在于Demo类中的是 ( )A. public Demo(){}B. private Demo(){}C. Demo(int age,String name)(){}D. Demo(){}答案: Demo(int age,String name)(){}328. 请阅读下面的程序,程序的运行结果是()。class Person { String name; intage; public Person() {} public Person(String n, int a) { name = n; age = a; }public void show() { System.out.print(name + "---" + age +""); }}public class Test { public static void main(String[] args) { Personp1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); }}A. null---0周星驰---27B. null---27周星驰---27C. 周星驰---0null---27D. 周星驰---27null---27答案: null---0周星驰---27329.下列关于this关键字的说法中,错误的是( )A. this出现在成员方法中,代表的是调用这个方法的对象B. this相当于一个引用,可以通过它调用成员方法与属性C. this可以解决成员变量与局部变量重名问题D. this可以出现在任何方法中答案: this可以出现在任何方法中330.静态方法运行时,在哪个内存区域中( )A. 方法区B. 堆内存C. 寄存器D. 栈内存答案:栈内存331. 下列关于封装的描述中,正确的是( )A. 以上说法均错误B. 封装能提高代码的复用性C. 封装隐藏了程序的实现细节,同时对外提供了特定的访问方式D. 方法和类都可以称为封装体答案:封装能提高代码的复用性# 封装隐藏了程序的实现细节,同时对外提供了特定的访问方式# 方法和类都可以称为封装体332. 下列关于构造方法和普通方法的描述中,正确的是( )A. 构造方法能够在实例对象的同时进行初始化B. 在同一个类中,构造方法必须位于普通方法之前C. 构造方法不能指定返回值类型,普通方法可以指定返回值类型D. 构造方法中不能指定参数,而普通方法可以指定参数答案:构造方法能够在实例对象的同时进行初始化# 构造方法不能指定返回值类型,普通方法可以指定返回值类型333.Person p1 = new Person();Person p2 = p1;这两句代码创建了个对象。答案: 2334.定义一个类,需要使用关键字。答案:class335. 在类中声明的变量称为成员变量,在方法中声明的变量称为局部变量。答案: 正确336. 创建对象时,jvm会找到对应的.java文件,通过.java文件创建对象。答案:错误337. 只要为一个类定义了成员变量,则系统会在这个类的准备阶段或创建这个类的实例时进行默认初始化,初始化值根据其类型决定。答案: 正确338. 类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,成员方法用于描述对象的行为。答案: 正确339. 静态变量可以被类和对象调用。答案: 正确340. Java中可以通过this关键字解决成员变量与局部变量名称冲突问题。答案: 正确341. 如果在一个类中没有定义构造方法,那么系统会自动为这个类创建一个默认的构造方法。答案: 正确342. 垃圾回收机制保证了Java程序不会出现内存溢出。答案: 错误343.下列目录中,哪一个是用来存放JDK核心源代码的( )A. include目录B. lib目录C. jre目录D. src目录答案: src目录344.Java属于以下哪种语言( )A. 高级语言B. 汇编语言C. 机器语言D. 以上都不对答案: 高级语言345.阅读下列代码public class Example { public static voidmain(String[] args) { int[] srcArray = { 11, 12, 13, 14 }; int[] destArray = {21, 22, 23, 24 }; System.arraycopy(srcArray, 1, destArray, 2, 2); for (int i =0; i < destArray.length; i++) { System.out.print(destArray + ""); } }}下列选项中,程序的运行结果是( )A.21221213B.21221112C.21111224D. 发生数组角标越界异常答案: 21221213346. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )A. char charAt(int index)B. int lastIndexOf(int ch)C. boolean endsWith(String suffix)D. int indexOf(int ch)答案: int indexOf(int ch)347.下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. pow()B. random()C. sin()D. abs()答案:random()348. 下面关于静态同步方法说法错误的是( )A. 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行。B. 静态方法必须使用class对象来同步。C. 对于静态的同步方法而言,该方法的同步监视器不是this,而是该类本身。D. 一个类中的多个同步静态方法可以同时被多个线程执行。答案:一个类中的多个同步静态方法可以同时被多个线程执行。349.下列选项中,属于布尔常量的是( )A. 198B. nullC. 2e3fD. true答案: true350. 下列选项中,用于引入包的关键字是( )A. classB. staticC. packageD. import答案: import351.下列字符串常量中,哪一个是错误的( )A. "12'12"B. "abc"C. ""D. "12"12"答案: "12"12"352.阅读下列代码System.out.println(“Hello” + 9 + 1);下列选项中,哪个是正确的输出结果()A. Compilation failsB. Hello10C. Hello91D. An exceptionis thrown at runtime答案: Hello91353.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良354.阅读下面程序片段 switch (i) {case 1:System.out.println("message1");case 2:System.out.println("message2");case 3:System.out.println("message3"); break;}请说当变量i的值为多少时,程序只输出“message 3”。()A. 1B. 2C. 3D. 4答案: 3355.请阅读下面的程序public class Example {public static void main(String[] args) {int x = 1; do {x++;} while (x <= 4);System.out.println("x = " +x);} } 程序的运行结果是()A. 3B. 4C. 5D. 6答案: 5356.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int grade =76; // 定义学生成绩 if (grade > 80) { // 满足条件grade > 80 System.out.println("成绩为优"); } else if (grade > 70){// 不满足条件 grade > 80 ,但满足条件 grade > 70 System.out.println("成绩为良");} else if (grade > 60) { // 不满足条件 grade > 70 ,但满足条件 grade > 60System.out.println("成绩为中"); } else{ // 不满足条件 grade > 60 System.out.println("成绩为差"); } }}程序的运行结果是()A. 成绩为优B. 成绩为良C. 成绩为中D. 成绩为差答案: 成绩为良357.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案:324358. 下面关于方法定义的描述中,正确的是( )A. 方法是对功能代码块的封装B. 当方法没有返回值时,返回值类型可以不写C. 方法是不可以没有参数的D. 当方法没有返回值时,不能有return语句答案: 方法是对功能代码块的封装359.请阅读下面的代码String s1=newString("abc");String s2=s1.intern();Strings3="abc";System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false false falseB. false true trueC. false true falseD. false false true答案: false true false360. 下面哪个修饰符不可以修饰接口中的成员变量( )A. publicB. finalC. staticD. private答案: private361. 函数重写与函数重载的相同之处是( )A. 形参列表B. 函数名C. 返回值类型D. 权限修饰符答案: 函数名362.final修饰符修饰方法时,不能和以下哪个修饰符共用( )A. staticB. publicC. synchronizedD. abstract答案: abstract363. 下列选项中,会导致线程进入死亡状态的是( )A. 线程执行过程中出现错误B. 线程抛出一个未捕获的异常C. 线程调用了sleep()方法D. 线程的run()方法正常执行完毕答案:线程执行过程中出现错误# 线程抛出一个未捕获的异常# 线程的run()方法正常执行完毕364. 同步代码块的作用是( )A. 保证多线程访问数据的安全B. 保证同步代码块中只有一个线程运行C. 同步代码块可以避免线程的随机性D. 同步代码块提高了线程的运行速度答案:保证多线程访问数据的安全# 保证同步代码块中只有一个线程运行365. 下列关于方法重载的说法中,正确的是( )A. 方法名相同,返回值类型不同,可以形成方法重载。B. 方法名相同,参数的类型排列顺序不同可以形成方法重载。C. 方法名相同,参数的类型不同可以形成方法重载。D. 方法名相同,参数个数不同可以形成方法重载。答案:方法名相同,参数的类型排列顺序不同可以形成方法重载。# 方法名相同,参数的类型不同可以形成方法重载。# 方法名相同,参数个数不同可以形成方法重载。366. 下列关于构造方法和普通方法的描述中,正确的是( )A. 构造方法能够在实例对象的同时进行初始化B. 构造方法不能指定返回值类型,普通方法可以指定返回值类型C. 构造方法中不能指定参数,而普通方法可以指定参数D. 在同一个类中,构造方法必须位于普通方法之前答案:构造方法能够在实例对象的同时进行初始化# 构造方法不能指定返回值类型,普通方法可以指定返回值类型367.以下关于super关键字的说法中,正确的是( )A. super()与this()可以同时存在于同一个构造方法中B. super关键字可以调用父类的成员方法C. super关键字可以调用父类的构造方法D. super()与this()不能同时存在于同一个构造方法中答案: super关键字可以调用父类的成员方法# super关键字可以调用父类的构造方法#super()与this()不能同时存在于同一个构造方法中368.若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Animal animal=new Dog();B. Cat cat=(Cat)new Dog();C. Cat cat=(Cat)new Animal();D. Animal animal=new Cat();答案: Animal animal=new Dog();# Animalanimal=new Cat();369.下列关于IO流的描述中,正确的有哪些( )A. 按照操作数据的不同,可以分为字节流和字符流。B. 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。C. 按照数据传输方向的不同又可分为输入流和输出流。D. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。答案: 按照操作数据的不同,可以分为字节流和字符流。# 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。#按照数据传输方向的不同又可分为输入流和输出流。# 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。370. Java中一个类最多可以继承个类。答案:一371. Java提供了一个关键字,可以判断一个对象是否为某个类(或接口)的实例或者子类实例。答案: instanceof372. IO流通常都是成对出现的,即流和输出流一起使用。答案: 输入373.在Java中,类名的首字母要求大写。答案: 正确374.死锁就是两个线程在运行时都在等待对方的锁。答案:正确375. 在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其它运算。答案: 正确376.Java中的常量是固定不变的值。答案: 正确377.continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。答案: 正确378. 当break语句出现在嵌套循环中的内层循环时,就无法跳出循环。答案: 错误379.for循环语句一般用在循环次数未知的情况下。答案: 错误380.定义一个方法时,其访问修饰符、返回值类型、方法名的顺序可以互换。答案: 错误381.面向对象的特点主要可以概括为封装性、继承性和重载性。答案: 错误382.只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用。答案:错误383. 下列关于IO流的描述中,正确的有哪些( )A. 字节流的输入输出流分别用javB. 按照数据传输方向的不同又可分为输入流和输出流。C. 按照操作数据的不同,可以分为字节流和字符流。D. 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。答案: 字节流的输入输出流分别用jav# 按照数据传输方向的不同又可分为输入流和输出流。#按照操作数据的不同,可以分为字节流和字符流。# 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。384.下列目录中,哪一个是用来存放JDK核心源代码的( )A. lib目录B. jre目录C. src目录D. include目录答案: src目录385.Java属于以下哪种语言( )A. 以上都不对B. 汇编语言C. 机器语言D. 高级语言答案: 高级语言386.阅读下列代码public class Example { public static voidmain(String[] args) { int[] srcArray = { 11, 12, 13, 14 }; int[] destArray = {21, 22, 23, 24 }; System.arraycopy(srcArray, 1, destArray, 2, 2); for (int i =0; i < destArray.length; i++) { System.out.print(destArray + ""); } }}下列选项中,程序的运行结果是( )A.21221213B.21221112C.21111224D. 发生数组角标越界异常答案: 21221213387. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )A. char charAt(int index)B. int lastIndexOf(int ch)C. int indexOf(int ch)D. boolean endsWith(String suffix)答案: int indexOf(int ch)388.下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. abs()B. pow()C. sin()D. random()答案:random()389. 下面关于静态同步方法说法错误的是( )A. 一个类中的多个同步静态方法可以同时被多个线程执行。B. 对于静态的同步方法而言,该方法的同步监视器不是this,而是该类本身。C. 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行。D. 静态方法必须使用class对象来同步。答案:一个类中的多个同步静态方法可以同时被多个线程执行。390.下列选项中,属于布尔常量的是( )A. trueB. 2e3fC. 198D. null答案: true391. 下列选项中,用于引入包的关键字是( )A. staticB. classC. packageD. import答案: import392.下列字符串常量中,哪一个是错误的( )A. "abc"B. ""C. "12"12"D. "12'12"答案: "12"12"393.阅读下列代码System.out.println(“Hello” + 9 + 1);下列选项中,哪个是正确的输出结果()A. An exceptionis thrown at runtimeB. Compilation failsC. Hello10D. Hello91答案: Hello91394.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良395.阅读下面程序片段 switch (i) {case 1:System.out.println("message1");case 2:System.out.println("message2");case 3:System.out.println("message3"); break;}请说当变量i的值为多少时,程序只输出“message 3”。()A. 1B. 2C. 3D. 4答案: 3396.请阅读下面的程序public class Example {public static void main(String[] args) {int x = 1; do {x++;} while (x <= 4);System.out.println("x = " +x);} } 程序的运行结果是()A. 3B. 4C. 5D. 6答案: 5397.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int grade =76; // 定义学生成绩 if (grade > 80) { // 满足条件grade > 80 System.out.println("成绩为优"); } else if (grade > 70){// 不满足条件 grade > 80 ,但满足条件 grade > 70 System.out.println("成绩为良");} else if (grade > 60) { // 不满足条件 grade > 70 ,但满足条件 grade > 60System.out.println("成绩为中"); } else{ // 不满足条件 grade > 60 System.out.println("成绩为差"); } }}程序的运行结果是()A. 成绩为优B. 成绩为良C. 成绩为中D. 成绩为差答案: 成绩为良398.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案:324399. 下面关于方法定义的描述中,正确的是( )A. 方法是不可以没有参数的B. 当方法没有返回值时,不能有return语句C. 方法是对功能代码块的封装D. 当方法没有返回值时,返回值类型可以不写答案: 方法是对功能代码块的封装400.请阅读下面的代码String s1=newString("abc");String s2=s1.intern();Strings3="abc";System.out.println(s1==s2);System.out.println(s2==s3);System.out.println(s1==s3);下列选项中,程序的输出结果为()A. false false falseB. false false trueC. false true trueD. false true false答案: false true false401. 下面哪个修饰符不可以修饰接口中的成员变量( )A. staticB. finalC. privateD. public答案: private402. 函数重写与函数重载的相同之处是( )A. 返回值类型B. 权限修饰符C. 函数名D. 形参列表答案: 函数名403.final修饰符修饰方法时,不能和以下哪个修饰符共用( )A. staticB. publicC. synchronizedD. abstract答案: abstract404. 下列选项中,会导致线程进入死亡状态的是( )A. 线程执行过程中出现错误B. 线程调用了sleep()方法C. 线程的run()方法正常执行完毕D. 线程抛出一个未捕获的异常答案:线程执行过程中出现错误# 线程的run()方法正常执行完毕# 线程抛出一个未捕获的异常405. 同步代码块的作用是( )A. 同步代码块可以避免线程的随机性B. 同步代码块提高了线程的运行速度C. 保证多线程访问数据的安全D. 保证同步代码块中只有一个线程运行答案:保证多线程访问数据的安全# 保证同步代码块中只有一个线程运行406. 下列关于方法重载的说法中,正确的是( )A. 方法名相同,参数个数不同可以形成方法重载。B. 方法名相同,返回值类型不同,可以形成方法重载。C. 方法名相同,参数的类型不同可以形成方法重载。D. 方法名相同,参数的类型排列顺序不同可以形成方法重载。答案:方法名相同,参数个数不同可以形成方法重载。# 方法名相同,参数的类型不同可以形成方法重载。# 方法名相同,参数的类型排列顺序不同可以形成方法重载。407. 下列关于构造方法和普通方法的描述中,正确的是( )A. 构造方法不能指定返回值类型,普通方法可以指定返回值类型B. 构造方法能够在实例对象的同时进行初始化C. 在同一个类中,构造方法必须位于普通方法之前D. 构造方法中不能指定参数,而普通方法可以指定参数答案:构造方法不能指定返回值类型,普通方法可以指定返回值类型# 构造方法能够在实例对象的同时进行初始化408.以下关于super关键字的说法中,正确的是( )A. super()与this()可以同时存在于同一个构造方法中B. super关键字可以调用父类的成员方法C. super()与this()不能同时存在于同一个构造方法中D. super关键字可以调用父类的构造方法答案: super关键字可以调用父类的成员方法# super()与this()不能同时存在于同一个构造方法中#super关键字可以调用父类的构造方法409.若Animal 是Cat,Dog的父类,则下列选项中,正确的是( )A. Cat cat=(Cat)new Dog();B. Animal animal=new Cat();C. Animal animal=new Dog();D. Cat cat=(Cat)new Animal();答案: Animal animal=new Cat();# Animalanimal=new Dog();410. 下列关于IO流的描述中,正确的有哪些( )A. 按照数据传输方向的不同又可分为输入流和输出流。B. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。C. 按照操作数据的不同,可以分为字节流和字符流。D. 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。答案:按照数据传输方向的不同又可分为输入流和输出流。# 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。#按照操作数据的不同,可以分为字节流和字符流。# 字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。411. Java中一个类最多可以继承个类。答案:一412. Java提供了一个关键字,可以判断一个对象是否为某个类(或接口)的实例或者子类实例。答案: instanceof413. IO流通常都是成对出现的,即流和输出流一起使用。答案:输入414. 下列关于IO流的描述中,正确的有哪些( )A. 字符流的输入输出流分别用javB. 按照数据传输方向的不同又可分为输入流和输出流。C. 字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。D. 按照操作数据的不同,可以分为字节流和字符流。答案: 字符流的输入输出流分别用jav# 按照数据传输方向的不同又可分为输入流和输出流。#字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示。# 按照操作数据的不同,可以分为字节流和字符流。415.下面关于path和classpath的说法中,错误的是( )A. path用来指定java虚拟机(JVM)所在的目录B. classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C. 只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类D. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同答案: 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同416. 下面选项中,完全面向对象的编程语言是( )A. FORTRANB. CC. COBOLD. JAVA答案: JAVA417.下列关于JDK、JRE和JVM关系的描述中,正确的是( )。A. JDK中包含了JRE,JVM中包含了JRE。B. JDK中包含了JRE,JRE中包含了JVM。C. JRE中包含了JDK,JDK中包含了JVM。D. JRE中包含了JDK,JVM中包含了JRE。答案: JDK中包含了JRE,JRE中包含了JVM。418.StringBuffer类的append()方法的返回值类型是( )A. StringBufferB. StringBuilderC. voidD. String答案: StringBuffer419. 下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是( )A. nextInt()B. nextBoolean()C. nextLong()D. nextInt(int n)答案: nextInt(int n)420. 下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是( )A. sin()B. abs()C. random()D. pow()答案: random()421.下列关于System类的描述中,错误的是( )A. System类不能被实例化B. System类是final关键字修饰的类,它不能被其他类所继承C. System类中定义了许多方法,但是没有定义字段D.System类中提供了获取当前系统属性的方法答案: System类中定义了许多方法,但是没有定义字段422.JDBC驱动器也称为JDBC驱动程序,它的提供者是( )A. 数据库厂商B. ORACLEC. SUND. ISO答案:数据库厂商423. 下列选项中,正确关闭数据库资源的顺序是( )A. statement.close()B. preparedSatement.close()C. connection.close()D. resultSet.close()答案: resultSet.close()424. 下列关于线程状态转换的描述中,错误的是( )A. 线程失去CPU使用权后会从运行状态转换成就绪状态B. 死亡状态下的线程调用start()方法可以使其重新进入就绪状态C. 运行状态下的线程调用wait()方法可以使其进入到阻塞状态D. 线程获得CPU使用权后会从就绪状态转换成运行状态答案:死亡状态下的线程调用start()方法可以使其重新进入就绪状态425. JAVA中调用Thread类的sleep()方法后,当前线程状态如何转换()A. 由运行状态进入等待状态B. 由运行状态进入阻塞状态C. 由阻塞状态进入等待状态D. 由阻塞状态进入运行状态答案:由运行状态进入阻塞状态426. 关于表达式1345/1000 * 1000的运算结果,下列哪个选项是正确的( )A. 以上都不对B. 1345.0C. 1000D. 1345答案: 1000427.以下标识符中,不合法的是( )A. login_1B. $innerC. userD. class答案: class428. 下列选项中,不属于赋值运算符的是( )A. ==B. =C. *=D. -=答案:==429. 下列选项中,不属于比较运算符的是( )A. <=B. <C. =D. ==答案: =430.请阅读下面的程序public class Test{ public static voidmain(String[] args) { int x = 3; if (x > 5) {System.out.println("a"); } else { System.out.println("b");} } }程序的运行结果是( )A. trueB. falseC. aD. b答案: b431.请阅读下面的程序public class SwitchDemo{ public static voidmain(String[] args) { char c = ‘B’; switch(c){ case ‘A’: System.out.println(“优”);break; case ‘B’: System.out.println(“良”); break; case ‘C’: System.out.println(“差”);break; } }}下列选项中,哪一个才是程序的运行结果( )A. 优B. 良C. 差D. 编译失败答案: 良432.请阅读下面的程序。class WhileDemo{ public static voidmain(String[] args) { int n = 5; while (n < 10) { System.out.print(n); n++;} }}下列选项中,哪一个是程序运行的结果( )A. 无输出B. 输出56789C. 死循环D. 编译错误答案:输出56789433.请阅读下面的程序public class Test { public static voidmain(String[] args) { int i = 0; int count = 0; do { if (!(i +"").contains("4")) { count++; } i++; } while (i < 500);System.out.println("一共有:" + count); }} 下列选项中,哪一个是程序运行后count的值( )A. 322B. 323C. 324D. 325答案: 324434.请阅读下面的代码 class A{ int x; static int y; voidfac(String s){ System.out.println(“字符串:”+s); }}下列选项中描述正确的是( )A. x,y和s都是成员变量B. x是实例变量,y是类变量,s是局部变量C. x和y是实例变量,s是参数D. x,y和s都是实例变量答案:x是实例变量,y是类变量,s是局部变量435.下列关于default语句的说法中,正确的是( )A. 一般情况下,default放置在switch语句的最后面。B. default不是swicth语句中必须的。C. 在switch语句中,default必须存在。D. default代表的是默认要执行的语句,也就是没有匹配就执行default。答案: 一般情况下,default放置在switch语句的最后面。# default不是swicth语句中必须的。#default代表的是默认要执行的语句,也就是没有匹配就执行default。436. 下列关于静态代码块的描述中,正确的是( )A. 静态代码块指的是被static关键字修饰的代码块B. 静态代码块随着类的加载而加载C. 使用静态代码块可以实现类的初始化D. 每次创建对象时,类中的静态代码块都会被执行一次答案:静态代码块指的是被static关键字修饰的代码块# 静态代码块随着类的加载而加载# 使用静态代码块可以实现类的初始化437. 当子类B继承父类A时,下面描述正确的是?( )A. 创建类B的对象可以调用类A中的private修饰的成员方法B. 创建类B的对象可以调用类A中的private修饰的成员变量C. 创建类B的对象可以调用类A中的public修饰的成员变量D. 创建类B的对象可以调用类A中的public修饰的成员方法答案:创建类B的对象可以调用类A中的public修饰的成员变量# 创建类B的对象可以调用类A中的public修饰的成员方法438.下列遍历方式中,哪些可以用来遍历List集合( )A. get()和size()方法结合实现B. get()和length()方法结合实现C. 增强for循环实现D. Iterator迭代器实现答案: get()和size()方法结合实现# 增强for循环实现# Iterator迭代器实现439.以下关于字节流的说法正确的是( )A. 在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的B. InputStream和OutputStream这两个类都是抽象类,不能被实例化C. 所有的字节输入流都继承自InputStreamD. 以上都正确答案: 在计算机中,无论是文本、图片、音频还是视频,所有文件都是以二进制(字节)形式存在的#InputStream和OutputStream这两个类都是抽象类,不能被实例化# 所有的字节输入流都继承自InputStream# 以上都正确440.在Thread类中提供了一个方法来实现线程插队。答案: join441.用于比较两个整数不相等的运算符是。答案: !442.在Java中的跳转语句有语句和continue语句。答案: break443. 构造方法没有返回值类型,因此不能使用语句。答案: return444. JDK安装的时候不可以修改安装目录。答案: 错误445.main()函数是java程序的执行入口。答案: 正确446.Java语言有三种技术平台,分别是JavaSE、JavaME、JavaEE。答案: 正确447. 死锁就是两个线程在运行时都在等待对方的锁。答案: 正确448.在Java中,小数会被默认是double类型的值。答案: 正确449.System.out.println(‘a’ + 0);语句的输出结果是a0。答案: 错误450.Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似。答案: 正确451. 多维数组实际上就是数组中嵌套着数组,数组中的元素还是一个数组。答案: 正确452. 垃圾回收机制保证了Java程序不会出现内存溢出。答案:错误453. 类只支持单继承,不允许多重继承,C类不可以既继承A类又B类。答案: 正确454. 匿名内部类就是一个没有类名的内部类。答案: 正确
页:
[1]