corejava基础笔试题以及其详解 四.docx
- 文档编号:27641546
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:24
- 大小:24.58KB
corejava基础笔试题以及其详解 四.docx
《corejava基础笔试题以及其详解 四.docx》由会员分享,可在线阅读,更多相关《corejava基础笔试题以及其详解 四.docx(24页珍藏版)》请在冰豆网上搜索。
corejava基础笔试题以及其详解四
corejava基础笔试题以及其详解四
1编译java程序的命令是_B____;运行java程序的命令是____A__;
产生java文挡的命令是__D_____;查询java类型是否是serializable类型的命令是__C_____;
产生java安全策略文件的命令是___E____;产生类型归档文件.jar的命令是___F____。
A.javaB.javacC.serialver
D.javadocE.policytoolF.jar
2在一个java源文件中的三个顶级元素,按顺序分别是是__packageimportclass______。
3下面叙述正确的有___CDEF________。
A.在一个java源文件中只能定义一个class
B.在一个java源文件中只能定义一个interface
C.在一个java源文件中可以定义多个class
D.在一个java源文件中可以定义多个interface
E.在一个java源文件中可以定义多个class和interface
F.在一个java源文件中只能定义一个publicclass
4java程序中程序运行入口方法main的签名正确的有__ABDFG___。
A.publicstaticvoidmain(Stringargs[])
B.staticpublicvoidmain(String[]args)
C.publicvoidstaticmain(String[]args)
D.staticpublicvoidmain(String...args)
E.publicvoidmain(Stringargs[])
F.publicstaticvoidmain(String...args)
G.publicstaticvoidmain(String[]test)
//void与main必须放在一起
**********************************************************************************
*5以下能作为class,interface,method或variable有效标识符的有__ADFGM____。
*A.ForB.booleanC.23age
*D._idE.mynameF.$this_is_a_long_variable_name_very_very_long
*G.NULLH.#YesI.gotoJ.defaultK.nativeL.volatileM.帅锅
*//保留字:
gotoconst不可以命名汉文也可以命名
*
*6.以下能作为char类型的字面值的有___CDEH__。
*A.charc=“x”B.charc=‘\u12’C.charc=’\u0012’D.charc='帅'
*E.charc=250F.charc=250250G.intx=5;charc=xH.charc=0xf;
**********************************************************************************
*用双引号表示是字符串单引号表示是字符型用unic编码u的后面必须有四位char是两个字节*
*int是四个字节char和int可以相互赋值int向char赋值时只要是不超过char所表示的范围就行*
*char的范围是-2*15到2*15-1byte的范围是-2*7到2*7-1short的范围是-2*15到2*15-1*
*int的范围是-2*31到2*31-1long的范围是2*63到2*63—1boolean的范围是-2*15到2*15-1
*float占32位
*********************************************************************************
7byte、int、double、short、float、long、char、boolean的字节长度分别为_14824821
*********************************************************************************************
8以下正确的有___ACDFGIJK_____。
A.inti=32;B.floatf=45.32;C.doubled=3.2;D.longl=99;
E.byte=128;F.Boole
anb=null;G.longl=0xfffL;H.inti=11l;I.doubled=5.2E12
J.inti,j,k=0Kinti=0;intj=i=5;L.longl=10248920320;
M.inti=10248920320;
//解析B默认的是double型不能直接把double型直接赋值给float型应该进行强转如:
floatf=45.32f然后记着F
9以下返回true的表达式有_ACE______。
A.“george”==“george”B.”george”=“george”
C.“george”.equals(newString(“george”))D.“george”==newString(“george”)
E."google"==newString("google").intern();
//abc.intren()方法做了小动作:
检查缓冲池中是否存在abc这么一个字符串,如果存在就返回池中的字符串
java.lang.String中的intren方法
String用于基本数据比较的是他们的值,用于复合类型时比较的是他们内存中存放的地址,所以,除非是同一个new出来的对象,
返回值为ture,其他的为false
Strings1="Monday";Strings2="Monday";s1==s2是ture引用同一个String对象“Monday”//是同一个new出来的对象
Strings1="Monday";Strings2=newString("Monday");s1==s2是false;s1.equals(s2)是true
java当中所有的类都继承了Object类,在Object的基类中定义了一个equals方法,这个方法初始行为是比较内存地址的,但在一些类中这个方法被覆盖掉了,如(String,Integer,Date,他们比较的是他们的值是否相等)对于符合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于内存地址的
**************************************************************************************************
10根据以下程序选择正确答案_C___:
publicclassTest{
staticinttotal=10;
publicstaticvoidmain(Stringargs[]){
newTest();
}
publicTest(){
System.out.println("Intest");
System.out.println(this);
inttemp=this.total;
if(temp>5){
System.out.println(temp);
}
}
}
A.编译出错B.运行时有异常C.编译运行都正确
*******************************************************************************************
11下面数组定义正确的有_B_D__F___。
A.Stringstrs[]={‘a’‘b’‘c’};
//单引号表示字符是不行的
B.String[]strs={“a”,“b”,“c”};
C.String[]strs=newString{“a””b””c”};
D.Stringstrs[]=newString[]{“a”,“b”,“c”};
E.String[]strs=newString[3]{“a”,“b”,“c”};
//指明长度的时候不能再初始化
F.String[]strs={“a”,“b”,“c”};
G.String[]strs={'a','b','c'};
*********************************************************************************************
12switch语句支持一下哪种类型_A_B_C_H__I__。
A.intB.shortC.charD.floatE.doubleF.booleanG.longH.enumI.byteJ.StringK.Object
*****************
****************************************************************************
13classBase{
//应该提供默认的构造器
publicBase(){}
publicBase(Strings){
System.out.println("Base:
"+s);
}
}
classSubAextendsBase{
publicSubA(Strings){
System.out.println("SubA:
"+s);
}
}
classSubBextendsSubA{
publicSubB(){
super("HelloWorld");
System.out.println("SubB:
HelloWorld.");
}
publicstaticvoidmain(String[]args){
newSubA(null);
newSubB();
}
}
请问上述程序的是_____A_________
A.编译不通过
B.编译通过,但是运行时报错
C.Base:
null
SubA:
null
Base:
HelloWorld
SubA:
HelloWorld
SubB:
HelloWorld
D.SubA:
null
SubB:
HelloWorld
E.SubA:
null
SubA:
HelloWorld
SubB:
HelloWorld
?
?
?
?
?
14以下方法声明正确的有____A_D___________。
A.publicstaticsynchronizedvoidwriteLog(Stringmsg)
B.synchronizedpublicstaticwriteLog(Stringmsg)
C.publicfinalabstractvoidwriteLog(Stringmsg)
//final与abstractsynchronized他们三个不能同时用
D.finalpublicvoidwriteLog(Stringmsg)
E.abstractsynchronizedvoidwriteLog(Stringmsg)
15Java变量分为基本类型与引用类型,
其中基本类型分别为__intbyteshortcharlongfloatdoubleboolean_____________________________,
************************************************************************************************
引用类型大体划分为____类类型接口类型数组类型__________________________,
Java方法的参数传递对于基本数据类型如int,byte等,参数传递是__值传递(ByValue)_;对自定义数据类型,参数传递是_地址传递(引用传递ByReference)___。
*************************************************************************************************
****16如下程序:
publicclassArugmentTest{
staticclassIntA{
privateinta;
publicIntA(inta){this.a=a;}
publicintgetA(){returna;}
publicvoidsetA(inta){this.a=a;}
}
staticpublicvoidchange(inta){
a=3;
//如果在此输出a的值是3
}
staticpublicvoidchange(IntAa){
a.setA(3);
}
staticpublicvoidchangeRef(IntAa){
a=newIntA(9);
}
publicstaticvoidmain(String[]args){
inta=2;
change(a);//调用方法时a的值是3,方法调用后a的值变为2;
System.out.print(a);
IntAia=newIntA(5);
change(ia);
System.out.print(ia.getA());
ChangeRef(ia);
System.out.println(ia.getA());
}
}
在控制台上输出的是___A___。
A.233B.333C.259D.339
17方法重载(overloading)必须满足___C_E____。
A.在不同class中定义的方法B.在同一类中定义的方法
C.方法名必须相同D.返回类型必须相同
E.参数一定不同F.参数可以相同
//注意E选项的理解
************************************************************
*************************************
**18对于构造方法(constructor)描述正确的有_A_C_E_____。
A.构造方法没有返回类型B.构造方法一定是public的方法
C.如果我们没有显示定义构造方法,系统会提供一个缺省的
D.构造方法不能重载E.构造方法可以相互调用
19以下对于方法覆盖(overriding)的说法正确的有_B_C_D_G_(H)___。
A.方法覆盖发生在同一类中B.方法的覆盖发生在子类型中
C.方法名一定要一样D.参数一定要一样
E.返回类型可以不一样F.访问权限只能一样
G.如有异常,子类型中抛出的异常与父类型中的一致或是其子类型
H.静态方法可以被静态方法覆盖
/*注意:
(1).在不创建实例对象就可以调用静态方法
(2).静态方法中不允许访问非静态的变量
(3).静态方法不能被非静态方法覆盖
(1)静态初始化代码块只在类加载的时候被调用,且仅被调用一次
publicclassA{
static{
System.out.println("initoperator");
}
}
产生类加载的常见情况:
(1).使用new关键字创建对象时
(2).访问类中使用static修饰的内容
*/
20请看以下程序:
classVehicle{
publicvoiddrive(){
System.out.println("Vehicle:
drive");
}
}
classCarextendsVehicle{
publicvoiddrive(){
System.out.println("Car:
drive");
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Vehiclev;
Carc;
v=newVehicle();
c=newCar();
v.drive();
c.drive();
v=c;
v.drive();
}
}
以下描述正确的有__C_____。
A.对于语句v=c;会导致编译错误B.对于语句v=c;会导致运行错误
C.运行输出:
Vehicle:
drive
Car:
drive
Car:
drive
D.运行输出:
Vehicle:
drive
Car:
drive
Vehicle:
drive
********************************************************************************************88下
?
?
?
?
?
21以下描述正确的有__A_B_CD_。
A.finalclass不能被继承B.final变量不能被修改(引用变量本身内容可以修改,但变量本身指向的对象不能修改)
C.final成员变量可以在构造方法中赋值
D.final方法不能被覆盖(overriden)E.finalstatic变量只能在声明时赋值
final关键字
1.用final修饰的类不能被继承,
如:
String
2.用final修饰的方法不能被覆盖
3.用final修饰的变量不能被改变,即常量
常量赋值的情况:
(1).声明时对常量赋值(推荐)。
(2).构造器中对常量赋值。
如:
publicclassA{
publicstaticfinalintCOUNT;
publicA(){
COUNT=5;
}
...main(..){
Aa=newA();
}
}
*************************************************************
******22以下描述正确的有_B
_C_D_E_H___。
A.abstractclass一定有abstractmethod(s)
B.abstractclass可以没有abstractmethod(s)
C.定义abstractclass的目的是为了被继承
D.interface中定义的方法全是abstractmethods
E.interface中定义的变量全部是finalstatic变量
F.abstractclass一定没有构造方法
G.abstractclass只能有publicstaticfinal变量
H.interface中的变量访问权限只有public
****23innerclass的类型有_A_B_C_D____。
A.memberinnerclassB.staticinnerclass
C.localinnerclassD.anonymousinnerclass
E.publicinnerclassF.globalinnerclass
*****24一个匿名的内部类有可能__A_B_D____。
A.继承其他的类B.实现了某一接口
C.定义了构造方法D.可以使用成员变量
******25如果你想将一组对象按一定顺序存取,在不考虑并发访问的情况下会使用__C______,反之则会使用___A_____;
如果你想存储一组无序但唯一的对象,你会使用__B______;
如果你想按关键字对对象进行存取,在不考虑并发访问的情况下会使用__D______,反之则会使用___E_____。
A.VectorB.HashSetC.ArrayList
D.HashMapE.Hashtable
?
?
?
?
26程序代码:
publicclassExceptionTest{
publicdoublediv(doublea,doubleb){
//定义的该方法有返回类型
try{
returna/b;
}catch(Exceptione){
System.out.println(“Exceptionthrown”);
//此处没有返回类型,所以是错误的
}catch(Throwablet){
System.out.println(“Throwablethrown”);
return0.0;
}finally{
System.out.println(“Releaseresources.”);
}
}
publicstaticvoidmain(String[]args){
ExceptionTestet=newExceptionTest();
et.div(1,2);
et.div(3.4,0);
}
}
可能产生的结果是___A_____:
A.编译不成功B.运行出错
C.程序运行输出为:
Releaseresources.
Exceptionthrown
Releaseresources.
D.程序运行输出为:
Releaseresources.
Exceptionthrown
Throwablethrown
Releaseresources.
E.程序运行输出为:
Releaseresources.
Throwablethrown
27事件处理方式采用了observer(观察者)设计模式,事件编程模式三要素是__A______、___B_____和___C_____。
其中,__B______通常继承java.util.EventObject,____C____通常继承java.util.EventListener。
A.EventsourceB.Ev
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- corejava基础笔试题以及其详解 corejava 基础 笔试 以及 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)