java基础入门 选择题总结复习

第一章 

1、

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

(0分)

  1. A、Inner in = new Inner()
  2. B、Inner in = new Outer.Inner();
  3. C、Outer.Inner in = new Outer.Inner();
  4. D、Outer.Inner in = new Outer().new Inner();

参考答案:D

 

 

 

JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可,不需要专门安装JRE工具了。

 

 

4、

下列选项中,可以正确配置classpath的命令是( )

(0分)

  1. A、set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin
  2. B、set classpath : C:\\Program Files\\Java\\jdk1.7.0_15\\bin
  3. C、classpath set =C:\\Program Files\\Java\\jdk1.7.0_15\\bin
  4. D、classpath set : C:\\Program Files\\Java\\jdk1.7.0_15\\bin

参考答案:A

答案说明:

配置classpath的命令是setclasspath=xxx,并且等于号两边不要有空格。

 

 

5、

下面命令中,可以用来正确执行HelloWorld案例的是()

(0分)

  1. A、java HelloWorld
  2. B、java HelloWorld.java
  3. C、javac HelloWorld
  4. D、javac HelloWorld.java

参考答案:A

答案说明:

java命令负责运行编译后的.class文件,不需要文件后缀名。

 

 

 

16、

下列Java命令中,哪一个可以编译HelloWorld.java文件?

(0分)

  1. A、java HelloWorld
  2. B、java HelloWorld.java
  3. C、javac HelloWorld
  4. D、javac HelloWorld.java

参考答案:D

答案说明:

javac命令用于编译.java文件;java命令用户解析.class文件。

 

 

20、

下面命令正确的是

(0分)

  1. A、java AppFirst.java
  2. B、java AppFirst
  3. C、java appfirst.class
  4. D、javac AppFirst

参考答案:B

 

 

 

10、Java属于以下哪种语言?()(0分)

  1. A、机器语言
  2. B、汇编语言
  3. C、高级语言
  4. D、以上都不对

参考答案:C

答案说明:

Java是一门高级编程语言

 

12、

Java语言是一种( ) 语言

(0分)

  1. A、机器
  2. B、汇编
  3. C、面向过程的
  4. D、面向对象的

参考答案:D

 

 

 

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

(0分)

  1. A、c:\\jdk;
  2. B、c:\\jdk\\bin;
  3. C、c:\\jre\\bin;
  4. D、c:\\jre;

参考答案:B

答案说明:

path环境必须设为javac.exe和java.exe的上一级目录bin

 

 

配置系统环境变量时时以英文半角分号(;)分隔每一个路径的。

 

 

 

21、

配置classpath环境变量的目的是为了可以查找到java文件。

(0分)

  1. ×

参考答案:错

答案说明:

配置classpath环境变量的目的是为了让Java虚拟机能找到所需的class文件

 

 

24、

Java配置环境变量path的目的是为了可以查找到.class文件。

(0分)

  1. ×

参考答案:错

答案说明:

配置path环境变量是为了可以使用jdk中的命令。   

 

 

26、

使用javac命令,可以将Hello.java文件编译成Hello.class文件

(0分)

  1. ×

参考答案:对

答案说明:

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分)

  1. A、1 2 3 4 5
  2. B、0 2 4
  3. C、1 3
  4. D、不输出任何内容

参考答案:D

答案说明:由于上述程序在for循环中使用了break语句,当执行到break语句时,就会跳出本次循环,break后的语句一直没有机会执行,因此,最后什么都不会输出

 

 

 

 

4、

下列关于浮点型数据的定义,哪一个不能通过编译(  )

(0分)

  1. A、double a=12.45;
  2. B、float b=12.45;
  3. C、double c=100;
  4. D、float d=100;

参考答案:B

答案说明:

float类型的数据在定义浮点型数据时,必须在后面加上f或F.double类型的数据在定义时可以在后面加上d或D,也可以不加。

 

 

 

5、以下关于变量的说法错误的是?(0分)

  1. A、变量名必须是一个有效的标识符
  2. B、变量在定义时可以没有初始值
  3. C、变量一旦被定义,在程序中的任何位置都可以被访问
  4. D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明

参考答案:C

答案说明:变量只在其定义的大括号内有效

 

 

下列数据类型进行运算时,哪一个会发生自动类型提升

(0分)

  1. A、int + int
  2. B、long + long
  3. C、byte + byte
  4. D、double + double

参考答案:C

答案说明:

byte型的变量在运算期间类型会自动提升为int型

 

 

下列数据类型进行运算时,哪一个会发生自动类型提升

(0分)

  1. A、int + int
  2. B、long + long
  3. C、byte + byte
  4. D、double + double

