JSD15考.docx

上传人:b****1 文档编号:654740 上传时间:2023-04-29 格式:DOCX 页数:40 大小:28.85KB
下载 相关 举报
JSD15考.docx_第1页
第1页 / 共40页
JSD15考.docx_第2页
第2页 / 共40页
JSD15考.docx_第3页
第3页 / 共40页
JSD15考.docx_第4页
第4页 / 共40页
JSD15考.docx_第5页
第5页 / 共40页
JSD15考.docx_第6页
第6页 / 共40页
JSD15考.docx_第7页
第7页 / 共40页
JSD15考.docx_第8页
第8页 / 共40页
JSD15考.docx_第9页
第9页 / 共40页
JSD15考.docx_第10页
第10页 / 共40页
JSD15考.docx_第11页
第11页 / 共40页
JSD15考.docx_第12页
第12页 / 共40页
JSD15考.docx_第13页
第13页 / 共40页
JSD15考.docx_第14页
第14页 / 共40页
JSD15考.docx_第15页
第15页 / 共40页
JSD15考.docx_第16页
第16页 / 共40页
JSD15考.docx_第17页
第17页 / 共40页
JSD15考.docx_第18页
第18页 / 共40页
JSD15考.docx_第19页
第19页 / 共40页
JSD15考.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JSD15考.docx

《JSD15考.docx》由会员分享,可在线阅读,更多相关《JSD15考.docx(40页珍藏版)》请在冰点文库上搜索。

JSD15考.docx

JSD15考

1.(单选题)分析如下语句,说法错误的是()。

A.break可用于跳出循环,当多层嵌套时,只用于跳出一层循环

B.break即可以出现在循环语句中也可以出现在switch语句中

C.continue可以用于跳出循环

D.continue不能出现在switch语句中

正确答案:

C

解析:

continue是跳出当次循环直接进入下一次循环,break是跳出循环

2.(单选题)请看下列代码:

publicStringmakinStrings(){

Strings="Fred";

s=s+"47";//Fred47

s=s.substring(2,5);//ed4

s=s.toUpperCase();//ED4

returns.toString();

}

调用makinString方法,得到的字符串长度是:

A.1

B.2

C.3

D.4

正确答案:

C

3.(单选题)下列选项中的类,能正确实现java.lang.Runnable接口和java.lang.Clonable接口的是()。

A.publicclassSessionimplementsRunnable,Clonable{

publicvoidrun();

publicObjectclone();

}

B.publicclassSessionimplementsRunnable,implementsClonable{

publicvoidrun(){/dosomething*/}

publicObjectclone(){/makeacopy*/}

}

C.publicclassSessionimplementsRunnable,Clonable{

publicvoidrun(){/dosomething*/}

publicObjectclone(){/*makeacopy*/}

}

D.publicclassSessionextendsRunnable,Clonable{

publicvoidrun();

publicObjectclone();

}

正确答案:

C

解析:

A:

普通类中不能包含不完整的方法

B:

若一个类实现多个接口,接口之间用逗号隔开

D:

普通类实现接口,要用implements关键字

4.(单选题)下面的程序可以输出1~100内前10个3的倍数:

for(inti=1,count=0;i<100;i++){//遍历1~100的数,count计数

if(i%3==0){//若为true,则是符合输出条件的数

System.out.println(i);

(空白处)//因为要输出前10个数,此处应实现:

判断是否为前十、是否停止

}

}

下列选项中,空白处可以填入的代码是()。

A.if(count++>=10){//先用后加

break;

}

B.if(++count>=10){//先加后用,能进来说明符合条件,count应先加在用

break;

}

C.if(count++>=10){

continue;

}

D.if(++count>=10){

continue;

}

正确答案:

B

解析:

此处考查++被使用的区别,以及continue、break关键字的用法

单独使用:

++在前在后无差别

被使用:

++在前:

先自增再使用

++在后:

先使用再自增

思考:

若count声明时,count=1,结果怎样?

5.(单选题)下列代码编译和运行的结果是()

publicclassFoo{

publicstaticvoidmain(String[]args){

java.util.Listlist=newjava.util.ArrayList();

list.add(newB());

list.add(newC());

for(Aa:

list){

a.x();

a.y();

}

}

}

interfaceA{

voidx();

}

classBimplementsA{

publicvoidx(){}

publicvoidy(){}

}

classCextendsB{

publicvoidx(){}

}

A.代码运行没有输出

B.运行时抛出异常

C.代码a.y();行,编译错误

D.代码java.util.Listlist=newjava.util.ArrayList();行,编译错误

正确答案:

C

解析:

能点出来什么看类型,重写看方法

此处,a是A类型,故只能点出A中的东西

6.(单选题)仔细分析下列代码,请指出错误的行()。

publicclassSomeThing{

privateStringstr;

publicintaddOne(finalintx){

return++x;//x变量是final修饰的,不能改变

}

}

A.publicclassSomeThing

B.privateStringstr;

C.publicintaddOne(finalintx)

D.return++x;

正确答案:

D

解析:

考查final用法:

