第一章
1、
Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的?
(0分)
- A、Inner in = new Inner()
- B、Inner in = new Outer.Inner();
- C、Outer.Inner in = new Outer.Inner();
- D、Outer.Inner in = new Outer().new Inner();
参考答案:D
JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可,不需要专门安装JRE工具了。
4、
下列选项中,可以正确配置classpath的命令是( )
(0分)
- A、set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin
- B、set classpath : C:\\Program Files\\Java\\jdk1.7.0_15\\bin
- C、classpath set =C:\\Program Files\\Java\\jdk1.7.0_15\\bin
- D、classpath set : C:\\Program Files\\Java\\jdk1.7.0_15\\bin
参考答案:A
答案说明:
配置classpath的命令是setclasspath=xxx,并且等于号两边不要有空格。
5、
下面命令中,可以用来正确执行HelloWorld案例的是()
(0分)
- A、java HelloWorld
- B、java HelloWorld.java
- C、javac HelloWorld
- D、javac HelloWorld.java
参考答案:A
答案说明:
java命令负责运行编译后的.class文件,不需要文件后缀名。
16、
下列Java命令中,哪一个可以编译HelloWorld.java文件?
(0分)
- A、java HelloWorld
- B、java HelloWorld.java
- C、javac HelloWorld
- D、javac HelloWorld.java
参考答案:D
答案说明:
javac命令用于编译.java文件;java命令用户解析.class文件。
20、
下面命令正确的是
(0分)
- A、java AppFirst.java
- B、java AppFirst
- C、java appfirst.class
- D、javac AppFirst
参考答案:B
10、Java属于以下哪种语言?()(0分)
- A、机器语言
- B、汇编语言
- C、高级语言
- D、以上都不对
参考答案:C
答案说明:
Java是一门高级编程语言
12、
Java语言是一种( ) 语言
(0分)
- A、机器
- B、汇编
- C、面向过程的
- D、面向对象的
参考答案:D
如果jdk的安装路径为:c:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项
(0分)
- A、c:\\jdk;
- B、c:\\jdk\\bin;
- C、c:\\jre\\bin;
- D、c:\\jre;
参考答案:B
答案说明:
path环境必须设为javac.exe和java.exe的上一级目录bin
配置系统环境变量时时以英文半角分号(;)分隔每一个路径的。
21、
配置classpath环境变量的目的是为了可以查找到java文件。
(0分)
- √
- ×
参考答案:错
答案说明:
配置classpath环境变量的目的是为了让Java虚拟机能找到所需的class文件
24、
Java配置环境变量path的目的是为了可以查找到.class文件。
(0分)
- √
- ×
参考答案:错
答案说明:
配置path环境变量是为了可以使用jdk中的命令。
26、
使用javac命令,可以将Hello.java文件编译成Hello.class文件
(0分)
- √
- ×
参考答案:对
答案说明:
javac命令可以将Java源文件编译为.class的字节码文件。
第二章
2、请阅读下面的程序
publicclass Test {
public static void main(String[] args) {
for(int x =0;x<5;x++)
{
if(x%2==0)
break;
System.out.print(x+” “);
}
}
}
下列选项中,哪一个是程序的运行结果(0分)
- A、1 2 3 4 5
- B、0 2 4
- C、1 3
- D、不输出任何内容
参考答案:D
答案说明:由于上述程序在for循环中使用了break语句,当执行到break语句时,就会跳出本次循环,break后的语句一直没有机会执行,因此,最后什么都不会输出
4、
下列关于浮点型数据的定义,哪一个不能通过编译( )
(0分)
- A、double a=12.45;
- B、float b=12.45;
- C、double c=100;
- D、float d=100;
参考答案:B
答案说明:
float类型的数据在定义浮点型数据时,必须在后面加上f或F.double类型的数据在定义时可以在后面加上d或D,也可以不加。
5、以下关于变量的说法错误的是?(0分)
- A、变量名必须是一个有效的标识符
- B、变量在定义时可以没有初始值
- C、变量一旦被定义,在程序中的任何位置都可以被访问
- D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明
参考答案:C
答案说明:变量只在其定义的大括号内有效
、
下列数据类型进行运算时,哪一个会发生自动类型提升
(0分)
- A、int + int
- B、long + long
- C、byte + byte
- D、double + double
参考答案:C
答案说明:
byte型的变量在运算期间类型会自动提升为int型
、
下列数据类型进行运算时,哪一个会发生自动类型提升
(0分)
- A、int + int
- B、long + long
- C、byte + byte
- D、double + double
参考答案:C
答案说明:
byte型的变量在运算期间类型会自动提升为int型
15、
设有定义 int i= 6 ;,则执行以下语句后,i 的值为( )。
i += i -1;
(0分)
- A、10
- B、121
- C、11
- D、100
参考答案:C
16、
下列命令中,可以将文档注释提取出来生成帮助文档的是()
(0分)
- A、javac
- B、java
- C、javadoc
- D、jar
参考答案:C
答案说明:
可以使用javadoc命令将文档注释提取出来生成帮助文档
30、
switch语句中的条件表达式可以是Java中的任意一种数据类型
(0分)
- √
- ×
参考答案:错
答案说明:
在Jdk5.0中,switch语句条件表达式的取值可以是byte、short、int、long、char、enum这几种数据类型。在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。但是switch还是不支持boolean类型
第三章 面向对象 (上)
5、
下列关于使用this调用构造方法的说法中,错误的是?( )
(0分)
- A、使用this调用构造方法的格式为this([参数1,参数2…])
- B、只能在构造方法中使用this调用其它的构造方法
- C、使用this调用其它构造方法的语句必须放在第一行
- D、在一个类的两个构造方法中可以使用this互相调用
8、阅读下面的代码
class Demo{
privateString name;
Demo(String name){this.name = name;}
privatestatic void show(){
System.out.println(name)
}
publicstatic void main(String[] args){
Demo d = new Demo(“lisa”);
d.show();
}
}
下列关于程序运行结果的描述中,正确的是()
(0分)
- A、输出 lisa
- B、输出null
- C、输出name
- D、编译失败,无法从静态上下文中引用非静态变量name
参考答案:D
10、下列关于单例设计模式的描述中,正确的是( )
(0分)
- A、将一个类设计为单例设计模式,在其他类中可以创建这个类对象
- B、将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
- C、将一个类设计为单例设计模式,需要定义一个静态的成员方法将本类创建的对象返回给调用者
- D、以上答案都不对
参考答案:B
13、下列关于静态方法的描述中,错误的是( )。
(0分)
- A、静态方法属于类的共享成员
- B、静态方法是通过"类名.方法名"的方式来调用
- C、静态方法只能被类调用,不能被对象调用
- D、静态方法中可以访问静态变量
参考答案:C
15、
阅读下面的程序:
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);
}
}
程序执行后,运行结果为以下哪个选项?
(0分)
- A、9
- B、5
- C、6
- D、6.1
参考答案:A
16、
请阅读下面的代码
class A{
int x;
static int y;
void fac(String s){
System.out.println(“字符串:”+s);
}
}
下列选项中描述正确的是( )
(0分)
- A、x , y和s 都是成员变量
- B、x 是实例变量,y是类变量,s是局部变量
- C、x和y是实例变量,s是参数
- D、x ,y和s都是实例变量
参考答案:B
答案说明:
在方法中声明的s是局部变量,使用static关键字修饰的y是类变量,在类中定义的x是实例变量。
17、阅读下列的代码
public class Test {
public static void main(String[] args) {
_________________________
_________________________
}
}
class Outer {
static class Inner {
public void method () {
System.out.println("method");
}
}
}
下列选项中,填写在空白处可以使程序正常运行的是()
(0分)
- A、Outer o = new Outer(); o.method();
- B、Inner I = new Inner(); i.method();
- C、Outer.Inner oi = new Outer.Inner(); oi.method();
- D、以上答案都不对
参考答案:C
23、
在Java语言中,封闭是借助于( )实现的
(0分)
- A、对象
- B、类
- C、数组
- D、成员
参考答案:D
31、静态代码块优先于构造代码块运行。(0分)
- √
- ×
参考答案:对
答案说明:
34、
与普通方法一样,构造方法也可以重载。
(0分)
- √
- ×
参考答案:对
静态代码块是随着类的加载而加载,而构造代码块是在创建对象时执行的
35、被static关键字修饰的成员变量被称为静态变量,它可以被该类所有的实例对象共享。(0分)
- √
- ×
参考答案:对
第四章 面向对象(四)
2、在下面哪种情况下,可以使用方法重写?( )(0分)
- A、父类方法中的形参不适用于子类使用时
- B、父类中的方法在子类中没有时
- C、父类的功能无法满足子类的需求时
- D、父类方法中的返回值类型不适合子类使用
参考答案:C
答案说明:父类的功能无法满足子类的需求时,这时候可以使用方法的重写。
5、
System类位于以下哪个包中?
(0分)
- A、java.is
- B、java.util
- C、java.awt
- D、java.lang
参考答案:D
7、阅读下段代码,
class Dog
{
public String name;
Dog(String name){
this.name =name;
}
}
public class Demo1
{
public static void main(String[] args){
Dog dog1 = new Dog("xiaohuang");
Dog dog2 = new Dog("xiaohuang");
String s1 = dog1.toString();
String s2 = dog2.toString();
String s3 = "xiaohuang";
String s4 = "xiaohuang";
}
}
返回值为true的是?( )
(0分)
- A、dog1.equals(dog2)
- B、s1.equals(s2)
- C、s3.equals(s4)
- D、dog1==dog2
参考答案:C
答案说明:选项A比较的是两个对象的地址,结果为false,选项B比较的是dog1和dog2对象的to String()值,结果为false,选项C,比较的是内容,内容相同,所以为true,选项D比较的是dog1和dog2对象的地址,结果为false
8、下列选项中,可以导入指定包中所有类的是( )(0分)
- A、package包名;
- B、package 包名.*;
- C、import 包名;
- D、import 包名.*;
参考答案:D
答案说明:如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类
14、
已知类的继承关系如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
则以下语句能通过编译的有哪些?
(0分)
- A、Employee e=new Manager();
- B、Director d=new Manager();
- C、Director d=new Employee();
- D、Manager m=new Director();
参考答案:A
6、下面程序的运行结果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
System.out.println("除法正常运行");
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
}
}
}(0分)
- A、编译失败
- B、编译通过,没有结果输出
- C、输出:除法正常运行
- D、输出:除数不能为0
参考答案:D
答案说明:虽然是运行时期异常,但是也可以使用try…catch语句进行处理。一旦进入处理语句就不会再回去执行
40、
实现抽象类和接口的类必须实现其中的所有方法。
(0分)
- √
- ×
参考答案:对
、SimpleDateFormat类的哪个方法可以格式化日期?()(0分)
- A、format
- B、parse
- C、toString
- D、equals
参考答案:A
答案说明:format方法,格式化日期
12、假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?( )
(0分)
- A、false
- B、0
- C、-1
- D、以上答案都不对
参考答案:C
14、Calendar.MONTH用于表示月份,如果现在是4月份,得到的Calendar.MONTH字段的值应该是?( )
(0分)
- A、4
- B、3
- C、5
- D、以上都不对
参考答案:B
19、先阅读下面的程序片段:
String str = "abccdefcdh";
String[] arr = str.split("c");
System.out.println(arr.length);
程序执行后,打印的结果是几?(0分)
- A、2个
- B、3个
- C、4个
- D、5个
参考答案:C
1、StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。(0分)
- √
- ×
参考答案:对
22、拆箱是指将引用数据类型的对象转为基本数据类型。(0分)
- √
- ×
参考答案:对
26、java.util.Random的nextInt( )方法会生成一个正整数类型的伪随机数。(0分)
- √
- ×
参考答案:错
27、Date、Calendar以及DateFormat类都位于java.util包中。(0分)
- √
- ×
参考答案:错
1、线程调用sleep()方法后,该线程将进入以下哪种状态?(0分)
- A、就绪状态
- B、运行状态
- C、阻塞状态
- D、死亡状态
参考答案:C
2、
以下哪种原因不会导致线程暂停运行。
(0分)
- A、等待
- B、阻塞
- C、休眠
- D、挂起及由于I/O操作而阻塞
参考答案:B
答案说明:
3、
如果线程正处于运行状态,则它可能到达的下一个状态是()
(0分)
- A、只有终止状态
- B、只有阻塞状态和终止状态
- C、可运行状态,阻塞状态,终止状态
- D、其他所有状态
参考答案:B
、在以下哪种情况下,线程进入就绪状态?(0分)
- A、线程调用了sleep()方法时
- B、线程调用了join()方法
- C、线程调用了yield()方法时
- D、线程调用了notify()方法
参考答案:D
5、Thread类位于下列哪个包中?(0分)
- A、java.io
- B、java.lang
- C、java.util
- D、java.awt
参考答案:B
7、静态方法不能使用synchronized关键字来修饰。(0分)
- √
- ×
参考答案:错
9、线程结束等待或者阻塞状态后,会进入运行状态。(0分)
- √
- ×
参考答案:错
答案说明:只有处于就绪状态的线程才可能转换到运行状态
11、如果前台线程全部死亡,后台线程也会自动死亡。(0分)
- √
- ×
参考答案:对
第六章 JAVA API
2、先阅读下面的程序片段:
String str1=newString("java");
String str2=newString("java");
StringBufferstr3=new StringBuffer("java");
对于上述定义的变量,以下表达式的值为true的是哪个?(0分)
- A、str1==str2;
- B、str1.equals(str2);
- C、str1==str3;
- D、以上都不对
参考答案:B
第七章
1、下列选项中,哪一个类是Properties类的直接父类( )(0分)
- A、Map
- B、HashMap
- C、Hashtable
- D、TreeMap
参考答案:C
答案说明:Hashtable类有一个子类Properties在实际应用中非常重要,Properties主要用来存储字符串类型的键和值
2、获取单列集合中元素的个数可以使用以下哪个方法?(0分)
- A、length()
- B、size()
- C、get(int index)
- D、add(Object obj)
参考答案:B
3、Collections工具类的binarySearch()方法返回值的数据类型是( )(0分)
- A、String
- B、int
- C、double
- D、float
参考答案:B
答案说明:binarySearch()方法的返回值是int类型,表示元素在集合中的索引值
4、下列选项中,不属于TreeMap类的方法的是( )
(0分)
- A、firstKey()
- B、isEmpty()
- C、lowerEntry(K key)
- D、higherKey(K key)
参考答案:B
答案说明:isEmpty()方法属于HashMap类
6、下列选项中,不属于HashMap类的方法的是()(0分)
- A、get(Object key)
- B、keySet()
- C、comparator()
- D、entrySet()
参考答案:C
答案说明:comparator()方法是TreeMap类中的方法
11、下列是Collections工具类中定义的一些方法,其中能够对List集合中的元素进行随机排序的方法是( )(0分)
- A、static void sort(List list)
- B、static void swap(List list,int i,int j)
- C、static void shuffle(List list)
- D、static void reverse(List list)
参考答案:C
答案说明:static void shuffle(List list)用于对List集合中的元素进行随机排序
12、下面选项中,哪个是Comparator接口提供的方法()(0分)
- A、compare(T o1, T o2)
- B、compareTo(T o)
- C、equals(Object obj)
- D、A和C
参考答案:D
答案说明:compare(T o1, T o2)和equals(Objectobj)方法是Comparator接口提供的两个方法,compareTo(T o)是Comparable接口提供的方法
14、阅读下面的程序
public classExample{
public static void main(String[] args) {
String[] strs = { "Tom", "Jerry","Donald" };
// foreach循环遍历数组
for (String str : strs) {
str = "Tuffy";
}
System.out.println(strs[0] + "," + strs[1] +"," + strs[2]);
}
}
程序的运行结果是( )
(0分)
- A、Tom,Jerry,Donald
- B、Tuffy,Jerry,Donald
- C、Tuffy, Tuffy, Tuffy
- D、发生异常,输出异常信息
参考答案:A
答案说明:当使用foreach循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。但是像本题程序中那样尝试进行修改,并不会发生异常,只是对元素的修改不成功,集合或数组中的元素仍然是从前的值
15、下列有关HashSet集合的描述中,错误的是( )(0分)
- A、HashSet是Set接口的一个实现类
- B、向HashSet存入对象时,对象一般会重写hashCode ()和equals ()方法
- C、向HashSet存入对象时,对象的equals ()方法一定会被执行
- D、HashSet存储的元素是不可重复的
参考答案:C
答案说明:当调用HashSet集合的add()方法存入元素时,首先调用当前存入对象的hashCode()方法获得对象的哈希值,然后根据对象的哈希值计算出一个存储位置。如果该位置上没有元素,则直接将元素存入,如果该位置上有元素存在,才会调用equals()方法
19、阅读下段代码
import java.util.*;
public class Example{
public static void main(String[] args) {
TreeSet ts = new TreeSet(); //创建TreeSet集合
ts.add("Jack"); // 向TreeSet集合中添加元素
ts.add("Helena");
ts.add("Helena");
ts.add("Eve");
Iterator it = ts.iterator(); //获取Iterator对象
while(it.hasNext()){
System.out.print(it.next()+" ");
}
}
}
下列选项中,程序的运行结果是()(0分)
- A、Jack Helena Helena Eve
- B、Eve Helena Helena Jack
- C、Jack Helena Eve
- D、Eve Helena Jack
参考答案:D
答案说明:使用二叉树存储结构存储元素时,会将重复的元素去掉,并按照字母顺序排列
23、TreeMap集合可以对元素进行排序(0分)
- √
- ×
参考答案:对
答案说明:TreeMap集合的内部采用平衡二叉树来存储元素,这样的结构可以保证TreeMap集合中没有重复的元素,并且可以对元素进行排序
28、使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素(0分)
- √
- ×
参考答案:错
答案说明:
30、集合是长度可变的数组(0分)
- √
- ×
参考答案:错
答案说明:数组只能存储同一数据类型的数据,集合可以存储多种数据类型的数据
第八章 io流
5、下列关于java.io.FileOutputStream的说法错误的是( )
(0分)
- A、 java.io.FileOutputStream用来进行文件的写入操作。用它提供的方法可以将指定文件写入本地主机硬盘上。
- B、通过类File的实例和者一个表示文件名称的字符串可以生成文件输出流。在流对象生成的同时文件被打开。但还不能进行文件读写
- C、 java.io.FileOutputStream可以读取字节文件也可以读取字符文件
- D、java.io.FileOutputStream一次只能读取一个字节的内容
参考答案:D
6、以下选项中,哪个是FileInputStream的父类( )
(0分)
- A、File
- B、FileOutputStream
- C、OutputStream
- D、InputStream
参考答案:D
10、阅读下列代码
import java.io.*;
public class Example{
public static void main(String[] args) throws Exception {
// 创建一个带缓冲区的输入流
BufferedInputStream bis = new BufferedInputStream(new ________(
"src.txt"));
// 创建一个带缓冲区的输出流
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("des.txt"));
int len;
while ((len = bis.read()) != -1) {
bos.write(len);
}
bis.close();
bos.close();
}
}
下列选项中,可以填写在程序空白处的是()
(0分)
- A、FileInputStream
- B、File
- C、InputStream
- D、以上答案都不正确
参考答案:A
12、标准输入流对应的类型是()(0分)
- A、InputStreamReader
- B、InputStream
- C、DataInputStream
- D、FileInputStream
参考答案:B
答案说明:标准输入流对应的类型是InputStream,字节输入流
17、下列选项中,哪一个不是InputStream的直接子类( )
(0分)
- A、ByteArrayInputStream
- B、FileInputStream
- C、BufferedInputStream
- D、PipedInputStream
参考答案:C