Java SE 基础部分经典100道笔试题

版权声明:本文为博主原创文章。 https://blog.csdn.net/qq_36691683/article/details/81987948

这100道题的范围主要是Java SE部分,正在学习Java SE的同学可以做一下,巩固一下学习的知识,也比较适合准备面试的同学复习使用。本题有90道选择题和10道填空题,选择题大部分是单选题,少数为多选,正确的选项已用红色字体标出。题比较简单,小伙伴们快来测试一下吧!


一、选择题(1分/题,90题)

1.名为HelloWorld.java的Java应用程序如下:

   public class HelloWorld{ 

      public static void main(String args[]) { 

          System.out.println("Hello World!");        

      }

   } 

将这个程序放在C:\Test下,然后在命令行窗口中,进入到C:\Test路径执行如下指令: javac helloWorld.java将得到(  )结果。 

A. 编译出错 。 

B. 编译成功,生成名为HelloWorld.class的文件。

C. 编译成功,生成名为helloWorld.class的文件。

D. 找不到名为helloworld.java的文件。

 

2.在当前的java实现中,每个文件编译之后就是一个以(  )为后缀的文件

A.Java          B.class

C.doc           D.exe

 

3.下列属于逻辑运算符的是:

A.+              B.?:

C.&&            D.>>

 

4.已知i为整形变量,关于一元运算++i和i++,下列说法正确的是:

A. ++i运算将出错                  B.在任何情况下运行结果都一样

C.在任何情况下运行结果都不一样       D.在任何情况下变量i的值都增加1

 

5.在java语句中:37.2%10的运算结果为:

A7.2    B.7     C.3       D.0.2

6.在java语句中,运算符&&实现

A.逻辑或       B.逻辑与      C.逻辑非        D.逻辑相等

7.下列数据类型,必须进行强制转换的是:

A.byte —> int                                      B.short —> long

C.float —> double                                  D.int > char

8、下面哪一个不是合法的标识符?

A、x$              B、 π            C 1X           D、 XYZ

9、int 类型数据占用多少位?

A32              B、64              C、16              D、20

10、Java Application程序中有且只能有一个main方法,该方法头的书写合法的是。

A. public static void main()                                      Bpublic static void main(String[] args)

C. public static int main(String[] arg)                    D.  public void main(String arg[] )

11、下面的哪些语句是正确的:

A)String temp [] = new String {"j" "a" "z"};          B) char temp [] = { "j" "b" "c"};

C)String temp = {"a", "b", "c"};                              D) String temp [] = {"a", "b", "c"};

12. 编译java程序的命令是 _   _ 。

A. java      B. javac   D.java doc   C.dir

13. java程序中程序运行入口方法main的签名正确的有  _________  。 (多选)

A. public static void main(String args[])

B. static public void main(String[] args)

C. public void static main(String[] args)

D. public void main(String args[])

14. byte变量的取值范围是  _______  。

A. 0 - 65535                                     B. -128 127

C. -256 – 255                               D. 0 - 32767

15.int[]   ii=new int[3];以下错误的是:

A. ii[0]                     B .ii[1]                     C .ii[2]                     D .ii[3]

16. 以下不是java关键字的有  ______  。

A. Super                   B. this                      C. NULL                  D. true

17. 以下正确的有  _________  。 (多选)

A. int i = 32;            B. float f = 45.32;           C. double d=3.2;            D.char c=”A”;

18. 下面集合定义正确的有  _____  。 (多选)

A. String strs[] = { 'a' 'b' 'c'};

B. String[] strs = {"a", "b", "c"};

C. String[] strs = new String{"a" "b" "c"};

D. String strs[] = new String[]{"a", "b", "c"};

E. String[] strs = new String[3]{"a", "b", "c"};

19.关于break和continue语句,下面说法错误的有(  )。 

A. break只能用于循环语句中。 

B. continue只能用于循环语句中。 

C. 在循环语句中,break语句将终止循环;而continue是略过当前循环中剩余的语

句进入下一次循环。 

D. 在循环语句中,continue语句将终止循环;而break是略过当前循环中剩余的语

句进入下一次循环。

20.class TEXT{

        public static void main(String[] args){

                 int a=10;

                 int b;

                 int c;

                 if(a>50){

                         b = 9;

}

c = b + a;

                 System.out.println(c);

}

}

输出 c 的结果是什么?_________.

