JAVA习题JAVASE.docx
- 文档编号:4212855
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:27
- 大小:27.94KB
JAVA习题JAVASE.docx
《JAVA习题JAVASE.docx》由会员分享,可在线阅读,更多相关《JAVA习题JAVASE.docx(27页珍藏版)》请在冰豆网上搜索。
JAVA习题JAVASE
JAVA习题
1、选择题
1.下列哪一种叙述就是正确的()
A.abstract修饰符可修饰字段、方法与类
B.抽象方法的body部分必须用一对大括号{}包住
C.声明抽象方法,大括号可有可无
D.声明抽象方法不可写出大括号
2.如下代码
publicclassTest{
publicintaMethod(){
staticinti=0;//方法体内不能定义全局变量。
i++;
returni;
}
publicstaticvoidmain(Stringargs[]){
Testtest=newTest();
test、aMethod();
intj=test、aMethod();
System、out、println(j);
}
}
输出结果就是什么?
A、0
B、1
C、2
D、编译失败
3.下列哪种说法就是正确的()
A.实例方法可直接调用超类的实例方法//私有与子类重写的方法
B.实例方法可直接调用超类的类方法//私有
C.实例方法可直接调用其她类的实例方法
D.实例方法可直接调用本类的类方法
4.如下代码:
classSuper{
publicIntegergetLenght(){returnnewInteger(4);}
}
publicclassSubextendsSuper{
publicLonggetLenght(){returnnewLong(5);}
publicstaticvoidmain(String[]args){
Supersooper=newSuper();
Subsub=newSub();
System、out、println(sooper、getLenght()、toString()+","+
sub、getLenght()、toString());
}
}
输出就是什么?
A、4,4
B、4,5
C、5,4
D、5,5
E、编译失败//继承重写方法后的返回类型错误
5.如下代码
10、publicObjectm(){
11、Objecto=newFloat(3、14F);
12、Object[]oa=newObject[1];
13、oa[0]=o;
14、o=null;
15、oa[0]=null;
16、print'return0';
17、}
当Float对象在第11行被创建后,什么时候能够被垃圾回收?
A、13行以后、
B、14行以后、
C、15行以后、
D、16行以后、
6.如下代码:
classBase{
Base(){System、out、print("Base");}
}
publicclassAlphaextendsBase{
publicstaticvoidmain(String[]args){
newAlpha();-----调用父类无参的构造方法
newBase();
}
}
结果就是什么?
A、Base
B、BaseBase
C、编译失败、
D、代码运行但没有输出、
E、运行时抛出异常
7.以下关于异常的说法正确的就是:
A、一旦出现异常,程序运行就终止了
B、如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常
C、在catch子句中匹配异常就是一种精确匹配
D、可能抛出系统异常的方法就是不需要申明异常的
8.如下代码:
publicclassFoo{
publicstaticvoidmain(String[]args){
try{
return;
}finally{
System、out、println("Finally");
}
}
}
输出结果就是什么?
A、Finally
B、编译失败
C、代码正常运行但没有任何输出、
D、运行时抛出异常
9.在一个线程中Sleep(1000)方法,将使得该线程在多少时间后获得对CPU的控制(假设睡眠过程中不会有其她事件唤醒该线程)?
A、正好1000毫秒
B、1000毫秒不到
C、=>1000毫秒
D、不一定
10.下面的语句会产生什么样的输出?
System、out、println(4&7);
A、44二进制0100
B、57二进制0111
C、64&7二进制0100
D、7
E、0
11.下面的程序中,temp的最终值就是什么?
longtemp=(int)3、9;//temp=3
temp%=2;
A、0
B、1
C、2
D、3
E、4
12.下面哪个不就是JAVA关键字
Aintegerint
Bdouble
Cfloat
Ddefault
13.下列标识符(名字)命名原则中,正确的就是()
A、类名的首字母小写
B、变量与方法名的首写字母大写
C、接口名的首写字母小写
D、常量完全大写
14.类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){return0;}
3.
4.}
将以下哪种方法插入行3就是不合法的。
()
A、publicfloataMethod(floata,floatb,floatc){return0;}
B、publicfloataMethod(floatc,floatd){return0;}
//方法不能重复
C、publicintaMethod(inta,intb){return0;}
D、privatefloataMethod(inta,intb,intc){return0;}
15.哪个语句创建了一个数组实例?
A、int[]ia=newint[15];
B、floatfa=newfloat[20];
C、char[]ca=“SomeString”;
D、intia[][]={4,5,6}{1,2,3};
16.以public修饰的类如:
publicclassCar{…}则Car()
A、可被其它程序包中的类使用B、仅能被本程序包中的类使用
C、不能被任意其它类使用D、不能被其它类继承
17.Java程序的执行过程中用到一套JDK工具,其中java、exe就是指()
A、Java文档生成器B、Java解释器
C、Java编译器D、Java类分解器
18.下列关于构造方法的叙述中,错误的就是()
A、Java语言规定构造方法名与类名必须相同
B、Java语言规定构造方法没有返回值,但不用vold声明
C、Java语言规定构造方法不可以重载
D、Java语言规定构造方法只能通过new自动调用
19.构造函数何时被调用()
A、类定义时B、创建对象时
C、调用对象方法时D、使用对象的变量时
20.break语句()
A、只中断最内层的循环B、只中断最外层的循环
C、借助于标号,可以实现任何外层循环中断D、只中断某一层的循环
21.Java语言中下面哪个可以用作正确的变量名称()
A、3DB、nameC、extendsD、implements
22.下面哪一项不就是Java类访问控制关键字()
A、publicB、protected
C、thisD、Private
23.在接口中以下哪条定义就是正确的?
()
A、voidmethoda();
B、publicdoublemethoda();
C、publicfinaldoublemethoda();
D、staticvoidmethoda(doubled1);
E、protectedvoidmethoda(doubled1);
//接口中的成员变量都就是publicstaticfinal(默认)
//接口中的方法都就是publicabstract(默认)
24. 下面哪个语句正确地声明一个整型的二维数组?
A、int a[][] = new int[][];
B、int a[10][10] = new int[][];
C、int a[][] = new int[10][10];
D、int [][]a = new int[10][10];
E、int []a[] = new int[10][10];
25.下面哪些不就是java的简单数据类型?
A、shortB、BooleanC、DoubleD、float
26.下面哪些语句能够正确地生成5个空字符串?
A、String a[]=new String[5];for(int i=0;i<5;a[i++]=“”);
B、String a[]={“”,“”,“”,“”,“”};
C、String a[5];
D、String[5]a;
E、String []a=new String[5];for(int i=0;i<5;a[i++]=null);
27.下列说法错误的有()
A.数组就是一种对象
B.数组属于一种原生类
C.intnumber=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变
28.不能用来修饰interface的有()
A.privateB.publicC.protectedD.static
29.下列说法错误的有()
A.在类方法中可用this来调用本类的类方法
B.在类方法中调用本类的类方法时可直接调用
C.在类方法中只能调用本类中的类方法
D.在类方法中绝对不能调用实例方法
30.如下代码
classA{
A(){}
}
classBextendsA{
}
哪两个说明就是正确的?
A、B类的构造器应该就是public、
B、B类的构造器应该就是没有参数
C、B类的构造器应该调用this()、
D、B类的构造器应该调用super()、
31.下列标识符不合法的有()
A.newB.$UsdollarsC.1234D.car、taxi
32.如下代码:
publicclassX{
publicXaMethod(){returnthis;}
}
publicclassYextendsX{
}
哪两个方法能加到Y类的定义中?
A、publicvoidaMethod(){}
B、privatevoidaMethod(){}
C、publicvoidaMethod(Strings){}
D、privateYaMethod(){returnnull;}
E、publicXaMethod(){returnnewY();}
//继承的方法返回值不能改变
33.下面哪三个描述就是正确的?
A、默认构造器初始化方法变量
B、默认构造器有与它所在类相同的访问修饰词、
C、默认构造器调用其父类的无参构造器、
D、如果一个类没有无参构造器,编译器会它创建一个默认构造器、
E、只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器
34.哪二种声明防止方法覆盖?
A、finalvoidmethoda(){}
B、voidfinalmethoda(){}
C、staticvoidmethoda(){}
D、staticfinalvoidmethoda(){}
E、finalabstractvoidmethoda(){}
35.下列程序运行结果
publicclassExSuper{
Stringname;
Stringnick_name;
publicExSuper(Strings,Stringt){
name=s;
nick_name=t;
}
publicStringtoString(){
returnname;
}
}
publicclassExampleextendsExSuper{
publicExample(Strings,Stringt){
super(s,t);
}
publicStringtoString(){
returnname+"a、k、a"+nick_name;
}
publicstaticvoidmain(String[]args){
ExSupera=newExSuper("First","1st");
ExSuperb=newExample("Second","2nd");
System、out、println("ais"+a、toString());
System、out、println("bis"+b、toString());
}
}
A编译时会出现异常。
B运行结果为:
aisFirst
bissecond
C运行结果为:
aisFirst
bisSeconda、k、a2nd
D运行结果为:
aisFirsta、k、a1nd
bisSeconda、k、a2nd
36.abstractclassMineBase{
abstractvoidamethod();
staticinti;
}
PublicclassMineextendsMineBase{
publicstaticvoidmain(Stringargv[]){
int[]ar=newint[5];
for(i=0;i System、out、println(ar[i]); } } } //继承必须实现父类的方法 A打印5个0。 B编译出错,数组ar[]必须初始化。 C编译错误,Mine应声明为abstract。 D出现IndexOutOfBoundes的例外。 2、问答题 1.多线程有几种实现方法,都就是什么? 同步有几种实现方法,都就是什么? 线程实现有两中方法继承Thread类与实现Runnable接口 同步有用synchronized修饰声明的类,也可以用synchronized抱住需要同步的代码;还有在其她程序有wait()实现等待,并且用notify()来唤醒。 2.Static变量就是什么含义 声明静态变量或方法属于全局,由类直接调用 3.垃圾回收器的基本原理就是什么? 垃圾回收器可以马上回收内存不? 有什么办法主动通知虚拟机进行垃圾回收 当对象创建时候,gc就开始对对象的大小,状态,地址开始监控,当该对象不可达时,gc就开始有义务回收。 垃圾回收器不会立刻回收。 可以用过System、gc()来通知gc,但就是具体什么时候回收不知道 4.Overload与Override的区别。 Overloaded的方法就是否可以改变返回值的类型? Overload重载就是在类的内部对方法进行更该,只要方法名相同,其她都可以变 Override重写就是继承父类的方法后重写,其方法名,返回值类型,参数个数,数据类型,顺序,修饰符必须跟父类一样。 5.在main(String[]args)方法内就是否可以调用一个非静态方法? 不能必须创建一个对象,调用该对象的方法 6.同一个文件里就是否可以有两个public类? 不能公开类只有一个 7.方法名就是否可以与构造器的名字相同? 可以 8.初始化了一个没有run()方法的线程类,就是否会出错? 会,启动线程必须要有run()方法 9.选择语句case中,允许使用的值有哪些 charintbyteshortint 10.if(-0、0==0、0)就是相等还就是不等? 相等 11.一个抽象类就是否可以没有抽象方法? 可以抽象类不一定有抽象方法,有抽象方法必定就是抽象类 12.Collection与Collections的区别? Collection就是实现层次结构的接口,她可以用在List,Set中而不能用在Map中 Colletions就是由Collection接口中的静态方法组成的类,她可以为List,Set,Map提供方法 13.Java成员变量默认初始化的值。 Boolean(false)char(null)short(0)byte(0) Int(0)long(0L)float(0、0f)double(0、0d) 引用类型默认为null 14.面向对象的特征有哪些方面? 继承多态(重载,重写)封装抽象 15.String就是最基本的数据类型不? String与StringBuffer的区别? String就是引用数据类型 String声明就是固定的,当再次赋值时,就是重新产生了一个对象,而StringBuffer就是随数据长度变化的,不产生新的对象,并且线程安全。 16.int与Integer有什么区别 Int就是基本数据类型就是原始类 Integer就是个数据封装类 17.运行时异常与检查异常有何异同? 检查异常时会处理catch 运行异常在运行时会由虚拟机往外抛出,如果没有处理抛出异常的代码,那么该线程会中断,或者主程序中断 18.说出ArrayList,LinkedList的存储性能与特性、 Arraylist就是以数组方式存储数据,具有约定的长度,一般比实际的数据长,以便进行插入,与增加元素,该方式按序列号索引数据,所以读取数据块,但就是需要插入数据时要涉及后面元素的存储位置,所以插入慢。 Linkedlist需要根据索引向前或向后遍历,所以读取数据慢,但就是由于就是链式存储数据,所以只需知道前后项,所以插入数据快。 19.谈谈final,finally,finalize的区别 Final就是一个修饰词,被final修饰的类不能被继承,能不做接口,被修饰的方法不能被重载,被修饰的成员变量,必须赋初值。 并且在引用中只读。 Finally在异常trycatch处理中使用,以finally开始的语句一定会执行 Finalize就是一个Object的方法,所有类都继承了Object,该方法在gc中使用,当要回收一个对象就是,就会最后调用该方法。 来确定该对象就是否被gc回收。 20.&与&&的区别。 前者就是位运算符,安位运算,后者就是逻辑运算符 21.HashMap与Hashtable的区别。 Hashtable就是Dictionary的子类,前者就是实现了Map接口 Hashtable的方法就是同步的,而HashMap的方法在缺省情况下就是非同步的,也就就是说。 在多线程中,不用专门的操作就可以安全的使用Hashtable,而使用hashmap则有需要同步机制,可用过Collections类的静态方法synchronizedMap(Mapm)来解决 MapCollections、synchronizedMap(Mapm)返回的就是一个Map,重新封装了底层的HashMap使其在多线程状态下,也就是安全的 在HashMap中null可以作为键,但就是最多只有一个,但就是键对应的值可以有一个或多个null值,当使用get()方法得到value值时,该值如果就是null,那说明HashMap中可能没有该键或者该键值为空,也就就是说不能用get()来判断该HashMap中就是否有该键,应该使用containSkey()方法来判断 22.Strings=newString("xyz");创建了几个StringObject? 两个一个字符串对象s一个字符串引用对象xyz 23.Math、round(11、5)等於多少? Math、round(-11、5)等於多少? 前者12后者-11 24.shorts1=1;s1=s1+1;有什么错? shorts1=1;s1+=1;有什么错? 前者数据类型不对,1为int后者可以发生了强转 25.sleep()与wait()有什么区别? Sleep()就是Thread类的静态方法,在那个线程里面,那个线程就睡,该方法不会释放锁机制,不出让系统资源,并且一定会捕获异常,在程序各处都可以使用。 Wait()就是Object的方法,该方法会释放cpu资源,不一定会捕获异常,自能在方法或者代码块中使用,并且程序通过notify()方法来唤醒程序 26.数组有没有length()这个方法? String有没有length()这个方法? 数组没有length()方法,有length属性 String有length()属性 27.Overload与Override的区别。 Overloaded的方法就是否可以改变返回值的类型? Overload就是重载,也就就是在类里面的方法可以重名,但就是方法具有不同的参数,参数类型,返回值类型,或者修饰词 Override就是重写,就是子类对继承父类方法的重写,只能改变方法内部的内容。 28.Set里的元素能重复不? 那么用什么方法区分就是否重复? Set里面的元素不能重复,并且就是无序的, 使用迭代器Iterator() 29.”==”与equal有何区别? 两个比较的都就是对象的引用(地址),但就是在一些类中覆盖了equals方法,比较的就是值的内容就是否相等 30.error与exception有什么区别? Error就是程序运行出错,该错误恢复很难,比如溢出,程序不能处理这个错误 Exception就是一种抛出异常,程序正常运行就不会抛出。 当出现异常时就会有相应的处理机制。 31.abstractclass与interface有什么区别? 接口一定就是抽象的方法。 抽象类可以有抽象方法 32.abstract的method就是否可同时就是static 不能, 33.接口就是否可继承接口? 抽象类就是否可实现(implements)接口? 抽象类就是否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 习题 JAVASE