一、选择题

1.下面哪些是合法的变量名? ( DEG  )

A.2variable

B. .variable2

C. ._whatavariable

D._3_

E.$anothervar

F.#myvar

G. $_¥

2.请问 “abcd” instanceof Object返回的值是? (  B   )

A. “abcd”  B. true  C. false  D. String

3.下面有关方法覆盖说法不正确的是:( B  )

A. 方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值

B. 方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;

C. 覆盖的方法不能比被覆盖的方法抛出更多的异常

D. 覆盖的方法一定不能是private的

4. 下面代码段中:(  A )

String String=”String”;

System.out.println(String);

A. String  B. 不知道  C. 编译出错 D. 运行出错

5. 下面哪种是正确的创建Map集合的方式:(  D )

A. Map m=new Map();

B. Map m=new Map(init capacity, increment capacity);

C. Map m=new Map(new Collection());

D. Map是接口,所以不能实例化。

6.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ( A  )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B. 可以被两种类访问和引用:该类本身、该类的所有子类

C. 只能被该类自身所访问和修改

D.只能被同一个包中的类访问

7.下列有关继承的说法。正确的是:(B   )

A. 子类能继承父类的所有方法和属性;

B. 子类能继承父类的非私有方法和属性

C. 子类只能继承父类public方法和属性

D. 子类能继承父类的方法,而不是属性。

8.对于构造方法,下列叙述正确的是:(AC   )

A. 构造方法的方法名必须与类名相同;

B. 构造方法必须用void申明返回类型

C. 构造方法可以被程序调用

D. 若编程人员没再类中定义构造方法,程序将报错。

9.下面是有关子类继承父类构造函数的描述,其中正确的是:(CD   )

A. 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

B. 子类可以不调用父类的构造函数

C. 子类必须通过super()关键字调用父类的构造函数

D. 子类无法继承父类的构造函数。

10. 下列说法中,正确的是:( A  )

A. 类是变量和方法的集合体

B. 数组是无序数据的集合

C. 抽象类可以实例化

D. 类成员数据必须是公有的

11.在创建对象时必须(  C )

A) 先声明对象,然后才能使用对象

B) 先声明对象,为对象分配内存空间,然后才能使用对象

C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象

D) 上述说法都对

12. Java中(  C )

A) 一个子类可以有多个父类,一个父类也可以有多个子类

B) 一个子类可以有多个父类,但一个父类只可以有一个子类

C) 一个子类可以有一个父类,但一个父类可以有多个子类

D) 上述说法都不对

13.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B   )

A) 安全性            B) 多线(程)性            C) 跨平台            D) 可移植

14. Character流与Byte流的区别是( C  )

A) 每次读入的字节数不同      B) 前者带有缓冲,后者没有

C) 前者是字符读写,后者是字节读写   D) 二者没有区别,可以互换使用

15.关于以下application的说明,正确的是(    C       )

1.  class   StaticStuff

2. {

3.                  static  int  x=10;

4.                  static  { x+=5;}

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

6.                  {

7.                       System.out.println(“x=” + x);

8.                  }

9.                  static  { x/=3;}

10.   }

A、4行与9行不能通过编译,因为缺少方法名和返回类型

B、9行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=5

D、编译通过,执行结果为:x=3

16.关于以下程序代码的说明正确的是(     D   )

1.class  HasStatic{

2.    private  static  int  x=100;

3.    public  static  void  main(String  args[  ]){

4.        HasStatic  hs1=new  HasStatic(  );

5.        hs1.x++;

6.        HasStatic  hs2=new  HasStatic(  );

7.        hs2.x++;

8.        hs1=new  HasStatic( );

9.        hs1.x++;

10.       HasStatic.x- -;

11.       System.out.println(“x=”+x);

12.    }

13. }

A、 5行不能通过编译,因为引用了私有静态变量

B、 10行不能通过编译,因为x是私有静态变量

C、 程序通过编译,输出结果为:x=103

D、 程序通过编译,输出结果为:x=102

