Java基础测试复习测试附答案_第1页
Java基础测试复习测试附答案_第2页
Java基础测试复习测试附答案_第3页
Java基础测试复习测试附答案_第4页
Java基础测试复习测试附答案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页Java基础测试复习测试附答案1.变量命名规范说法正确的是()A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;【正确答案】:B2.下列选项中关于Java中super关键字的说法正确的是()。A、super关键字是在子类对象内部指代其父类对象的引用B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法【正确答案】:A3.下列说法正确的是()A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来【正确答案】:A4.设inta=-2,则表达式a>>>3的值为()。A、0B、3C、8D、-1【正确答案】:C5.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter【正确答案】:A6.关于抽象方法的说法正确的是()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法【正确答案】:D7.下列修饰符中与访问控制无关的是()A、privateB、publicC、protectedD、final【正确答案】:D8.以下程序的运行结果是:()

A、666B、667C、677D、676【正确答案】:B9.对于一个Java源文件,import,class定义以及package正确的顺序是:A、package,import,classB、class,import,packageC、import,package,classD、package,class,import【正确答案】:A10.在使用super和this关键字时,以下描述正确的是()A、在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B、super()和this()不一定要放在构造方法内第一行C、this()和super()可以同时出现在一个构造函数中D、this()和super()可以在static环境中使用,包括static方法和static语句块【正确答案】:A11.如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是A、publicB、protectedC、privateD、static【正确答案】:C12.以下()不是合法的标识符A、STRINGB、x3x;C、voidD、de$f【正确答案】:C13.对象的特征在类中表示为变量,称为类的()。A、对象B、属性C、方法D、数据类型【正确答案】:B14.执行下面代码结果()

A、语法错误,缺少表达式2和表达式3B、死循环C、程序什么都不输出D、输出:这是0【正确答案】:D15.覆盖与重载的关系是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B、覆盖方法可以不同名,而重载方法必须同名C、final修饰的方法可以被覆盖,但不能被重载D、覆盖与重载是同一回事【正确答案】:A16.this和super:A、都可以用在main()方法中B、都是指一个内存地址C、不能用在main()方法中D、意义相同【正确答案】:C17.以下()代码,能够对数组正确初始化(或者是默认初始化)。A、int[]B、aC、int[]D、int[]【正确答案】:D18.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送()A、调用语句B、命令C、口令D、消息【正确答案】:D19.类与对象的关系是()。A、类是对象的抽象B、对象是类的抽象C、对象是类的子类D、类是对象的具体实例【正确答案】:A20.给出下列代码片段:()

If(x>0){System.out.println("first");}

Elseif(x>-3){System.out.println("second");}

Else{System.out.println("third");}

请问x处于什么范围时将打印字符串“second”?A、x>0B、x>-3C、x<=-3D、x<=0&&x>-3【正确答案】:D21.对于已经被定义过可能抛出异常的语句,在编程时:()A、必须使用try/catch语句处理异常,或用throws将其抛出B、如果程序错误,必须使用try/catch语句处理异常C、可以置之不理D、只能使用try/catch语句处理【正确答案】:A22.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用【正确答案】:A23.下面关于main方法说明正确的是A、publicmain(Stringargs[])B、publicstaticvoidmain(Stringargs[])C、privatestaticvoidmain(Stringargs[])D、voidmain()【正确答案】:B24.()表达式不可以作为循环条件A、i++;B、i>5;C、bEqualD、count【正确答案】:A25.下面关键字中,哪一个不是用于异常处理语句()。A、tryB、breakC、catchD、finally【正确答案】:B26.以下对封装的描述正确的是()A、只能对一个类中的方法进行封装,不能对属性进行封装B、如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C、封装的意义不大,因此在编码时尽量不要使用D、封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性【正确答案】:D27.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。A、staticvoidmethod()B、publicvoidmethod()C、finalvoidmethod()D、abstractvoidmethod()【正确答案】:A28.下列javaDoc注释正确的是()A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/【正确答案】:C29.以下代码段执行后的输出结果为()

Intx=-3;inty=-10;