参考答案:C

答案说明:

byte型的变量在运算期间类型会自动提升为int型

 

 

15、

设有定义 int i= 6 ;,则执行以下语句后,i 的值为(  )。 

i += i -1; 

(0分)

  1. A、10
  2. B、121
  3. C、11
  4. D、100

参考答案:C

 

 

 

16、

下列命令中,可以将文档注释提取出来生成帮助文档的是()

(0分)

  1. A、javac
  2. B、java
  3. C、javadoc
  4. D、jar

参考答案:C

答案说明:

可以使用javadoc命令将文档注释提取出来生成帮助文档

 

 

30、

switch语句中的条件表达式可以是Java中的任意一种数据类型

(0分)

  1. ×

参考答案:错

答案说明:

在Jdk5.0中,switch语句条件表达式的取值可以是byte、short、int、long、char、enum这几种数据类型。在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。但是switch还是不支持boolean类型

 

 

 

 


第三章  面向对象 (上)


5、

下列关于使用this调用构造方法的说法中,错误的是?(   )

 

(0分)

  1. A、使用this调用构造方法的格式为this([参数1,参数2…])
  2. B、只能在构造方法中使用this调用其它的构造方法
  3. C、使用this调用其它构造方法的语句必须放在第一行
  4. 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分)

  1. A、输出 lisa
  2. B、输出null
  3. C、输出name
  1. D、编译失败,无法从静态上下文中引用非静态变量name

参考答案:D

 

 

 

10、下列关于单例设计模式的描述中,正确的是(   )

 

 

(0分)

  1. A、将一个类设计为单例设计模式,在其他类中可以创建这个类对象
  2. B、将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
  3. C、将一个类设计为单例设计模式,需要定义一个静态的成员方法将本类创建的对象返回给调用者
  4. D、以上答案都不对

参考答案:B

 

 

13、下列关于静态方法的描述中,错误的是(   )。

 

(0分)

  1. A、静态方法属于类的共享成员
  2. B、静态方法是通过"类名.方法名"的方式来调用
  3. C、静态方法只能被类调用,不能被对象调用
  4. 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分)

  1. A、9
  2. B、5
  3. C、6
  4. D、6.1

参考答案:A

 

 

 

 

16、

请阅读下面的代码

class A{

int x;

static int y;

void fac(String s){

System.out.println(“字符串:”+s);

}

}

下列选项中描述正确的是(  )

(0分)

  1. A、x , y和s 都是成员变量
  2. B、x 是实例变量,y是类变量,s是局部变量
  3. C、x和y是实例变量,s是参数
  4. 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分)

  1. A、Outer o = new Outer(); o.method();
  2. B、Inner I = new Inner(); i.method();
  3. C、Outer.Inner oi = new Outer.Inner(); oi.method();
  4. D、以上答案都不对

参考答案:C

 

 

23、

在Java语言中,封闭是借助于(     )实现的

(0分)

  1. A、对象
  2. B、类
  3. C、数组
  4. D、成员

参考答案:D

 

 

31、静态代码块优先于构造代码块运行。(0分)

  1. ×

参考答案:对

答案说明:

 

34、

与普通方法一样,构造方法也可以重载。

(0分)

  1. ×

参考答案:对

静态代码块是随着类的加载而加载,而构造代码块是在创建对象时执行的

 

35、被static关键字修饰的成员变量被称为静态变量,它可以被该类所有的实例对象共享。(0分)

  1. ×

参考答案:对

 