17.以下选项中循环结构合法的是(     C      )

A、while (int  i<7)

{     i++;

System.out.println(“i is “+i);

}

B、 int  j=3;

while(j)

{

System.out.println(“ j  is “+j);

}

C、int  j=0;

for(int  k=0; j + k !=10; j++,k++)

{

System.out.println(“ j  is “+ j + “k  is”+ k);

}

D、  int  j=0;

do{

System.out.println( “j  is “+j++);

if (j = = 3) {continue  loop;}

}while  (j<10);

18.     类Test1定义如下: 1.public  class  Test1{

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

3.

4.}

将以下哪种方法插入行3是不合法的。(     B    )

A、public  float  aMethod(float  a, float  b,float  c){ return ..;  }

B、public  float  aMethod(float  c,float d){ return.. ;  }

C、public  int  aMethod(int  a, int b){ return ..;  }

D、private  float  aMethod(int a,int b,int c){ return ..;  }

19.     类Test1、Test2定义如下:

1.  public  class  Test1

2.{ public  float  aMethod(float a,float b) throws

3.  IOException {      }

4. }

5. public  class  Test2  extends  Test1{

6.

7.}

将以下哪种方法插入行6是不合法的。( A     )

A、float  aMethod(float  a,float  b){ }

B、public  int  aMethod(int a,int b)throws  Exception{ }

C、public  float  aMethod(float  p,float q){ }

D、public  int  aMethod(int a,int  b)throws IOException{ }

20.     关于以下程序段,正确的说法是(   C     )

1.  String  s1=”abc”+”def”;

2.  String  s2=new  String(s1);

3.  if(s1= =s2)

4.     System.out.println(“= = succeeded”);

5.  if (s1.equals(s2))

6.     System.out.println(“.equals()  succeeded”);

A、行4与行6都将执行            B、行4执行,行6不执行

C、行6执行,行4不执行         C、行4、行6都不执行

21.     以下哪个方法用于定义线程的执行体? (  C     )

A、 start()            B、init()               C、run()               D、synchronized()

22.     以下哪个关键字可以用来为对象加互斥锁?(    D   )

A、transient         B、static               C、 serialize         D、synchronized

23.     有以下方法的定义,请选择该方法的返回类型(   D   )。

ReturnType  method(byte x, double y)                            {

return  (short)x/y*2;

}

A、byte                B、short               C、int                   D、double

24         以下哪项是接口的正确定义?(    BD     )

A、 interface  B

{  void print(){};}

B、 abstract  interface  B

{ void print() ;}

C、 abstract  interface  B  extends  A1,A2  //A1、A2为已定义的接口

{ abstract  void  print(){  };}

D、 interface  B

{  void  print();}

25.   A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:

1.    A  a0=new  A();

2.    A  a1 =new  B();

3.    A  a2=new  C();

问以下哪个说法是正确的? (    D    )

A、只有第1行能通过编译  B、第1、2行能通过编译,但第3行编译出错

C、第1、2、3行能通过编译,但第2、3行运行时出错

D、第1行、第2行和第3行的声明都是正确的

26.  假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(   C    )

class  A

{     int  i;

static  String  s;

void  method1() {   }

static  void  method2()  {   }

}

A、System.out.println(a.i);B、a.method1();  C、A.method1();

D、A.method2()

27.  以下关于继承的叙述正确的是(   A    )。

A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

28.   给出下面代码,关于该程序以下哪个说法是正确的?( C      )

public class Person{

static int arr[] = new int[5];

public static void main(String a[]) {

System.out.println(arr[0]);}

}

}

A、编译时将产生错误        B、编译时正确,运行时将产生错误

C、输出零            D、输出空

29 在使用interface声明一个接口时,只可以使用( D      )修饰符修饰该接口。

A、private            B、protected         C、private  protected   D、public

30. 编译并运行以下程序,以下描述哪个选项是正确的(   D    )

1.  class  A{

2.      protected  boolean  equals(){

3.           return  super.equals();

4. }

5. }