System.out.println(y%x);A、-1B、2C、1D、3【正确答案】:A30.下列类定义中哪些是合法的抽象类的定义?()A、abstractAnimal{abstractvoidgrowl();}B、classabstractAnimal{abstractvoidgrowl();}C、abstractclassAnimal{abstractvoidgrowl();}D、abstractclassAnimal{abstractvoidgrowl(){System.out.println(“growl”);};}【正确答案】:C31.下列()属于引用数据类型A、StringB、charC、用户自定义的Student类类型【正确答案】:D、int【正确答案】:A32.以下对重载描述错误的是()A、方法重载只能发生在一个类的内部B、构造方法不能重载C、重载要求方法名相同,参数列表不同D、方法的返回值类型不是区分方法重载的条件【正确答案】:B33.给定如下所示的JAVA代码,则运行时,会产生()类型的异常Strings=null;s.concat("abc");ArithmeticExceptionB、NullPointerExceptionC、IOExceptionD、ClassNotFoundException【正确答案】:B34.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。()A、8B、16C、32D、64【正确答案】:B35.void的含义:()A、方法没有返回值B、方法体为空C、没有意义D、定义方法时必须使用【正确答案】:A36.访问修饰符作用范围由大到小是()A、private-default-protected-publicB、public-default-protected-privateC、private-protected-default-publicD、public-protected-default-private【正确答案】:D37.下列代码的执行结果是:()

PublicclassTest3{

Publicstaticvoidmain(Stringargs[]){

System.out.print(100%3);

System.out.print(",");

System.out.println(100%3.0);

}

}A、1,1B、1,1.0C、1.0,1D、1.0,1.0【正确答案】:B38.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点:()A、安全性B、多线程C、跨平台D、可移值【正确答案】:B39.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为()A、隐藏B、重写C、重载D、Java不支持此特性【正确答案】:C40.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时【正确答案】:A41.给定如下Java代码,其中第()行代码有错误。

A、4B、5C、6D、7E、8F、9G、无【正确答案】:G42.下列代码的输出结果是:()

ClassParent{

VoidprintMe(){

System.out.println("parent");

}

};

ClassChildextendsParent{

VoidprintMe(){

System.out.println("child");

}

Voidprintall(){

Super.printMe();

This.printMe();

PrintMe();

}

}

PublicclassTest_this{

Publicstaticvoidmain(Stringargs[]){

ChildmyC=newChild();

MyC.printall();

}

}A、parent

Child

ChildB、parent

Child

ParentC、parent

ChildD、编译错误【正确答案】:A43.在使用interface声明一个接口时,只可以使用____修饰符修饰该接口。()A、privateB、protectedC、privateprotectedD、public【正确答案】:D44.下列代码输出结果是()

A、while循环执行10次B、死循环C、循环一次都不执行D、循环执行一次【正确答案】:B45.有以下方法的定义,请选择该方法的返回类型()。

ReturnTypemethod(bytex,doubley)

{

Return(short)x/y*2;

}A、byteB、shortC、intD、double【正确答案】:D46.关于选择结构下列哪个说法正确?()A、if语句和else语句必须成对出现B、if语句可以没有else语句对应C、switch结构中每个case语句中必须用break语句D、switch结构中必须有default语句【正确答案】:B47.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性【正确答案】:B48.请问所有的异常类皆继承哪一个类?()。A、java.io.ExceptionB、java.lang.ThrowableC、java.lang.ExceptionD、java.lang.Error【正确答案】:B49.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参?()A、StringargsB、Stringargs[]CharargD、StringBufferargs[]【正确答案】:B50.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()A、C不仅继承了B中的成员,同样也继承了A中的成员B、C只继承了B中的成员C只继承了A中的成员D、C不能继承A或B中的成员【正确答案】:A51.下列说法哪个正确?A、不需要定义类,就能创建对象B、对象中必须有属性和方法C、属性可以是简单变量,也可以是一个对象D、属性必须是简单变量【正确答案】:C52.关于对象成员占用内存的说法哪个正确?()A、同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C、对象的方法不占用内存D、以上都不对【正确答案】:B53.以下对抽象类的描述正确的是()A、抽象类没有构造方法B、抽象类必须提供抽象方法C、有抽象方法的类一定是抽象类D、抽象类可以通过new关键字直接实例化【正确答案】:C54.给定以下JAVA代码,这段代码编译运行后输出的结果是()

A、finallyexceptioninmainfinished

B、exceptioninmainfinallyC、finallyfinishedD、finallyexceptioninmainfinished【正确答案】:C55.下列程序段的输出结果是:()

VoidcomplicatedExpression(){

Intx=20,y=30;

Booleanb;

B=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;

System.out.println(b);

}A、trueB、falseC、1D、0【正确答案】:B56.在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。A、tryB、catchC、throwD、throws【正确答案】:A57.在JAVA中,以下()类的对象以键-值的方式存储对象A、java.util.ListB、java.util.ArrayListC、java.util.HashMapD、java.util.LinkedList【正确答案】:C58.注释的基本原则不包括:()A、注释应该增加代码的清晰度B、注释要简洁C、在写代码之前写注释D、尽量给每一条语句加注释【正确答案】:D59.在Java中下面代码是()条语句