A .10                        B .0                  C .19                D. 编译出错。

21.下列程序段执行后的输出结果为( )  

               int x=3; int y=10;

               System.out.println(y%x);

  1. 0
  2. 1
  3. 2
  4. 3

 

22.下列程序的输出结果是 ( ) 

public class Test{         

void printValue(int m){                   

do {

System.out.println("The value is"+m);

}while( --m > 10 );         

}  

public static void main(String arg[]){         

int i=10;       

Test t= new Test();         

t.printValue(i);       

}

}

  1. 8
  2. 9
  3. 10
  4. 113

 

23.执行完语句int[]x = new int[25];后,则下列哪项说法是正确的( ) 

  1. x24]值为0
  2. x[24]值未定义 
  3. x[25]值为0
  4. D.x[0]值为空

 

24.下列哪个选项是合法的标识符 ( )

  1. 123
  2. _name
  3. class
  4. 1first

 

25.下列的哪个赋值语句是不正确的( )     

  1. float f = 11.1;
  2. double d = 5.3E12;
  3. float  d = 3.14f ;
  4. double  f=11.1E10f;

 

26.下列关于继承的哪项叙述是正确的?( )     

  1. java中允许多重继承
  2. 在java中一个类只能实现一个接口
  3. 在java中一个类不能同时继承一个类和实现一个接口
  4. java的单一继承使代码更可靠

 

27.有一个类A,对于其构造函数的声明正确的是( )。

  1. void A(int x){...}           
  2. A(int x){...}
  3. A  A(int x){...}          
  4. int A(int x){...}

 

28.一个可以独立运行的Java应用程序( )

  1. 可以有一个或多个main方法    
  2. 最多只能有两个main方法   
  3. 可以有一个或零个main方法    
  4. 只能有一个main方法

 

29.以下对Java中对数组的声明正确的是( )

  1. int [] sample;
  2. int sample[]
  3. int () sample;
  4. int sample();

 

30.设int  x = 3 , y = 2 , z = 5;

则表达式  y+=z--/++x  的值是( )。

  1. 3
  2. 4.5
  3. 3.5
  4. 4

 

31.类Test1定义如下: 

(1) public class Test1{ 

(2) public void aMethod(float a,float b){ }; 

(3) 

(4) } 

将以下哪种方法插入第3行是不合理的? ( ) 

  1. public void aMethod(int a,int b){ };
  2. public void aMethod(float a,float b,float c){ };
  3. public void aMethod(float c,float d){ };
  4. private void aMethod(int a,int b,int c){ };

 

32. JDK中运行Java小程序的命令是( )。

  1. javadoc
  2. Appletviewer
  3. Javac
  4. Java

 

33.下列叙述中,正确的是:( )

  1. 声明变量时必须指定一个类型 
  2. Java认为变量number和Number相同
  3. Java中唯一的注释方式是“//”
  4. 源文件中public类可以有0或多个

 

34.在switch(expression)语句中,expression的数据类型不能是:( )

  1. double
  2. char  
  3. byte  
  4. short

 

35.已知int[] a =new int[100];,在下列给出的数组元素中,非法的是:( )

  1. a[0]   
  2. a[1]   
  3. a[99]
  4. a[100]

 

36.设 x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。

  1. public x x1= new y( );
  2. x x1=x( );
  3. x x1=new x( );
  4. int x x1;

 

37.Java语言的类间的继承关系是( )。

  1. 多重的
  2. 单继承
  3. 线程的 
  4. 不能继承

 

38.下面关于java中类的说法哪个是不正确的(  )

  1. 类体中只能有变量定义和成员方法的定义,不能有其他语句。
  2. 构造函数是类中的特殊方法。
  3. 类一定要声明为public的,才可以执行。
  4. 一个java文件中可以有多个class定义(但只能有一个public修饰的类)。

 

39.给出一段程序,选择运行结果( )

public class sss {

public static void main(String args[])

{

                String s1=args[1];    String s2=args[2];

              String s3=args[3];    String s4=args[4];

              System.out.println(“args[2]=”+s2);

}

}

命令行执行:  java sss 1 2 3 4   结果是下面哪一个?

  1. args[2]=2  
  2. args[2]=null
  3. args[2]=1
  4. 运行出现异常

 