第四章  面向对象(四)

  • 2、在下面哪种情况下,可以使用方法重写?(  )(0分)

    1. A、父类方法中的形参不适用于子类使用时
    2. B、父类中的方法在子类中没有时
    3. C、父类的功能无法满足子类的需求时
    4. D、父类方法中的返回值类型不适合子类使用

    参考答案:C

    答案说明:父类的功能无法满足子类的需求时,这时候可以使用方法的重写。

     

     

    5、

    System类位于以下哪个包中?

    (0分)

    1. A、java.is
    2. B、java.util
    3. C、java.awt
    4. 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分)

    1. A、dog1.equals(dog2)
    2. B、s1.equals(s2)
    3. C、s3.equals(s4)
    4. D、dog1==dog2

    参考答案:C

    答案说明:选项A比较的是两个对象的地址,结果为false,选项B比较的是dog1和dog2对象的to String()值,结果为false,选项C,比较的是内容,内容相同,所以为true,选项D比较的是dog1和dog2对象的地址,结果为false

     

     

    8、下列选项中,可以导入指定包中所有类的是(  )(0分)

    1. A、package包名;
    2. B、package 包名.*;
    3. C、import 包名;
    4. D、import 包名.*;

    参考答案:D

    答案说明:如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类

     

     

    重要 14、

    已知类的继承关系如下:

    class Employee;

    class Manager extends Employeer;

    class Director extends Employee;

    则以下语句能通过编译的有哪些?

    (0分)

    1. A、Employee e=new Manager();
    2. B、Director d=new Manager();
    3. C、Director d=new Employee();
    4. 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分)

    1. A、编译失败
    2. B、编译通过,没有结果输出
    3. C、输出:除法正常运行
    4. D、输出:除数不能为0

    参考答案:D

    答案说明:虽然是运行时期异常,但是也可以使用try…catch语句进行处理。一旦进入处理语句就不会再回去执行

     

     

     

    40、

    实现抽象类和接口的类必须实现其中的所有方法。

    (0分)

    1. ×

    参考答案:对

     

     

     

    、SimpleDateFormat类的哪个方法可以格式化日期?()(0分)

    1. A、format
    2. B、parse
    3. C、toString
    4. D、equals

    参考答案:A

    答案说明:format方法,格式化日期 

     

     

    12、假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?(    )

     

    (0分)

    1. A、false
    2. B、0
    3. C、-1
    4. D、以上答案都不对

    参考答案:C

     

     

    14、Calendar.MONTH用于表示月份,如果现在是4月份,得到的Calendar.MONTH字段的值应该是?(    )

     

    (0分)

    1. A、4
    2. B、3
    3. C、5
    4. D、以上都不对

    参考答案:B

     

     

    19、先阅读下面的程序片段:

    String str = "abccdefcdh";

       String[] arr = str.split("c");

       System.out.println(arr.length);

    程序执行后,打印的结果是几?(0分)

    1. A、2个
    2. B、3个
    3. C、4个
    4. D、5个

    参考答案:C

     

     

    1、StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。(0分)

    1. ×

    参考答案:对

     

     

    22、拆箱是指将引用数据类型的对象转为基本数据类型。(0分)

    1. ×

    参考答案:对

     

     

    26、java.util.Random的nextInt( )方法会生成一个正整数类型的伪随机数。(0分)

    1. ×

    参考答案:错

     

     

    27、Date、Calendar以及DateFormat类都位于java.util包中。(0分)

    1. ×

    参考答案:错

     

     

     

第五章    线程

1、线程调用sleep()方法后,该线程将进入以下哪种状态?(0分)

  1. A、就绪状态
  2. B、运行状态
  3. C、阻塞状态
  4. D、死亡状态

参考答案:C

 

 

2、

以下哪种原因不会导致线程暂停运行。

(0分)

  1. A、等待
  2. B、阻塞
  3. C、休眠
  4. D、挂起及由于I/O操作而阻塞

 

 

参考答案:B

答案说明:

 

 

3、

如果线程正处于运行状态,则它可能到达的下一个状态是()

 

(0分)

  1. A、只有终止状态
  2. B、只有阻塞状态和终止状态
  3. C、可运行状态,阻塞状态,终止状态
  4. D、其他所有状态

参考答案:B

 

 

、在以下哪种情况下,线程进入就绪状态?(0分)

  1. A、线程调用了sleep()方法时
  2. B、线程调用了join()方法
  3. C、线程调用了yield()方法时
  4. D、线程调用了notify()方法

参考答案:D

 

 

5、Thread类位于下列哪个包中?(0分)

  1. A、java.io
  2. B、java.lang
  3. C、java.util
  4. D、java.awt

参考答案:B

 

 

7、静态方法不能使用synchronized关键字来修饰。(0分)

  1. ×

参考答案:错

 

 

9、线程结束等待或者阻塞状态后,会进入运行状态。(0分)

  1. ×

参考答案:错

答案说明:只有处于就绪状态的线程才可能转换到运行状态

 

 

11、如果前台线程全部死亡,后台线程也会自动死亡。(0分)

  1. ×

参考答案:对

 


第六章   JAVA  API


 

2、先阅读下面的程序片段:

String str1=newString("java");

String str2=newString("java");

StringBufferstr3=new StringBuffer("java");

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

  1. A、str1==str2;
  2. B、str1.equals(str2);
  3. C、str1==str3;
  4. D、以上都不对

参考答案:B


 第七章 

1、下列选项中,哪一个类是Properties类的直接父类(  )(0分)

  1. A、Map
  2. B、HashMap
  3. C、Hashtable
  4. D、TreeMap

参考答案:C

答案说明:Hashtable类有一个子类Properties在实际应用中非常重要,Properties主要用来存储字符串类型的键和值

 

 