A、3B、4C、5D、6【正确答案】:B60.有以下程序片段,下列哪个选项不能插入到行1)。()

1).

2).publicclassInteresting{

3).//dosth

4).}A、importjava.awt.*;B、packagemypackage;C、classOtherClass{}D、publicclassMyClass{}【正确答案】:D61.在类的定义中构造函数的作用是()。A、保护成员变量B、读取类的成员变量C、描述类的特征D、初始化成员变量【正确答案】:D62.使用Java语言编写的源程序保存时的文件扩展名是()。A、.classB、.javaC、.cppD、.txt【正确答案】:B63.若有定义:byte[]x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是()A、x[5-3]B、x[k]C、x[k5]D、x[0]【正确答案】:C64.在类的定义中可以有两个同名函数,这种现象称为函数()。A、封装B、继承C、覆盖D、重载【正确答案】:D65.以下哪个不是Java的原始数据类型()A、intBooleanC、floatD、char【正确答案】:B66.关于下列程序段的输出结果,说法正确的是:(D基本类型数值数据的默认初始值为0)

PublicclassMyClass{

Staticinti;

Publicstaticvoidmain(Stringargv[]){

System.out.println(i);

}

}A、有错误,变量i没有初始化。B、nullC、1D、0【正确答案】:D67.给定如下Java程序代码片段,编译运行这段代码,结果是()。

A、nullB、JackC、nullD、运行时出现异常【正确答案】:B68.如要抛出异常,应用下列哪种子句?()A、catchB、throwsC、tryD、finally【正确答案】:B69.score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是()

A、求最大数B、求最小数C、找到数组最后一个元素D、编译出错【正确答案】:B70.return语句:()A、只能让方法返回数值B、方法都必须含有C、方法中可以有多句returnD、不能用来返回对象\【正确答案】:C71.关于for循环和while循环的说法哪个正确?()A、while循环先判断后执行,for循环先执行后判断。B、while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C、两种循环任何时候都不可以替换D、两种循环结构中都必须有循环体,循环体不能为空【正确答案】:B72.为了使包ch4在当前程序中可见,可以使用的语句是()。A、importch4.*;B、packagech4.*;C、ch4import;D、ch4package;【正确答案】:A73.while循环和do…while循环的区别是:()A、没有区别,这两个结构任何情况下效果一样B、while循环比do…while循环执行效率高C、while循环是先循环后判断,所以循环体至少被执行一次D、do…while循环是先循环后判断,所以循环体至少被执行一次【正确答案】:D74.Java中,在如下所示的Test类中,共有()个构造方法。