40.public class T1 {

public static void main (String[] args){

T1 a=new T1();

a.method(8);

a.method(1.2f);

}

void method(float i) {

System.out.println("float: "+i);

}

void method(long i) {

System.out.println("long: "+i);

}

}

  1. 程序有编译错误,因为两个method()方法必须定义为静态(static)的。
  2. 程序可以编译运行,输出结果为:

long: 8

float: 1.2

  1. 程序可以编译运行,输出结果为:

float: 1.2

long: 8

  1. 程序中定义的两个参数不同的method方法称为方法重载。

 

41.编译并运行下面的程序,运行结果为( ).

public class A {

public static void main (String[] args) {

A a=new B( );

a.test();

}

void test()  {

System.out.print ("A");

}

}

class B extends A {

void test() {

super.test();

System.out.println("B");

}

}

  1. 子类B定义了与父类A中同名的方法testjava中称为方法的覆盖。
  2. 代码可以编译运行,并输出结果:AB
  3. 代码可以编译运行,并输出结果:A
  4. 子类B定义了与父类A中同名的方法test,java中称为方法的重载

 

42.下面哪个说法不正确( )

  1. 如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。
  2. 如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。
  3. 如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。
  4. 接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。

 

43.类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要的访问控制?

  1. public
  2. no modifier
  3. protected(权限仅次于public)
  4. private

 

44.类Teacher和Student都是类Person的子类( )

          Person p;

          Teacher t;

          Student s;

          p, t and s are all non-null.

          if(t instanceof Person) { s = (Student)t; }

 这个语句导致的结果是什么?实例

  1. 将构造一个Student对象。
  2. 表达式合法。
  3. 编译时非法。
  4. 编译时合法而在运行时可能非法。

 

45.给出下面的代码:

class Person {

String name,department;

public void printValue(){

                 System.out.println("name is "+name);

                 System.out.println("department is "+department);

        }

}

public class Teacher extends Person {

        int salary;

        public void printValue(){

        // doing the same as in the parent method printValue()

        // including print the value of name and department.

                 System.out.println("salary is "+salary);

        }

}

下面的哪些表达式可以加入printValue()方法的"doing the same as..."部分?( )

  1. printValue();
  2. this.printValue();
  3. person.printValue();
  4. super.printValue();

 

46.以下是接口的定义的是:( )

  1. 接口中定义的变量都是公共的静态变量
  2. 没有构造函数,而且定义的方法都是公共的抽象方法
  3. 接口间采用单继承机制
  4. 接口可以实例变量和常量,实例常量语法是;public static 标示符名称

 

47.包含抽象方法的类:( )

  1. 一定是抽象类
  2. 可以是抽象类也可以不是抽象类
  3. 肯定不是抽象类

 

48.那些父类成员不能被继承:( )

  1.   private成员
  2.   构造方法
  3.   public成员
  4.   getter和setter成员

 

49.方法重写规则:( )

  1. 在继承关系的子类中
  2. 重写的方法名,返回值类型,参数与父类不相同
  3. 私有属性,成员可以被重写

 

50.关于构造方法,下列说法错误的是( )

  1. 构造方法可以进行方法重写
  2. 构造方法用来初始化该类的一个新对象
  3. 构造方法具有和类名相同的名称
  4. 构造方法不返回任何数据类型

 

51.在Outter类中声明成员内部类Inner,下面关于内部类Inner实例化对象的代码,正确的是(   )

A、Inner  in = new Inner();

B、Inner in = new Outer.Inner();

COuter.Inner in = (new Outer).new Inner();

D、Outer.Inner in = Outer.new Inner();

 

52.Object类中,能够判断两个对象的内容是否相等的方法是()

        A、toString()

        Bequals()

        C、compareTo()

        D、hashCode()

 

53.下列遍历集合的方法中,哪个不能用于Set集合()

Afor(int i=0;i<set.size;i++){}

B、for(Object obj : set){}

C、Iterator it = set.iterator();

DSet<T> set = set.EntrySet();

 

54.下列哪个类不是List接口的实现类()

A、ArrayList

B、LinkedList

C、Vector

DHashTable

 

55.下列哪个不是RuntimeException异常的子类()

        A、NullPointerException

        B、ClassCastException

        C、IndexOutOfBoundsException

        DParseException

 

56.下列声明语句中,正确启动线程的是哪项()

        A、public class Demo extends Thread{}

           new Demo().run();

        B、new Runnable(){

           public void run(){}

}.start();

        Cnew Thread(new Runnable(){

           public void run(){}

}).start;

        D、Runnable r = new Runnable();

        r.start();

 

