考试教辅javajava分析题java分析.docx

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

考试教辅javajava分析题java分析.docx

《考试教辅javajava分析题java分析.docx》由会员分享,可在线阅读,更多相关《考试教辅javajava分析题java分析.docx(25页珍藏版)》请在冰点文库上搜索。

考试教辅javajava分析题java分析.docx

考试教辅javajava分析题java分析

JAVA分析题

1.写出下列程序输出结果:

publicclassSnakeimplementsCloneable{

privateSnakenext;

privatecharc;

Snake(inti,charx){

c=x;

if(--i>0)

next=newSnake(i,(char)(x+1));

}

voidincrement(){

c++;

if(next!

=null)

next.increment();

}

publicStringtoString(){

Strings=":

"+c;

if(next!

=null)

s+=next.toString();

returns;

}

publicObjectclone(){

Objecto=null;

try{

o=super.clone();

}catch(CloneNotSupportedExceptione){}

returno;

}

publicstaticvoidmain(String[]args){

Snakes=newSnake(5,'a');

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

Snakes2=(Snake)s.clone();

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

s.increment();

System.out.println("afters.increment");

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

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

}

}

结果:

s=:

a:

b:

c:

d:

e

s2=:

a:

b:

c:

d:

e

afters.increment

s=:

b:

c:

d:

e:

f

s2=:

a:

c:

d:

e:

f

2.写出main方法中的调用的执行顺序

publicA{

1publicinti=1;

2publicstaticintj=1;

3publicA(){};

}

BextendsA{

4publicinta=2;

5publicstaticintb=2;

6publicB(){};

}

publicclassTest(){

publicstaticvoidmain(String[]args){

inti=B.b;

Bb=newB();

}

}

程序执行的顺序:

251346

3.请列出objBtn_actionPerformed执行时的各语句执行顺序

voidobjBtn_actionPerformed(ActionEvente){

Childchild=newChild();

}

classBase{

1inti=0;

2OtherbaseOther=newOther(“initBaseOther”);

3privatestaticintx=1;

publicBase(){

4System.out.println(“InitBase”);

}

}

classChildextendsBase{

5inta=0;

6OtherchildOther=newOther(“initChildOther”);

7privatestaticinty=2;

publicChild(){

8System.out.println(“initChild”);

}

}

4.请列出Test执行时的输出结果

classA{

publicvoidprintValue(){

System.out.println(“A”);

}

}

classSextendsA{

publicvoidprintValue(){

System.out.println(“S”);

}

}

publicclassTest{

publicstaticvoidmain(String[]args){

Ss=newS();

s.printValue();

Aas=(A)s;

As.printValue();

}

}

输出的结果是:

SS

5.试分析一下以下函数的编码中,存在的性能问题有哪些?

可以进行什么样的优化?

classA{

B[]bs=newB[20];

publicstringtoString(){

\StringBufferbuf=newStringBuffer(“xml”);

for(intI=0;I<20;I++)

buf.append(bs[i].toString());

buf.append(“OVER”);

returnbuf.toString();

}

}

classB{

Stringx=”ValueX”;

Stringy=”ValueY”;

publicStringtoString(){

StringBufferbuf=newStringBuffer();

buf.append(x);

buf.append(y);

returnbuf.toString();

}

}

6.下面的代码有什么性能问题?

前提:

T1位数据库表格,只有一个可以为null的字符串字段,长度为100;

Connectionconn已经获得连接;

ArrayListlistName有500个不同的字符串值,且每个字符串的长度不超过100;

Try{

PreparedStatementps=conn.PreparedStatement(“insertintoT1(name)value(?

)”);

For(intI=0;I

ps.setString(1,(String)list.get(i));

ps.executeUpdate();

}

ps.close();

conn.close();

}catch(Exceptionex){}

答:

oracle服务器端耗费内存!

应该每循环20次mit()一下

7.A内基类B为子类,当Bb=newB();执行时的输出结果

classA{

inti=0;

publicstaticvoidgetInit(Strings){

System.out.println(s);

}

publicA(){

getInit("AInit");

}

}

classBextendsA{

inti=0;

publicstaticvoidgetInit(Strings){

System.out.println(s);

}

publicB(){

getInit("BInit");

}

}

输出的结果是:

AInitBInit

8.写出下面程序运行结果

classNoteX{

publicstaticfinalint

MIDDLE_C=0,C_SHARP=1,C_FLAT=2;

}

classInstrumentX{

publicvoidplay(intNoteX){

System.out.println("InstrumentX.play()");

}

}

classWindXextendsInstrumentX{

publicvoidplay(NoteXn){

System.out.println("WindX.play(NoteXn)");

}

}

classKettleXextendsInstrumentX{

publicvoidplay(intNoteX){

System.out.println("KettleX.play(NoteXn)");

}

}

publicclassWindMusic{

publicstaticvoidtune(InstrumentXi){

i.play(NoteX.MIDDLE_C);

}

publicstaticvoidmain(String[]args){

WindXflute=newWindX();

tune(flute);

KettleXkttle=newKettleX();

tune(kttle);

}

}

其结果:

WindX.play(NoteXn)

InstrumentX.play()

9.写出下面程序运行结果

classTags{

Tags(intmarker){

System.out.println("Tags("+marker+")");

}

}

classInsect{

Tagst1=newTags

(1);

inti=9;

intj;

Insect(){

prt("i="+i+",j="+j);

j=39;

}

staticintx1=prt("staticInsect.x1initialized");

Tagst2=newTags

(2);

staticintprt(Strings){

System.out.println(s);

return47;

}

}