2、获取单列集合中元素的个数可以使用以下哪个方法?(0分)

  1. A、length()
  2. B、size()
  3. C、get(int index)
  4. D、add(Object obj)

参考答案:B

 

 

3、Collections工具类的binarySearch()方法返回值的数据类型是(  )(0分)

  1. A、String
  2. B、int
  3. C、double
  4. D、float

参考答案:B

答案说明:binarySearch()方法的返回值是int类型,表示元素在集合中的索引值

 

 

4、下列选项中,不属于TreeMap类的方法的是( )

 

(0分)

  1. A、firstKey()
  2. B、isEmpty()
  3. C、lowerEntry(K key)
  4. D、higherKey(K key)

参考答案:B

答案说明:isEmpty()方法属于HashMap类

 

 

6、下列选项中,不属于HashMap类的方法的是()(0分)

  1. A、get(Object key)
  2. B、keySet()
  3. C、comparator()
  4. D、entrySet()

参考答案:C

答案说明:comparator()方法是TreeMap类中的方法

 

 

11、下列是Collections工具类中定义的一些方法,其中能够对List集合中的元素进行随机排序的方法是(   )(0分)

  1. A、static void sort(List list)
  2. B、static void swap(List list,int i,int j)
  3. C、static void shuffle(List list)
  4. D、static void reverse(List list)

参考答案:C

答案说明:static void shuffle(List list)用于对List集合中的元素进行随机排序

 

 

12、下面选项中,哪个是Comparator接口提供的方法()(0分)

  1. A、compare(T o1, T o2)
  2. B、compareTo(T o)
  3. C、equals(Object obj)
  4. 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分)

  1. A、Tom,Jerry,Donald
  2. B、Tuffy,Jerry,Donald
  3. C、Tuffy, Tuffy, Tuffy
  4. D、发生异常,输出异常信息

参考答案:A

答案说明:当使用foreach循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。但是像本题程序中那样尝试进行修改,并不会发生异常,只是对元素的修改不成功,集合或数组中的元素仍然是从前的值

 

 

15、下列有关HashSet集合的描述中,错误的是(   )(0分)

  1. A、HashSet是Set接口的一个实现类
  2. B、向HashSet存入对象时,对象一般会重写hashCode ()和equals ()方法
  3. C、向HashSet存入对象时,对象的equals ()方法一定会被执行
  4. 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分)

  1. A、Jack Helena Helena Eve
  2. B、Eve Helena Helena Jack
  3. C、Jack Helena Eve
  4. D、Eve Helena Jack

参考答案:D

答案说明:使用二叉树存储结构存储元素时,会将重复的元素去掉,并按照字母顺序排列

 

 

 

23、TreeMap集合可以对元素进行排序(0分)

  1. ×

参考答案:对

答案说明:TreeMap集合的内部采用平衡二叉树来存储元素,这样的结构可以保证TreeMap集合中没有重复的元素,并且可以对元素进行排序

 

 

 

28、使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素(0分)

  1. ×

参考答案:错

答案说明:

 

 

30、集合是长度可变的数组(0分)

  1. ×

参考答案:错

答案说明:数组只能存储同一数据类型的数据,集合可以存储多种数据类型的数据

 


第八章  io流 


  • 5、下列关于java.io.FileOutputStream的说法错误的是( )

     

    (0分)

    1. A、 java.io.FileOutputStream用来进行文件的写入操作。用它提供的方法可以将指定文件写入本地主机硬盘上。
    2. B、通过类File的实例和者一个表示文件名称的字符串可以生成文件输出流。在流对象生成的同时文件被打开。但还不能进行文件读写
    3. C、 java.io.FileOutputStream可以读取字节文件也可以读取字符文件
    4. D、java.io.FileOutputStream一次只能读取一个字节的内容

    参考答案:D

     

     

    6、以下选项中,哪个是FileInputStream的父类(  )

     

    (0分)

    1. A、File
    2. B、FileOutputStream
    3. C、OutputStream
    4. 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分)

    1. A、FileInputStream
    2. B、File
    3. C、InputStream
    4. D、以上答案都不正确

    参考答案:A

     

     

     

     

     

    12、标准输入流对应的类型是()(0分)

    1. A、InputStreamReader
    2. B、InputStream
    3. C、DataInputStream
    4. D、FileInputStream

    参考答案:B

    答案说明:标准输入流对应的类型是InputStream,字节输入流

     

     

    17、下列选项中,哪一个不是InputStream的直接子类(   )

     

    (0分)

    1. A、ByteArrayInputStream
    2. B、FileInputStream
    3. C、BufferedInputStream
    4. D、PipedInputStream

    参考答案:C




 





 


  • 23
    点赞
  • 160
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值