A、编译通过运行无异常     B、编译通过但运行时出错

C、行2出错,不能成功编译     D、不能成功编译,行3出错

31.  有语句String s=”hello world”; ,以下操作哪个是不合法的?(  B     )

A、int i=s.length();       B、s>>>=3;

C、String ts=s.trim();    D、String t=s+”!”;

32.     阅读以下代码:

import java.io.*;

import java.util.*;

public class foo{

public static void main (String[] args){

String s;

System.out.println("s=" + s);

}

}

输出结果应该是:(   C    )

A.代码得到编译,并输出“s=”

B.代码得到编译,并输出“s=null”

C.由于String s没有初始化,代码不能编译通过

D.代码得到编译,但捕获到 NullPointException异常

33.     编译运行以下程序后,关于输出结果的说明正确的是 (  C    )

public  class   Conditional{

public  static  void  main(String  args[ ]){

int  x=4;

System.out.println(“value  is  “+ ((x>4) ? 99.9:9));

}

}

A.输出结果为:value  is  99.9      B.输出结果为:value  is  9

C.输出结果为:value  is  9.0

D.编译错误

34. 执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的( A    )

A.x[9]为0

B.x[9]未定义

C.x[10]为0

D.x[0]为空

35.     关于以下程序段,正确的说法是( C     )

1.  String  s1=“a”+“b”;

2.   String  s2=new  String(s1);

3.    if(s1= =s2)

4.       System.out.println(“= =  is succeeded”);

5.     if (s1.equals(s2))

6.        System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行            B.行4执行,行6不执行

C.行6执行,行4不执行         C.行4、行6都不执行

36.     以下程序的运行结果是:(  C    )

public class Increment{

public static void main(String args[]){

int c;

c = 2;

System.out.println(c);

System.out.println(c++);

System.out.println(c);

}

}

A.2 2 2          B.2 3 3    C.2 2 3   D.3 4 4

37     若a的值为3时,下列程序段被执行后,c的值是多少?(  C    )

if ( a>0 )

if ( a>3 )  c = 2;

else c = 3;

else c = 4;

A、1           B、2          C、3          D、4

38.      下面哪一个操作符的优先级最高?  (   D    )

A、&&                       B、||

C、!                          D、( )

39.   执行语句int i = 1, j = ++i  +  ++i  + i--; 后i与j的值分别为(  D     )。

A、2与6               B、3与8

C、3与5               D、2与8 (++i先运算再取值)

40.     下面哪一个循环会导致死循环?(  C     )

A、for (int k = 0; k < 0; k++)

B、for (int k = 10; k > 0; k--)

C、for (int k = 0; k < 10; k--)

D、for (int k = 0; k > 0; k++)

41.     有如下程序段:

int a = b = 5;

String s1 = "祝你今天考出好成绩!";

String s2 = s1;

则表达式a == b与s2 == s1的结果分别是:( A     )。

A、true与true               B、false与true

C、true与false                D、false与false

42. 在Java中用什么关键字修饰的方法可以直接通过类名来调用?(  A    )

A、static         B、final       C、private          D、void

43.     有如下程序段:

int total = 0;

for ( int i = 0; i < 4; i++ ){

if ( i == 1) continue;

if ( i == 2) break;

total += i;

}

则执行完该程序段后total的值为:(   A    )。

A、0                    B、1                     C、3                     D、6

44.如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰( A  )。

A、private                    B、protected

C、private  protected         D、public

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

A、ArrayList myList=new Object();

B、List myList=new ArrayList();

C、ArrayList myList=new List();

D、List myList=new List();

46.     指出正确的表达式 ( BD  )

A、 byte=128;

B、 Boolean=null;

C、 long l=0xfffL;

D、 double=0.9239d;

47.     指出下列程序运行的结果 (   B   )

public class Example{

String str=new String("good");

char[] ch = {'a','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+" and ");

Sytem.out.print(ex.ch);

}

public void change(String str,char ch[]){

str="test ok";

ch[0]='g';

}

}