publicclassBeetleextendsInsect{

Tagst3=newTags(3);

intk=prt("Beetle.kinitialized");

Beetle(){

prt("k="+k);

prt("j="+j);

}

staticintx2=prt("staticBeetle.x2initialized");

staticintprt(Strings){

System.out.println(s);

return63;

}

publicstaticvoidmain(String[]args){

prt("Beetleconstructor");

Beetleb=newBeetle();

}

}

其结果:

staticInsect.x1initialized

staticBeetle.x2initialized

Beetleconstructor

Tags

(1)

Tags

(2)

i=9,j=0

Tags(3)

Beetle.kinitialized

k=63

j=39

10.写出下面程序运行结果

publicclassArrayTest{

privateint[]str={1,2,3,4,5,6};

publicArrayTest(){

}

publicvoidincrease(int[]arrays){

for(inti=0;i

arrays[i]++;

}

}

publicvoidprint(){

System.out.print("str=[");

for(inti=0;i

if(i>0){

System.out.print(",");

}

System.out.print(str[i]);

}

System.out.println("]");

}

publicstaticvoidmain(String[]args){

ArrayTestobj=newArrayTest();

obj.print();

System.out.println("Afterincrease:

");

obj.increase(obj.str);

obj.print();

}

}

其结果:

str=[1,2,3,4,5,6]

Afterincrease:

str=[2,3,4,5,6,7]

11.写出下面程序的运行结果并分析程序的潜在缺陷

publicclassNullHandle{

privateStringstr;

publicNullHandle(){

}

publicStringgetStr(){

returnstr;

}

publicstaticvoidmain(String[]args){

NullHandleobj=newNullHandle();

StringnullStr=obj.getStr();

if(nullStr.length()==0){

System.out.println("empty!

");

}else{

System.out.println(nullStr);

}

}

}

答案:

第11行有空指针异常

if(nullStr.length()==0){

12.写出下面程序的运行结果并分析程序的潜在缺陷

publicclassSnakeimplementsCloneable{

privateSnakenext;

privatecharc;

Snake(inti,charx){

c=x;

if(--i>0)

next=newSnake(i,(char)(x+1));

}

voidincrement(){

c++;

if(next!

=null)

next.increment();

}

publicStringtoString(){

Strings=":

"+c;

if(next!

=null)

s+=next.toString();

returns;

}

publicObjectclone(){

Objecto=null;

try{

o=super.clone();

}catch(CloneNotSupportedExceptione){}

returno;

}

publicstaticvoidmain(String[]args){

Snakes=newSnake(5,'a');

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

Snakes2=(Snake)s.clone();

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

s.increment();

System.out.println("afters.increment");

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

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

}

}

答案:

clone方法中只定义了浅克龙,没有把原始对象(这里是一个链表)完全复制下来,s2的每个元素都是s的对应元素的引用(除了第一个)。

13.写出下列程序完成的功能

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=0.0;

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

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

}

}

答案:

计算从1到100转化成double类型的倒数的和100

∑1.0/N

N=1

14.写出下列程序完成的功能

importjava.io.*;

publicclassReverse{

publicstaticvoidmain(Stringargs[]){

inti,n=10;

inta[]=newint[10];

for(i=0;i

try{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

a[i]=Integer.parseInt(br.readLine());

}catch(IOExceptione){};

for(i=n-1;i>=0;i--)

System.out.print(a[i]+"");

System.out.println();

}

}

答案:

要求用户输入10个数字,然后按反序输出

15.写出下面程序运行结果

publicabstractclassABC{

longaver=0;

longmax=0;

longmin=0;

inttestSum=0;

protectedabstractactionPerformed();

publicvoidABC(inttestSum){

longstart;

longinterval;

longsum=0;

this.testSum=testSum;

for(inti=0;i

start=(newjava.util.Date()).getTime();

actionPerformed();

interval=(newjava.util.Date()).getTime()-start;

sum+=interval;

if(interval>max)max=interval;

if(i==0)

min=interval;

elseif(interval

min=interval;

}

aver=sum/testSum;

System.out.println("aver:

\t"+aver+"miliSeconds");

System.out.println("max:

\t"+max+"miliSeconds");

System.out.println("min:

\t"+min+"miliSeconds");

}

}

答案:

计算某个方法执行n次的最短时间、最长时间和平均时间

16.写出下面程序运行结果

importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

Stringstr1="Hello!

";

Stringstr2="IloveJAVA.";

System.out.println(newAB(str1,str2));

System.out.println(str2);

}

}

classAB{

Strings1;

Strings2;

AB(Stringstr1,Stringstr2){

s1=str1;

s2=str2;

str2+=str1;

}

publicStringtoString(){

returns1+s2;

}

}

答案:

Hello!

IloveJAVA.

IloveJAVA.

17.写出下面程序运行结果

classEx{

publicstaticvoidmain(String[]args){

Fxf=newFx(5);

}

Ex(){

System.out.println("Ex,no-args");

}

Ex(inti){

System.out.println("Ex,int");

}

}

classFxextendsEx{

Fx(){

super();

System.out.println("Fx,no-args");

}

Fx(inti){

this();

System.out.println("Fx,int");

}

}

答案:

Ex,no-args

Fx,no-args

Fx,int

18.给出以下程序的运行结果

#include

voidmain(){

intn=5,sum=1;

for(inti=1;i<=n;i++){

sum=sum*i;

}

printf(“outputsum:

%d”,sum);

}

输出结果是120。

19.

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

当前位置:首页 > 医药卫生 > 基础医学

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

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