57.下列哪个不是线程生命周期的状态()

        A、新建状态

        B、阻塞状态

        C、启动状态

        D、就绪状态

 

58.下列哪个方法可以控制线程执行的结果()

        Asleep()

        BsetPriority(int i)

        C、setName()

        D、run()

 

59.下列哪个关键词可以解决线程同步中的数据不匹配问题()

        A、finally

        Bsynchronized

        C、return

        D、static

 

60.下列哪个方法是让线程中的对象处于等待状态()

        Await()

        B、notify()

        C、sleep()

        D、put()

 

61.下列哪个方法是File类中创建文件的方法()

        A、mkdir()

        B、mkdirs()

        CcreateNewFile()

        D、exists()

 

62.下列关于File的说法正确的是()

        A、无论文件的路径存不存在,实例化File类对象都可以自动创建该文件

        B、实例化File类时,会自动抛出FileNotFoundException异常

        C、文件的路径只能使用绝对路径

        DFile类是在java.io包下

 

63.下列不属于字符流的类是()

        AFileInputStream

        B、FileReader

        C、PrintWriter

        D、InputStreamReader

 

64.要进行序列化的实体类必须先实现()接口

        ASerializable

        B、Comparable

        C、Comparator

        D、Collection

 

65.下列关于IO流说法正确的是()

        A、字节流的read()方法每次读取1个字节,可以直接把字节转为char类型打印

        B、字节流最多一次只能读取1024个字节

        C、序列化和反序列化的类是属于字符流的子类

        D、字符流在做读写操作时可以设置编码格式

 

66.关于缓冲流的说法,正确的是()

        A、缓冲流每次只能对一个字符

        B、缓冲流输出时,可以用转义字符”\n”实现输出文本中的换行

        C、缓冲流是面向字符的流,不能单独使用,最少要封装一个字符流

        D、缓冲输出流中的newLine()方法是用来读取新的一行

 

67.在编写异常处理的Java程序中,每个catch语句块都应该与___语句块对应,使得用该语句块来启动Java的异常处理机制。

    A) if – else      B)switch      Ctry       D) throw

 

68.下面___函数是public void  aMethod(){...}的重载函数。

A) void  aMethod( ){...}

B) public int  aMethod(){...}

C) public void  aMethod ( ){...}

Dpublic int  aMethod ( int m){...}

 

 

69.使用File类的哪个方法,判断文件是否可被写入      

  A)getName()          B)exits()             C)canRead()      DcanWrite()

 

70.getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(   )

    public void getCustomerInfo() {

          try {

              // do something that may cause an Exception

          } catch (java.io.FileNotFoundException  ex){

                System.out.print("FileNotFoundException!");

          } catch (java.io.IOException  ex){

                System.out.print("IOException!");

          } catch (java.lang.Exception  ex){

                System.out.print("Exception!");

          }

      }

AIOException!

B、IOException!Exception!

C、FileNotFoundException!IOException!

D、FileNotFoundException!IOException!Exception!

 

71.Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法不是Collection接口所定义的?(   )

A、int size()

B、boolean containsAll(Collection c)

CcompareTo(Object obj)

D、boolean remove(Object obj)

 

72.新建一个流对象,下面哪个选项的代码是错误的?(    )

A、new BufferedWriter(new FileWriter("a.txt"));

Bnew BufferedReader(new FileInputStream("a.dat"));

C、new GZIPOutputStream(new FileOutputStream("a.zip"));

D、new ObjectInputStream(new FileInputStream("a.dat"));

 

73.下面哪个流类属于面向字符的输入流(    )

A、BufferedWriter                 B、FileInputStream

C、ObjectInputStream              DInputStreamReader

 

74.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?(  )

A、ArrayList myList=new Object();

BList myList=new ArrayList()

C、ArrayList myList=new List();

D、List myList=new List();

 

75.在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是(                 )。

A、bookTypeList.add("小说");

B、bookTypeList.get("小说");

CbookTypeList.contains("小说");

D、bookTypeList.remove("小说");

 

76.在JAVA的异常处理模型中,能单独和finally语句一起使用的块是(           )。

Atry

B、catch

C、throw

D、throws

 