A、 good and abc

B、 good and gbc

C、 test ok and abc

D、 test ok and gbc

48     运行下列程序, 会产生什么结果 (  D     )

public class X extends Thread implements Runnable{

public void run(){

System.out.println("this is run()");

}

public static void main(String args[]) {

Thread t=new Thread(new X());

t.start();

}

}

A、 第一行会产生编译错误

B、 第六行会产生编译错误

C、 第六行会产生运行错误

D、 程序会运行和启动

49.         下面语句在编译时出现警告或错误的是(  ABCD     )

A. float f=3.14;

B. char c=”c”;

C. Boolean b=null;

D. int i=10.0;

50.         给出下面代码段, 哪行将引起一个编译时错误?(  D  )

1) public class Test {

2)   int n = 0;

3)   int m = 0;

4)   public Test(int a) { m=a; }

5)   public static void main(String arg[]) {

6)     Test t1,t2;

7)     int j,k;

8)     j=3; k=5;

9)     t1=new Test();

10)    t2=new Test(k);

11)  }

12) }

A. 行1                 B. 行4                 C. 行6                 D. 行9

51.         下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。

(  C  )

class ClassDemo {

public static int sum=1;

public ClassDemo() {

sum = sum + 5;   

}

}

public class ClassDemoTest{

public static void main(String args[]) {

ClassDemo demo1=new ClassDemo();

ClassDemo demo2=new ClassDemo();

System.out.println(demo1.sum);   

}

}

A. 0                      B. 6                      C. 11                  D. 2

52.     下面关于数组声明和初始化的语句那个有语法错误?(  C     )

A)int a1[]={3,4,5};

B)String a2[]={"string1","string1","string1"};

C)String a3[]=new String(3);

D)int[][] a4=new int[3][3];

53.     下面的方法,当输入为2的时候返回值是多少?(   D    )

public int getValue(int i) {

int result = 0;

switch (i) {

case 1:

result = result + i;

case 2:

result = result + i * 2;

case 3:

result = result + i * 3;

}

return result;

}

A)0                    B)2                    C)4                     D)10

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

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!");

}

}

A)IOException!

B)IOException!Exception!

C)FileNotFoundException!IOException!

D)FileNotFoundException!IOException!Exception!

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

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

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

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

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

56.     Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法

不是Collection接口所定义的?(  C     )

A)int size()

B)boolean containsAll(Collection c)

C)compareTo(Object obj)

D)boolean remove(Object obj)

57.     一个线程在任何时刻都处于某种线程状态(thread state),例如运行状态、阻塞状态、

就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?(  D     )

A)死亡状态

B)阻塞状态(对象lock池内)

C)阻塞状态(对象wait池内)

D)就绪状态

58.     选项中哪一行代码可以替换题目中//add code here而不产生编译错误?(  A     )

public abstract class MyClass {

public int constInt = 5;

//add code here

public void method() {

}

}

A)public abstract void method(int a);

B)value = value + 5;

C)public int method();

D)public abstract void anotherMethod() {}

59.     下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new

Child("mike")的时候都有哪些构造方法被顺序调用?请选择输出结果 (   D   )

class People {

String name;

public People() {  System.out.print(1); }

public People(String name) {

System.out.print(2);

this.name = name;

}

}

class Child extends People {

People father;

public Child(String name) {

System.out.print(3);

this.name = name;

father = new People(name + ":F");

}

public Child(){ System.out.print(4); }

}

A)312              B) 32

C)    432              D) 132

60.     下面哪个选项中的代码没有定义内部类,或者错误的定义了内部类? (    C   )

A)public Class Line {

int length;

Class Point {//内部类代码}

}

B)    public Class Line {

public Point getPoint() {

return new Point(){//内部类代码};

}

}

C)    public Class Line {

//外部类代码

}