final修饰类:

不能被继承

final修饰方法:

不能被重写

final修饰变量:

不能改变

7.(单选题)Java语言中int类型表示整数的最大范围是:

A.-2147483647~2147483647

B.-2147483648~2147483647

C.-32767~32767

D.-32768~32767

正确答案:

B

8.(单选题)下列代码的输出结果是()。

publicstaticvoidmain(String[]args){

int[]one=newint[]{4,6,8};

int[]two=newint[]{1,3,5,7,9};

System.arraycopy(one,1,two,2,2);

System.out.println(Arrays.toString(two));

}

A.[1,3,7,4,6]

B.[1,3,5,7,8]

C.[1,3,5,6,9]

D.[1,3,6,8,9]3

正确答案:

D

解析:

考查这个方法的用法:

System.arraycopy(one,1,two,2,2);

从one数组的下标1处开始复制2个,复制到two数组中从下标2位置开始接收

9.(单选题)关于下列代码说法正确的是:

classClassA{

publicintnumberOfinstances;//420

protectedClassA(intnumberOfinstances){//numberOfinstances=420

this.numberOfinstances=numberOfinstances;

}

}

publicclassExtendedAextendsClassA{

privateExtendedA(intnumberOfinstances){//numberOfinstances=420

super(numberOfinstances);//super(420);---调父类有一个参数的构造

}

publicstaticvoidmain(String[]args){

ExtendedAext=newExtendedA(420);//自动调一个参数的构造

System.out.print(ext.numberOfinstances);

}

}

A.运行后,输出420

B.运行时抛出异常

C.编译错误,所有的构造器必须是public的

D.编译错误,构造器不能是private的

正确答案:

A

10.(单选题)下列Java标识符,错误的是()

A._sys_varl

B.$change

C.User_name

D.1_file

正确答案:

D

解析:

字母、数字、_、$,并且不能以数字开头

11.(单选题)运行下面的语句:

Strings="";

if(s==s+0){//false

System.out.println("HelloWorld");

}

编译,运行的结果是:

()。

A.HelloWorld

B.无输出

C.编译错误

D.抛出运行时异常

正确答案:

B

12.(单选题)下面关于数组的声明语句中,有编译错误的是:

()。

A.int[]arr=newint[]{1,2,3};

B.int[]arr=null;arr={1,2,3,4,5};//这种写法只能直接写,不能拆开写

C.int[][]arr=newint[][]{{1,2,3},{4,5},{6}}

D.int[][]arr=newint[2][];

正确答案:

B

13.(单选题)下列数组声明语句中,错误的是:

()。

A.int[]arr=newint[]{};

B.int[]arr=newint[];//[]中要传入数组的长度

C.int[]arr={};

D.int[][]arr=newint[2][];

正确答案:

B

14.(单选题)下列代码编译和运行的结果是:

publicstaticvoidmain(String[]args){

String[]elements={"for","tea","too"};

Stringfirst=(elements.length>0)?

elements[0]:

null;

System.out.println(first);

}

A.编译出错

B.输出:

tea

C.输出:

for

D.输出:

null

正确答案:

C

解析:

此处考查三目运算

boolean值?

表达式1:

表达式2;

15.(单选题)运行下面程序:

publicstaticvoidmain(String[]args){

Mapmap=newHashMap();

map.put(String.valueOf(System.currentTimeMillis())+"a","1");

map.put(String.valueOf(System.currentTimeMillis())+"b","2");

map.put(String.valueOf(System.currentTimeMillis())+"c","3");

for(Map.Entryentry:

map.entrySet()){

System.out.println(entry.getValue());

}

}

输出的结果是()

A.123

B.312

C.213

D.123顺序无法确定

正确答案:

D

解析:

publicSet>entrySet()

遍历所有的key-value,将当前Map中的每一组kay-value对封装成一个Entry对象,

并存入Set集合后返回

16.(单选题)下列语句创建对象的总个数是:

()。

Strings=”a”+”b”+”c”+”d”+”e”;

A.1

B.2

C.3

D.4

正确答案:

A

解析:

java编译器的小特性:

当一个表达式运算两边都是字面量,那么编译的过程中就会进行运算,

将结果生成在表达式的位置,可以节省运算时的开销。

17.(单选题)下面的代码用于对数组arr实现冒泡排序:

for(inti=0;i

booleanisSwap=false;

空白处

if(!

isSwap)//比了一轮都没有任何交换,说明顺序已经是排好的了

break;

}

下列选项中,空白处可以填入的代码是:

()

A.for(intj=arr.length-1;j>i;j--){//从后往前比

if(arr[j]

inttemp=arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

isSwap=true;

}

}

B.for(intj=arr.length-1;j>0;j--){//从后往前比

//j>0,冒泡是比完的就不再带着它玩了,这个一直带着它玩

if(arr[j]

inttemp=arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

isSwap=true;

}

}

C.for(intj=i+1;j

//从后面冒但是每轮都从i+1开始比,所以错

if(arr[j]

inttemp=arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

isSwap=true;

}

}