77.给定如下Java 程序代码片段,编译运行这段代码,结果是(              )。

        java.util.HashMap map = new java.util.HashMap();

         map.put("name",null);

     map.put("name","Jack");

     System.out.println(map.get("name"));

  1. null
  2. Jack
  3. nullJack
  4. 运行时出现异常

 

78.给定如下所示的JAVA代码,则运行时,会产生(           )类型的异常

        String s = null;

        s.concat("abc");

  1. ArithmeticException
  2. NullPointerException
  3. IOException
  4. ClassNotFoundException

 

79.在JAVA中,以下(       )类的对象以键-值的方式存储对象

A、java.util.List

B、java.util.ArrayList

Cjava.util.HashMap

D、java.util.LinkedList

 

80.给定一个方法:public void method(List<Object> list ){}

下列哪项可以作为参数传递到方法中()

        A、ArrayList<String> list = new ArrayList();

        B、List<Integer> list = new ArrayList<Integer>();

        C、List<Object> list = new List<Object>();

        D、以上都不对

 

81.给定一个方法:public void method(List<? extends Number> list ){}

下列哪项可以作为参数传递到方法中()

        A、List<?> list = new ArrayList<?>();

        B、List<Object> list = new ArrayList<Object>();

        C、List<doulbe> list = new ArrayList<double>();

        DArrayList<Integer> list = new ArrayList();

        E、以上都不对

 

82.下面关于泛型的说法正确的是()

        A、泛型是在运行时期,对程序的一种检测机制

        B、泛型是在编译期对程序的一种检测机制

        C、使用泛型可以在程序运行时期帮我们快速找到代码的问题

        D、泛型只能约束基本数据类型

 

83.下列关于URL类的描述,正确的是()

        A、URL类是一个抽象能,不能直接实例化

        B、URL类的构造方法中可以传入绝对路径和相对路径

        C、可以通过URL类的openStream()方法来获得网络资源

        D、使用完URL对象后要调用close()方法关闭网络资源

 

84.使用ServerSocket搭建的本地应用服务的端口设置,正确的是()

        A、1001

        B、1023

        C、65536

        D8080

 

85.使用TCP完成局域网的通讯业务,在服务端可以侦听到客户端连接的方法是()

        A、getInetAddress()

        Baccept()

        C、getInputStream()

        D、implAccept(Socket s)

 

86.在TCP网络通讯中,服务端获取客户端IP的方法是()

        Asocket.getInetAddress().getHostAddress();

        B、socket.getInetAddress().getHostName();

        C、socket.getLocalAddress().isAnyLocalAddress();

        D、socket.getReuseAddress();

 

87.实例化Jframe对象,可以让窗体显示的方法是()

        A、setVisible(false);

        BsetVisible(true)

        C、setBounds(x, y, width, height);

        D、setShwo(true);

 

88.Swing开发中,实例化按钮的类是哪个()

        Anew Jbutton();

        B、new JTextField();

        C、new JRadioButton();

        D、new JLabel();

 

89.下列哪项不是获得Class类类型的方法()

        A、Class c = Object.class;

        B、Class c = new Object().getClass();

        C、Class c = Class.forName(“java.lang.Object”);

        DClass c = String.getClass();

 

90.通过Java的反射机制,不能直接获取到的信息有()

        A、类名

        B、从父类继承来的protected方法

        C、局部变量

        D、类中的private方法

 

二、填空题(1分/题,10题)

1、不能定义实例的类称为  抽象类   ,它由关键词 abstract  来标明。 

2、定义一个包含7个元素的数组a,则该数组的最后一个元素是  a[6]   。

  1. 在Java中只能实现单继承(Java不支持多重继承),但可通过 接口 实现多重继承。

4、_ c.length_表示char型数组对象c的长度,__ s.length()___表示字符串对象s的长度。

5、字符输入流的父类是  Reader  ,字节输出流的父类是  OutputStream 

6、在java.net中提供了两个类:   Socket    ServerSocket  ,分别用来用于客户端和服务器端的Socket通信。(注意答案顺序)

7、设x = 2 ,则表达式 ( x + + ) * 3 的值是    6     

8、字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用StringBuffer类的对象表示。

9、 数组x定义如下
   int x[ ][ ]=new int[3][2]
   则 x..length 的值为3,x[0].length 的值为2

10、在Java中用一个变量名表示一组数据的机制是数组

 

猜你喜欢

转载自blog.csdn.net/qq_36691683/article/details/81987948