A、0B、1C、2D、3【正确答案】:C75.关于构造函数的说法哪个正确?()A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数【正确答案】:C76.下列选项中关于Java中封装的说法错误的是()。A、封装就是将属性私有化,提供共有的方法访问私有属性B、属性的访问方法包括setter方法和getter方法C、setter方法用于赋值,getter方法用于取值D、包含属性的类都必须封装属性,否则无法通过编译【正确答案】:D77.以下对继承的描述错误的是()A、Java中的继承允许一个子类继承多个父类B、父类更具有通用性,子类更具体C、Java中的继承存在着传递性D、当实例化子类时会递归调用父类中的构造方法【正确答案】:A78.下面有关for循环的描述正确的是()A、for循环体语句中,可以包含多条语句,但要用大括号括起来B、for循环只能用于循环次数已经确定的情况C、在for循环中,不能使用break语句跳出循环D、for循环是先执行循环体语句,后进行条件判断【正确答案】:A79.在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的。A、add(ObjectB、add(intC、remove(ObjectD、removeLast()【正确答案】:D80.下面程序段执行后b的值是()。

Integerinteg=newInteger(9);

Booleanb=integinstanceofObject;A、9B、trueC、1D、false【正确答案】:B81.下面哪一个是Java中不合法的标识符()。A、$personsB、twoNumC、_myVarD、*point【正确答案】:D82.在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是()。A、bookTypeList.add("小说");B、bookTypeList.get("小说");C、bookTypeList.contains("小说");D、bookTypeList.remove("小说");【正确答案】:C83.设有数组的定义int[]a=newint[3],则下面对数组元素的引用错误的是()。A、a[0];B、a[a.length-1];C、a[3];D、inti=1;a[i];【正确答案】:C84.设有下面两个赋值语句:

A=Integer.parseInt(“12”);

B=Integer.valueOf(“12”).intValue();

下述说法正确的是()。A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。C、a和b都是整数类对象并且值相等。D、a和b都是整数类型变量并且值相等。【正确答案】:A85.以下关于抽象类和接口的说法错误的是()A、抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。B、在抽象类中可以没有抽象方法C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现D、接口中定义的变量默认是publicE、接口中的方法都必须加上public关键字。【正确答案】:E86.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法【正确答案】:C87.分析如下Java代码,编译运行后将输出()。

A、1B、2C、3D、4【正确答案】:B88.在Java中,关于构造方法,下列说法错误的是()A、构造方法的名称必须与类名相同B、构造方法可以带参数C、构造方法不可以重载D、构造方法绝对不能有返回值【正确答案】:C89.java.io包的File类是A、字符流类B、字节流类C、对象流类D、非流类【正确答案】:B90.关于面向对象的说法正确的是()A、类可以让我们用程序模拟现实世界中的实体B、有多少个实体就要创建多少个类C、对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现D、现实世界中的某些实体不能用类来描述【正确答案】:A91.分析选项中关于Java中this关键字的说法正确的是()A、this关键字是在对象内部指代自身的引用B、this关键字可以在类中的任何位置使用C、this关键字和类关联,而不是和特定的对象关联D、同一个类的不同对象共用一个this【正确答案】:A92.下面哪个是非法的:A、intI=32;B、floatf=45.0;C、doubled=45.0;D、charc=‘u’;//符号错【正确答案】:D93.以下有关构造方法的说法,正确的是:()A、一个类的构造方法可以有多个B、构造方法在类定义时被调用C、构造方法只能由对象中的其它方法调用。D、构造方法可以和类同名,也可以和类名不同【正确答案】:A94.异常包含下列哪些内容?()A、程序执行过程中遇到的事先没有预料到的情况B、程序中的语法错误C、程序的编译错误D、以上都是【正确答案】:A95.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是()。

Importjava.io.*;

PublicclassTest{

Publicstaticvoidmain(Stringargs[]){

Try{

Strings="ABCDE";

Byteb[]=s.getBytes();

FileOutputStreamfile=newFileOutputStream("test.txt",true);

File.write(b);

File.close();

}

Catch(IOExceptione){

System.out.println(e.toString());

}

}

}ABCABCB、ABCDEC、TestD、ABCDEABCDEABCDE【正确答案】:D96.在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。A、equals(ObjectB、getClass()C、toString()D、trim()【正确答案】:D97.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的()。ArrayListmyList=newObject()B、ListmyList=newArrayList()C、ArrayListmyList=newList()D、ListmyList=newList()【正确答案】:C98.以下代码运行输出是()

A、输出:PersonB、没有输出C、编译出错D、运行出错【正确答案】:C99.在Java语言中,下列关于类的继承的描述,正确的是()。A、一个类可以继承多个父类B、一个类可以具有多个子类C、子类可以使用父类的所有方法D、子类一定比父类有更多的成员方法【正确答案】:B100.以下()不是Object类的方法A、clone()B、finalize()C、toString()D、hasNext()【正确答案】:D1.在Java中,下面对于构造函数的描述错误的是()A、类不一定要显式定义构造函数B、构造函数的返回类型是voidC、如果构造函数不带任何参数,那么构造函数的名称和类名可以不同D、一个类可以定义多个构造函数【正确答案】:BC2.以下属于面向对象的特征的是()。A、重载B、重写C、封装D、继承【正确答案】:CD3.下列关于字符串的描述中错误的是()A、字符串是对象B、String对象存储字符串的效率比StringBuffer高C、可以使用StringBufferD、String类提供了许多用来操作字符串的方法:连接,提取,查询等【正确答案】:BC4.给定java代码如下所示,在A处新增下列(AC)方法,是对cal方法的重载

*A、publicintcal(intx,inty,floatz){return0;}B、publicintcal(intx,inty,intz){return0;}C、publicvoidcal(intx,intz){}D、publicviodcal(intz,inty,intx){}【正确答案】:AC5.在Java接口中,下列选项中有效的方法声明是()。A、

publicvoidaMethod();B、voidaMethod();C、protectedvoidaMethod();D、privatevoidaMethod();【正确答案】:AB简答题1.Map有什么特点【正确答案】:

以键值对存储数据

元素存储循序是无须的

不允许出现重复键2.&和&&的区别【正确答案】:

&是位运算符。&&是布尔逻辑运算符,在进行逻辑判断时用&处理的前面为false后面的内容仍需处理,用&&处理的前面为false不再处理后面的内容。3.例如:if(a+1.0=4.0),这样做好吗?【正确答案】:

不好,因为计算机在浮点型数据运算的时候,会有误差,尽量在布尔表达式中不使用浮点型数据(if,while,switch中判断条件不使用浮点型)4.interfaceA{

Intx=0;

}

ClassB{

Intx=1;

}

ClassCextendsBimplementsA{

PublicvoidpX(){

System.out.println(x);

}

Publicstaticvoidmain(String[]args){

NewC().pX();

}

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时importjava.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为publicstaticfinal.所以可以通过A.x来明确。5.abstractclassSomething{

PrivateabstractStringdoSomething();

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstractmethod封锁起来呢?(同理,abstractmethod前不能加final)。6.什么是面向对象?【正确答案】:

世间万物都可以看成一个对象。每个物体包括动态的行为和静态的属性,这些就构成了一个对象。7.interfacePlayable{

Voidplay();

}

InterfaceBounceable{

Voidplay();

}

InterfaceRollableextendsPlayable,Bounceable{

Ballball=newBall("PingPang");

}

ClassBallimplementsRollable{

PrivateStringname;

PublicStringgetName(){

Returnname;

}

PublicBall(Stringname){

T=name;

}

Publicvoidplay(){

Ball=newBall("Football");

System.out.println(ball.getName());

}

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。"interfaceRollableextendsPlayable,Bounceable"没有问题。interface可继承多个interfaces,所以这里没错。问题出在interfaceRollable里的"Ballball=newBall("PingPang");"。任何在interface里声明的interfacevariable(接口变量,也可称成员变量),默认为publicstaticfinal。也就是说"Ballball=newBall("PingPang");"实际上是"publicstaticfinalBallball=newBall("PingPang");"。在Ball类的Play()方法中,"ball=newBall("Football");"改变了ball的reference,而这里的ball来自Rollableinterface,Rollableinterface里的ball是publicstaticfinal的,final的object是不能被改变reference的。因此编译器将在"ball=newBall("Football");"这里显示有错。8.构造方法能不能显式调用?【正确答案】:

不能构造方法当成普通方法调用,只有在创建对象的时候它才会被系统调用9.你所了解的数据源技术有那些?使用数据源有什么好处?【正确答案】:

Dbcp,c3p0等,用的最多还是c3p0,因为c3p0比dbcp更加稳定,安全;通过配置文件的形式来维护数据库信息,而不是通过硬编码。当连接的数据库信息发生改变时,不需要再更改程序代码就实现了数据库信息的更新。10.Collection接口下有那些集合框架?【正确答案】:

List:线性表、Set:无序集合。11.Error与Exception区别?【正确答案】:

Error和Exception都是java错误处理机制的一部分,都继承了Throwable类。

Exception表示的异常,异常可以通过程序来捕捉,或者优化程序来避免。

Error表示的是系统错误,不能通过程序来进行错误处理。12.classSomething{

Finalinti;

PublicvoiddoSomething(){

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

}

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。finalinti是个final的instantvariable(实例变量,或叫成员变量)。final的instantvariable没有defaultvalue,必须在constructor(构造器)或实例代码块结束之前被赋予一个明确的值。可以修改为"finalinti=0;"。13.怎么在JDBC内调用一个存储过程【正确答案】:

使用CallableStatement14.java中有没有指针?【正确答案】:

有指针,但是隐藏了,开发人员无法直接操作指针,由jvm来操作指针15.Stringstr=”aaa”,与Stringstr=newString(“aaa”)一样吗?【正确答案】:

不一样的。因为内存分配的方式不一样。

第一种,创建的”aaa”是常量,jvm都将其分配在常量池中。

第二种创建的是一个对象,jvm将其值分配在堆内存中。16.publicclassSomething{

Publicstaticvoidmain(String[]args){

Somethings=newSomething();

System.out.println("s.doSomething()returns"+doSomething());

}

PublicStringdoSomething(){

Return"Dosomething...";

}

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。看上去在main里calldoSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。staticmethod不能直接callnon-staticmethods。可改成"System.out.println("s.doSomething()returns"+s.doSomething());"。同理,staticmethod不能访问non-staticinstantvariable。17.串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?【正确答案】:

吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序。而串行收集器对大多数的小应用(在现代处理器上需要大概100M左右的内存)就足够了。18.Java中集合框架的有几个?【正确答案】:

Coillection、Map。19.判断两个对象是否相同,能使用equlas比较吗?【正确答案】:

不能。Equlas大多用来做字符串比较,要判断基本数据类型或者对象类型,需要使用==20.Java中异常分为哪两种?【正确答案】:

编译时异常

运行时异常21.什么是重写?什么是重载?【正确答案】:

重载和重写都是java多态的表现。

重载叫override,在同一个类中多态的表现。当一个类中出现了多个相同名称的方法,但参数个数和参数类型不同,方法重载与返回值无关

重写叫overwrite,是字符类中多态的表现。当子类出现与父类相同的方法,那么这就是方法重写。方法重写时,子类的返回值必须与父类的一致。如果父类方法抛出一个异常,子类重写的方法抛出的异常类型不能小于父类抛出的异常类型。22.常用io类有那些?【正确答案】:

File

FileInputSteam,FileOutputStream

BufferInputStream,BufferedOutputSream

PrintWrite

FileReader,FileWriter

BufferReader,BufferedWriter

ObjectInputStream,ObjectOutputSream23.抽象类和接口的区别?【正确答案】:

抽象类:

1)抽象方法,只有行为的概念,没有具体的行为实现。使用abstract关键字修饰,没有方法体。子类必须重写这些抽象方法。

2)包含抽象方法的类,一定是抽象类。

3)抽象类只能被继承,一个类只能继承一个抽象类。

接口:

1)全部的方法都是抽象方法,属型都是常量

2)不能实例化,可以定义变量。

3)接口变量可以引用具体实现类的实例

4)接口只能被实现,一个具体类实现接口,必须实现全部的抽象方法

5)接口之间可以多实现

6)一个具体类可以实现多个接口,实现多继承现象24.Java都有那些开发平台?【正确答案】:

JAVASE:主要用在客户端开发

JAVAEE:主要用在web应用程序开发

JAVAME:主要用在嵌入式应用程序开发25.Java反射创建对象效率高还是通过new创建对象的效率高?【正确答案】:

通过new创建对象的效率比较高。通过反射时,先找查找类资源,使用类加载器创建,过程比较繁琐,所以效率较低26.构造方法能不能重写?能不能重载?【正确答案】:

可以重写,也可以重载27.Java中有几种数据类型【正确答案】:

整形:byte,short,int,long

浮点型:float,double

字符型:char

布尔型:boolean28.构造方法能不能重载?能不能重写?【正确答案】:

可以重载,必须重写29.程序的结构有那些?【正确答案】:

顺序结构

选择结构

循环结构30.Java的数据结构有那些?【正确答案】:

线性表(ArrayList)

链表(LinkedList)

栈(Stack)

队列(Queue)

图(Map)

树(Tree)31.在使用jdbc的时候,如何防止出现sql注入的问题。【正确答案】:

使用PreparedStatement类,而不是使用Statement类32.当父类引用指向子类对象的时候,子类重写了父类方法和属性,那么当访问属性的时候,访问是谁的属性?调用方法时,调用的是谁的方法?【正确答案】:

子类重写了父类方法和属性,访问的是父类的属性,调用的是子类的方法33.Java中各种数据默认值【正确答案】:

Byte,short,int,long默认是都是0

Boolean默认值是false

Char类型的默认值是’’

Float与double类型的默认是0.0

对象类型的默认值是null34.什么是拆装箱?【正确答案】:

拆箱:把包装类型转成基本数据类型

装箱:把基本数据类型转成包装类型35.Java中的继承是单继承还是多继承【正确答案】:

Java中既有单继承,又有多继承。对于java类来说只能有一个父类,对于接口来说可以同时继承多个接口36.如何将字符串反转?【正确答案】:

Stringbuilder或者stringbuffer的reverse方法37.Java中操作字符串使用哪个类?【正确答案】:

String,StringBuffer,StringBuilder38.线程同步的方法【正确答案】:

1)wait():让线程等待。将线程存储到一个线程池中。

2)notify():唤醒被等待的线程。通常都唤醒线程池中的第一个。让被唤醒的线程处于临时阻塞状态。

3)notifyAll():唤醒所有的等待线程。将线程池中的所有线程都唤醒。39.Set接口有什么特点【正确答案】:

无须存储、不能有重复值。40.Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型【正确答案】:

Char在java中也是比较特殊的类型,它的int值从1开始,一共有2的16次方个数据;Char<int<long<float<double;Char类型可以隐式转成int,double类型,但是不能隐式转换成string;如果char类型转成byte,short类型的时候,需要强转。41.Object类常用方法有那些?【正确答案】:

Equals

Hashcode

ToString

Wait

Notify

Clone

GetClass42.Java中的包装类都是那些?【正确答案】:

Byte:Byteshort:Shortint:Integerlong:Longfloat:Floatdouble:Doublechar:Characterboolean:Boolean43.重载与重写【正确答案】:

1)Overload为重载,Override为重写方法的重写和重载是Java多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。

2)如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Override)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。

3)如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overload)。

重载的方法是可以改变返回值的类型。44.Java的io流分为哪两种?【正确答案】:

1)按功能来分

输入流(input),输出流(output)

2)按类型来分

字节流,字符流45.Array与ArrayList有什么不一样?【正确答案】:

Array与ArrayList都是用来存储数据的集合。ArrayList底层是使用数组实现的,但是arrayList对数组进行了封装和功能扩展,拥有许多原生数组没有的一些功能。我们可以理解成ArrayList是Array的一个升级版。46.Log4j日志有几个级别?【正确答案】:

由低到高:debug、info、wran、error47.接口与抽象类有什么区别?【正确答案】:

抽象类有构造方法,接口没有构造方法

抽象类只能单继承,接口可以多继承

抽象类可以有普通方法,接口中的所有方法都是抽象方法

接口的属性都是publicstaticfinal修饰的,而抽象的不是48.类与对象的关系?【正确答案】:

类是对象的抽象,对象是类的具体,类是对象的模板,对象是类的实例49.创建一个子类对象的时候,那么父类的构造方法会执行吗?【正确答案】:

会执行。当创建一个子类对象,调用子类构造方法的时候,子类构造方法会默认调用父类的构造方法。50.除了使用new创建对象之外,还可以用什么方法创建对象?【正确答案】:

Java反射51.一个java类中包含那些内容?【正确答案】:

属性、方法、内部类、构造方法、代码块。52.面向对象的语言有那些特征?【正确答案】:

封装、继承、多态53.什么是OOP?【正确答案】:

面向对象编程54.使用Log4j对程序有影响吗?【正确答案】:

有,log4j是用来日志记录的,记录一些关键敏感的信息,通常会将日志记录到本地文件或者数据库中。记录在本地文件中,会有频繁的io操作,会耗费一些系统资源。记录在数据库中,会频繁地操作数据库表,对系统性能也有一定的影响。但是为了程序安全以及数据的恢复或者bug的跟踪,这点资源消耗是可以承受的。55.假设数组内有5个元素,如果对数组进行反序,该如何做?【正确答案】:

创建一个新数组,从后到前循环遍历每个元素,将取出的元素依次顺序放入新数组中56.说几个常见的编译时异常类?【正确答案】:

NullPointerException:空指针异常

ArrayIndexOutOfBoundsException:数组下标越界

NumberFormatException:数字转换异常

IllegalArgumentException:参数不匹配异常

InstantiationException:对象初始化异常

ArithmeticException:算术异常57.如果父类只有有参构造方法,那么子类必须要重写父类的构造方法吗?【正确答案】:

必须重写58.final、finalize()、finally区别【正确答案】:性质不同1)final为关键字;2)finalize()为方法;3)finally为区块标志,用于try语句中;作用1)final为用于标识常量的关键字,final标识的关键字存储在常量池中(在这里final常量的具体用法将在下面进行介绍);2)finalize()方法在Object中进行了定义,用于在对象“消失”时,由JVM进行调用用于对对象进行垃圾回收,类似于C++中的析构函数;用户自定义时,用于释放对象占用的资源(比如进行I/0操作);3)finally{}用于标识代码块,与try{}进行配合,不论try中的代码执行完或没有执行完(这里指有异常),该代码块之中的程序必定会进行;59.什么是JDK?什么是JRE?【正确答案】:

JDK:javadevelopmentkit:java开发工具包,是开发人员所需要安装的环境