D.for(intj=i;j

if(arr[j]

inttemp=arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

isSwap=true;

}

}

正确答案:

A

解析:

冒泡排序:

从前往后:

拿着大的数给后面的数比----让大数从后面冒出去

从后往前:

拿着小的数给前面的数比----让小数从前面冒出去

18.(单选题)下列代码运行的结果是()。

publicclassBase{

publicstaticfinalStringFOO="foo";

publicstaticvoidmain(String[]args){

Baseb=newBase();

Subs=newSub();

System.out.print(Base.FOO);//调Base中的FOO

System.out.print(Sub.FOO);//调sub中的FOO

System.out.print(b.FOO);//调Base中的FOO

System.out.print(s.FOO);//调Sub中的FOO

System.out.print(((Base)s).FOO);//调Base中的FOO

}

}

classSubextendsBase{

publicstaticfinalStringFOO="bar";

}

A.foofoofoofoofoo

B.foobarfoobarbar

C.foobarfoofoofoo

D.foobarfoobarfoo

正确答案:

D

解析:

能点出来什么看类型,重写看对象。

((Base)s).FOO;等价于Basebb=newSub;bb.FOO;

注意:

子类中继承是具有父类中的常量的,此处子类是声明常量,不是改变了父类中的常量值,是子类中声明了一个自己的常量,只是恰好和继承父类的常量名一致,所以子类调常量肯定是调自己声明的那一个常量,若子类没有声明自己的常量,则会调继承自父类的常量。

19.(单选题)请看下列代码:

publicstaticvoidmain(String[]args){

Calendarc=Calendar.getInstance();

c.set(Calendar.YEAR,2013);

c.set(Calendar.MONTH,Calendar.FEBRUARY);

c.set(Calendar.DATE,28);

<插入代码>

}

在<插入代码>处填入将Calendar表示的日期转换为Date表示的日期:

A.Dated=c.getDate();

B.Dated=c.getCalendar();

C.Dated=c.getNow();

D.Dated=c.getTime();

正确答案:

D

解析:

Calendar与Date、String三者之间的转换

Calendar--->Date

Calendarc=Calendar.getInstance();

Datedate=c.getTime();

Date-->Calendar

Datedate=newDate();//和c存的都是当前系统时间(只是为了测试)

Calendarc=Calendar.getInstance();

c.setTime(date);

Date--->String

Datenow=newDate();

Stringformat="yyyy-MM-ddHH:

mm:

ss";

SimpleDateFormatsdf=newSimpleDateFormat(format);

Stringstr=sdf.format(now);//将Date格式化为时间字符串

String-->Date

Stringstr="2008年8月21日23:

44:

21";

Stringformat="yyyy年M月dd日HH:

mm:

ss";

SimpleDateFormatsdf=newSimpleDateFormat(format);

Datedate=sdf.parse(str);//解析字符串的文本,生成Date

Calendar--->String

Calendar--->Date--->String

String--->Calendar

String--->Date--->Calendar

20.(单选题)下列程序的输出结果是()。

publicstaticvoidmain(String[]args){

Stringstr="ABCDEF";

Stringsub=str.substring(3,5);

System.out.println(sub);

}

A.CD

B.CDE

C.DE

D.DEF

正确答案:

C

解析:

考查substring方法的用法,String下标从0开始,含头不含尾即[3,5)

21.(单选题)下列代码的运行结果是()

publicstaticvoidmain(String[]args){

Stringstr="420";

str+=42;

System.out.print(str);

}

A.42

B.420

C.462

D.42042

正确答案:

D

解析:

+用法:

两边都是数字时:

做算术运算

有一边是字符串:

做连接运算

22.(单选题)请看下列代码,出现错误的行是:

()

01publicinterfaceCookie{

02Cookiecookie=newCart("小面包","盼盼");

03}

04publicclassCartimplementsCookie{

05privateStringname;

06privateStringproduction;

07publicCart(Stringname,Stringproduction){

08this.name=name;

09this.production=production;

10}

11publicvoidsmell(){

12cookie=newCart("蛋黄派","达利园");//cookie可以在子类中使用,但不能更改

13}

14}

A.第2行

B.第4行

C.第11行

D.第12行

正确答案:

D

解析:

接口中:

只能是常量和抽象方法;

常量:

你写或不写都是publicstaticfinal修饰的;

方法:

你写或不写都是publicabstract修饰的;

此处,接口中的声明对象,即声明一个Cookie类型的一个引用类型变量,由于接口的特殊性,

故cookie是publicstaticfinal修饰的,在子类中可以使用,但不能更改。

23.(单选题)请看下列代码:

classClassA{}//动物

classClassBextendsClassA{}//猫

classClassCextendsClassA{}//狗

publicclassTest{

publicstaticvoidmain(String[]args){

ClassAp0=newClassA();//动物=动物

ClassBp1=newClassB();//猫=猫

ClassCp2=newClassC();//狗=狗

ClassAp3=newClassB();//动物=猫

ClassAp4=newClassC();//动物=狗

<插入代码>

}

}

可以在<插入代码>处,填入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2