Class Point {//内部类代码}

D) public Class Line {

public int calcLength() {

Class Point {//内部类代码}

}

}

二、编程题

1 将数组 int [] a={9,5,7,8,1,3,2,6,4} 进行冒泡排序

2 写出单例设计模式

3 键盘输入十行数据,直到输入quit就退出程序,将输入的数据保存在D:\temp\info.txt中,该文件不存在就创建该文件。

4 模拟生成1个班级,该班级有9个学生对象,用集合模拟下列操作。

A.班级再增加一位学生

B.将学号是S001的姓名修改为”张恒”

C.统计所有学生的平均分

D.将学生的所有信息保存到文件student.txt中

5 模拟四个线程对同一个数据I进行操作

1号和3号线程做加一

2号和4号线程做减一

Java 基础测试题的更多相关文章

  1. 0066 阿里云大学的几道Java基础测试题

    阿里云大学的几道Java基础测试题: https://edu.aliyun.com/clouder/exam/intro/15 https://edu.aliyun.com/clouder/exam/ ...

  2. 一、Java基础--01

    Java基础测试题分析 第一题是关于基本的算法知识,这个很有必要去掌握以下,在学校也经常听老师们说找工作比试面试会出一些这方面的知识,我拿到的第一题是关于排序的,虽然很简单,但是我还是要提醒一下基础不 ...

  3. Java基础——过滤器和监听器

    什么是过滤器? Servlet过滤器和Servlet十分相似,但它具有拦截客户端请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要.对于开发人员而言,过滤器实际上就是在Web ...

  4. Java基础——Servlet

    什么是Servlet Servlet是Java Web的三大组件之一,它属于动态资源.Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要: l  ...

  5. Android基础测试题(四)

    看了前两道题大家有没有发现,测试题少了(一),大家猜猜测试题(一)是什么? Android基础测试题(四): 需求: 建一个方法,格式化输出2016-11-14 10:15:26格式的当前时间,然后截 ...

  6. 二、Java基础--02

    作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). ...

  7. 初识Java Java基础知识

    今天给大家带来的是初级Java基础部分的知识:包括初识Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!!!内容.步骤超详细,附有各种案例的源代码(可以直接 ...

  8. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  9. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

随机推荐

  1. ace-socket-reconnect

  2. GDT临时分段

    GDT临时分段 GDT临时段说明 现在已经进入了保护模式, 目前的改变 可以访问1M以上的内存了 可以使用32位的指令操作 问题: 由于以前的是实式下段寄存器寻址方式无法使用了,我们必须切换到使用GD ...

  3. oracle数据库SQL入门

    1.oracle数据库的下载.安装.卸载 Oracle下载: Oracle下载链接地址:http://www.oracle.com/technetwork/cn/database/enterprise ...

  4. TCP/IP 数据包报文格式(IP包、TCP报头、UDP报头)(转)

    reference:http://blog.51cto.com/lyhbwwk/2162568                    https://blog.csdn.net/wangzhen209 ...

  5. python基础07_tuple_dict

    tuple 元组     dict 字典 更详细参考:https://www.cnblogs.com/jin-xin/articles/7562422.html #!/usr/bin/env pyth ...

  6. winform 下载

    方法一: WebClient webClint = new WebClient(); webClint.DownloadFile(下载文件的路径,下载到本地的地址); 方法二:异步 WebClient ...

  7. linux下vim的安装及其设置细节

    第一步:使用apt安装vim sudo apt-get install vim 第二步:行号及其tab建设置 vim ~/.vimrc 添加如下文字 set nu //代码显示行号syntax on ...

  8. React Native backgroundColor 的颜色值

    React Native 的 css 跟 web开发中css还是很相似的,其中 backgroundColor 支持的颜色值与 css 一致,为方便查找写在这里. 其他样式可以参考 CSS 样式网站 ...

  9. Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

    影响Oracle数据库字符集最重要的参数是NLS_LANG参数. 它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言.地域和字符集),每 ...

  10. export 和import使用

    在JavaScript ES6中,export与export default均可用于导出常量.函数.文件.模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方 ...