JRE:javaruntimeenvironment:java运行环境,java程序运行所需要安装的环境60.publicclassSomething{

VoiddoSomething(){

PrivateStrings="";

Intl=s.length();

}

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。局部变量前不能放置任何访问修饰符(private,public,和protected)。final可以用来修饰局部变量

(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。61.StringBuffer,Stringbuilder有什么区别?【正确答案】:

StringBuffer与StringBuilder都继承了AbstractStringBulder类,而AbtractStringBuilder又实现了CharSequence接口,两个类都是用来进行字符串操作的。

在做字符串拼接修改删除替换时,效率比string更高。

StringBuffer是线程安全的,Stringbuilder是非线程安全的。所以Stringbuilder比stringbuffer效率更高,StringBuffer的方法大多都加了synchronized关键字62.什么是接口?【正确答案】:

接口就是某个事物对外提供的一些功能的声明,是一种特殊的java类63.Java最顶级的父类是哪个?【正确答案】:

Object64.Java是否需要开发人员回收内存垃圾吗?【正确答案】:

大多情况下是不需要的。Java提供了一个系统级的线程来跟踪内存分配,不再使用的内存区将会自动回收65.Super与this表示什么?【正确答案】:

Super表示当前类的父类对象

This表示当前类的对象66.Static关键字有什么作用?【正确答案】:

Static可以修饰内部类、方法、变量、代码块

Static修饰的类是静态内部类

Static修饰的方法是静态方法,表示该方法属于当前类的,而不属于某个对象的,静态方法也不能被重写,可以直接使用类名来调用。在static方法中不能使用this或者super关键字。

Static修饰变量是静态变量或者叫类变量,静态变量被所有实例所共享,不会依赖于对象。静态变量在内存中只有一份拷贝,在JVM加载类的时候,只为静态分配一次内存。

Static修饰的代码块叫静态代码块,通常用来做程序优化的。静态代码块中的代码在整个类加载的时候只会执行一次。静态代码块可以有多个,如果有多个,按照先后顺序依次执行。67.Thow与thorws区别【正确答案】:

Throw写在代码块内,throw后面跟的是一个具体的异常实例

Throw写在方法前面后面,throws后面跟的是异常类,异常类可以出现多个68.JDBC操作的步骤【正确答案】:

加载数据库驱动类

打开数据库连接

执行sql语句

处理返回结果

关闭资源69.Java常用包有那些?【正确答案】:

Java.lang

Java.io

Java.sql

Java.util

Java.awt

J

Java.math70.ArrayList与LinkedList有什么区别?【正确答案】:

ArrayList与LinkedList都实现了List接口。

ArrayList是线性表,底层是使用数组实现的,它在尾端插入和访问数据时效率较高,

Linked是双向链表,他在中间插入或者头部插入时效率较高,在访问数据时效率较低71.抽象类可以使用final修饰吗?【正确答案】:

不可以。定义抽象类就是让其他继承的,而final修饰类表示该类不能被继承,与抽象类的理念违背了72.接口有什么特点?【正确答案】:

接口中声明全是publicstaticfinal修饰的常量

接口中所有方法都是抽象方法

接口是没有构造方法的

接口也不能直接实例化

接口可以多继承73.abstractclassName{

PrivateStringname;

PublicabstractbooleanisStupidName(Stringname){}

}

以上代码是否存在问题,如果存在请指出【正确答案】:存在。abstractmethod必须以分号结尾,且不带花括号。74.什么是隐式转换,什么是显式转换【正确答案】:

显示转换就是类型强转,把一个大类型的数据强制赋值给小类型的数据;隐式转换就是大范围的变量能够接受小范围的数据;隐式转换和显式转换其实就是自动类型转换和强制类型转换。75.java中是值传递引用传递?【正确答案】:

理论上说,java都是引用传递,对于基本数据类型,传递是值的副本,而不是值本身。对于对象类型,传递是对象的引用,当在一个方法操作操作参数的时候,其实操作的是引用所指向的对象。76.将下java中的math类有那些常用方法?【正确答案】:

Pow():幂运算

Sqrt():平方根

Round():四舍五入

Abs():求绝对值

Random():生成一个0-1的随机数,包括0不包括177.你所知道网络协议有那些?【正确答案】:

HTTP:超文本传输协议

FTP:文件传输协议

SMPT:简单邮件协议

TELNET:远程终端协议

POP3:邮件读取协议78.++i与i++的区别【正确答案】:

++i:先赋值,后计算

I++:先计算,后赋值79.String类的常用方法有那些?【正确答案】:

CharAt:返回指定索引处的字符

IndexOf():返回指定字符的索引

Replace():字符串替换

Trim():去除字符串两端空白

Split():分割字符串,返回一个分割后的字符串数组

GetBytes():返回字符串的byte类型数组

Length():返回字符串长度

ToLowerCase():将字符串转成小写字母

ToUpperCase():将字符串转成大写字符

Substring():截取字符串

Format():格式化字符串

Equals():字符串比较80.List接口有什么特点?【正确答案】:

顺序存储、可以有重复值。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论