itgle.com

以下程序段的输出结果为 classCruncher{ voidcrunch(inti){ System.out.println("intversion"); } voidcrunch(Strings){ System.out.println("Stringversion"); } publicstaticvoidmain(Stringargs[]){ Crunchercrun=newCruncher(); charch='p'; crun.crunch(ch);} }A.intversionB.Strin

题目

以下程序段的输出结果为 classCruncher{ voidcrunch(inti){ System.out.println("intversion"); } voidcrunch(Strings){ System.out.println("Stringversion"); } publicstaticvoidmain(Stringargs[]){ Crunchercrun=newCruncher(); charch='p'; crun.crunch(ch);} }

A.intversion

B.Stringversion

C.编译出错

D.编译通过,但产生异常


相似考题
更多“以下程序段的输出结果为 classCruncher{ voidcrunch(inti){ System.out.println("intversion"); } voidcrunch(Strings){ System.out.println("Stringversion"); } publicstaticvoidmain(Stringargs[]){ Crunchercrun=newCruncher(); charch='p'; crun.crunch(ch);} }A.intversionB.Strin”相关问题
  • 第1题:

    执行以下代码会输出什么结果?()publicclassTest{StringgetStr(Strings){returns+hello”;}publicstaticvoidmain(Stringarg[]){Testt=newTest();System.out.println(t.getStr(LiLei\n”));}}

    A.编译报错

    B.LiLeihello

    C.LiLeihello

    D.无任何输出


    参考答案:B

  • 第2题:

    下列程序的输出结果是( )。 publicclassArrayTest { publicstaticvoidmain(Stringargs[]) { int[]intArray=newint[3] for(inti=0;i<3;i++) { intArray[i]=i+2; system.out.println("IntArrayr["+i+"]"=intArray[i]); } System.out.println(“---------”); intarrLen=4; IntArray=newint[arrLen]; For(intj=intArray.length;j>=0;j--) { intArray[j]=j*3; system.out.println("hello"+intArray[j]); } } }

    A.编译未通过

    B.编译通过,但运行错误

    C.可以运行,但有错误

    D.以上都不对


    正确答案:B
    解析: 这是一道考查数组引用的题,目的是考查如何在程序中引用初始化后的数组。引用的方式为arrayName[index],其中index为数组的下标,可以为整数,变量和表达式,范围从0开始,一直到数组的长度减1。在Java语言中,是要对数组下标进行检查的。因此当程序运行到数组的长度值时,就发生了越界现象。

  • 第3题:

    下列程序的输出结果是( )。 classTest{ publicstaticvoidmain(Stringargs[]){ intn=7; n<<=3; n=n&n+1|n+2^n+3; n>>=2; System.out.println(n); } }

    A.0

    B.-1

    C.14

    D.64


    正确答案:C
    解析: 本题考查Java中的运算符。首先要清楚程序里面涉及的运算符的含义。“”是按位左移运算符,“&”是按位与运算符,“|”是按位或运算符,“^”是按位异或运算符。题口中整型变量n=7相当于二进制中的111,n=3语句执行后,n值为111000,相当于十进制的56,而语句n=n&n+1|n+2^n+3执行后,n值为57,n>>=2语句执行后,n的值为14,所以选项C正确。

  • 第4题:

    如果程序段如下:inti=1;System.out.println(i);System.out.println(i);则下面哪句话是正确的:()。

    A.不能通过编译

    B.能正确运行

    C.能正确编译

    D.输出结果为1


    参考答案:A

  • 第5题:

    publicclassTest{publicstaticvoidaMethod()throwsException{try{thrownewException();}finally{System.out.println(finally”);}}publicstaticvoidmain(Stringargs[]){try{aMethod();}catch(Exceptione){System.out.println(exception”);}System.out.println(finished”);}}Whatistheresult?()

    A.finally

    B.exceptionfinished

    C.finallyexceptionfinished

    D.Compilationfails.


    参考答案:C

  • 第6题:

    下列代码的执行结果是()。publicclasstest5{publicstaticvoidmain(Stringargs[]){Strings1=newString("hello");Strings2=newString("hello");System.out.prim(s1==s2);System.out.print(",");System.out.println(s1.equals(s2));}

    A.true,false

    B.true,true

    C.false,true

    D.false,false


    正确答案:C

  • 第7题:

    下面程序段的输出结果为( )。 packagetest; publicclassClassA { intx=20; staticinty=6; publicstaticvoidmain(Stringargs[]) { ClassBb=newClassB(); b.go(10); System.out.println("x="+b.x); } } classClassB { intX; voidgo(inty) { ClassAa=newClassA(); X=a.y; } }

    A.x=10

    B.x=20

    C.x=6

    D.编译不通过


    正确答案:C
    解析: 本题考查在Java中静态变量(类变量)的用法。在题目程序段中生成了一个staticinty=6类变量,在ClassA中调用的b.go(10),只不过是在ClassB中的一个局部变量,通过调用ClassB中的go方法可以生成一个ClassA刘象,并给这个新生成的对象赋以ClassA中的类变量y的值。从main()方法作为入口执行程序,首先生成一个ClassB的对象,然后b.go(10)会调用ClassA,会给x和y赋值,x=a.y后,x值为6,再返回去执行System.out.println("x"+b.x)语句,输出为x=6,可见,正确答案为选项C。

  • 第8题:

    阅读下面程序importjava.io.*;publicclassTypeTransition{publicstaticvoidmain(Stringargs[]){chara='h';iNti=100;intj=97;intaa=a+i;System.out.println("aa="+aa);charbb=(char)j;System.out.println("bb="+bb);}}如果输出结果的第二行为bb=a,奸么第一行的输出是()。

    A.aa=I

    B.aa=204

    C.aa=v

    D.aa=156


    正确答案:B

  • 第9题:

    阅读下面程序 importjava.io.*; publicclassTypeTransition{ publicstaticvoidmain(Stringargs[]){ chara='h'; inti=100; intj=97; intaa=a+i; System.out.println("aa="+aa); charbb=(char)j; System.out.println("bb="+bb); } } 如果输出结果的第二行为bb=a,那么第一行的输出结果是( )。

    A.aa=I

    B.aa=204

    C.aa=v

    D.aa=156


    正确答案:B
    解析: 本题考查的是Java的基本数据类型及其运算。程序开始生成了一个字符型变量a和3个整型变量i、i、aa。而整型变量aa的初始值是a+1,其中a是一个字符型变量。如何进行加法运算呢?Java语言规定,char型数据可以自动转换成 int类型,转换的结果就是该字符的ASCII码值。因此,整型变量aa的初始值为字符“h”的ASCII码值加上100。如果记住h的ASCII码值足104,则直接就确定aa的初始值是204,选项B为正确答案。
    如果记不得h的ASCII码,题目中则给出提示。题目中说“输出结果的第二行为bb=a”,也就是字符bb的值为字符a,bb的生成语句是charbb=(char)j是把整型变量j的值强制转换为字符型。同样,把ASCII码值为j(97)所对应的字符赋值给bb。显然,字符a的ASCII码值为97,字符b的ASCII码值为98,依次类推,字符h的ASCII码为104。因此,本题的正确答案是B。

  • 第10题:

    阅读下面程序 publicclasslncrement{ publicstaticvoidmain(Stringargs[]){ intc; C=5; System.out.println?System.out.println(C++); System.out.println(C); } } 程序运行结果是( )。

    A.5 6 6

    B.5 5 6

    C.6 7 7

    D.6 6 6


    正确答案:B
    解析: 本题考查的是Java增量运算符“++”。x++是先使用后加1。首先使用x的值进行表达式的计算,然后才对 x的值加1。++x是先加1后使用。首先对x的值加1,然后使用x的值进行表达式的计算。本题首先生成一个整型变量c,其初始值为5。第一条输出语句输出c的初始值,即5。然后,第二条输出表达式c抖的结果。先输出c的值,然后才对c的值加 1。因此,第二条输出语句输出的是5,输出后c的结果才为6。最后一条输出语句显然输出结果为6。因此,本题的正确答案为B。

  • 第11题:

    下面程序段的输出结果是( )。 public class TeSt{ public static voidmain(Stringargs[]){ int[]a=new int[11]; int[]p=new int[4]; intk=5; for(int i=1;i<=10;i++) a[i]=i; for(inti=1;i<=3;i++) p[i]=a[i*i]; for(inti=1;i<=3;i++) k=k+p[i]*2; System.out.println(k); } }

    A.37

    B.31

    C.33

    D.35


    正确答案:C
    解析: 本题是对for循环语句和数组的综合考查。题中共定义了两个数组:a[]和p[],共用了3次for循环:第1个for语句对数组a[i]赋值;第2个for语句和对数组p[i]赋值;第3个for语句计算k的值。3次循环分别得到:5,15和33。正确答案为选项C。

  • 第12题:

    执行下面的程序段,输出结果为______。

    publicclassQ

    {

    publicstaticvoidmain(Stringargv[])

    {

    intanar[]=newint[5];

    System.out.println(anar[0]);

    }

    }


    正确答案:×
    0 解析: 本题考查Java中数组的定义和初始化。在该方法里定义并动态初始化了一个整型数组anar,由于没有赋初值,系统给默认的初始值是数组中的每个元素全部为零。所以输出数组中的第一个元素anar[O]时,自然也是等于零。

  • 第13题:

    在程序的下划线处应填入的选项是( )。 publicclassTest______{ publicstaticvoidmain(Stringargs[]){ Testt=newTest() Threadtt=newThread(t); tt.start(); } publicvoidmn(){ for(inti=0;i<5;i++){ System.out.println("i="+i); } } }

    A.implementsRunnable

    B.extendsThread

    C.implementsThread

    D.extendsRunnable


    正确答案:A
    解析:Test类实现了Runnable接口。

  • 第14题:

    下面程序段的输出结果是( ) classTest{ publicstaticvoidmain(Stringargs[]){ MyThreadt=newMyThread(); t.displayOutput("thasbeencreateD"); t.start(); } } ClassMyThreadextendsThread{ publicvoiddisplayOutput(Strings){ System.out.println(S); } publicvoidrun(){ displayOutput("tiSrunning."); } }

    A.thasbeencreated.

    B.thasbeencreated. TiSrunning.

    C.tiSrunning.

    D.编译出错


    正确答案:A
    解析: start()方法就可以启动该线程,线程也就处于可运行状态Runnable。Start()方法产生了线程运行需要的系统资源,并调用线程体,也就是Nn()方法,使得线程可以进入运行状态。程序运行时首先创建一个新的线程对象t,并调用 displayOutput(Srungs)方法输出thasbeencreatedo t.start()方法调用lain()方法,输出tisrunning,所以正确答案为选项A。

  • 第15题:

    有如下的程序:publicclassWelcome3{publicstaticvoidmain(Stringargs[]){System.out.println(“Welcome\nto\nJava\nProgramming!“);}}则它的输出结果是:。

    A、WelcometoJavaProgramming!

    B、WelcomentonJavanProgramming!

    C、WelcometoJavaProgramming!

    D、WelcometoJavaProgramming!


    参考答案:D

  • 第16题:

    Whichcodefragmentswillsucceedinprintingthelastargumentgivenonthecommandlinetothestandardoutput,andexitgracefullywithnooutputifnoargumentsaregiven?()

    CODEFRAGMENTa:

    publicstaticvoidmain(Stringargs[]){

    if(args.length!=0)

    System.out.println(args[args.length-1]);

    }

    CODEFRAGMENTb:

    publicstaticvoidmain(Stringargs[]){

    try{System.out.println(args[args.length]);}

    catch(ArrayIndexOutOfBoundsExceptione){}

    }

    CODEFRAGMENTc:

    publicstaticvoidmain(Stringargs[]){

    intix=args.length;

    Stringlast=args[ix];

    if(ix!=0)System.out.println(last);

    }

    CODEFRAGMENTd:

    publicstaticvoidmain(Stringargs[]){

    intix=args.length-1;

    if(ix>0)System.out.println(args[ix]);

    }

    CODEFRAGMENTe:

    publicstaticvoidmain(Stringargs[]){

    try{System.out.println(args[args.length-1]);

    }catch(NullPointerExceptione){}

    }


    参考答案:A

  • 第17题:

    下面程序的运行结果是____________。publicclassAbc{publicstaticvoidmain(Stringargs[]){intb=5;for(inti=0;i<2;i++){b=b+i}System.out.println(“b=“+b);}}


    参考答案:b=6

  • 第18题:

    下列程序的执行结果为( )。 publicclassc3 { publicstaticvoidmain(Stringargs[]) { inti=13,j=10; if(1-->j) i++; elsej--; System.out.println(i+",\t"+j); } }

    A.13 10

    B.12 11

    C.11 11

    D.12 12


    正确答案:A
    解析: 程序是由if-else语句构成的流程,分析判断条件,变量i和j做比较,得到条件表达式的值为true,然后执行i-1,现在变量i的值为12,而j的值为10;由于条件表达式为true,则执行i++,因此i的值为13,并跳过else子句块,循环控制语句执行完中,这时变量i和i的值分别为13和10。

  • 第19题:

    请阅读下面程序 publicclassThreadTest{ publicstaticvoidmain(Stringargs[])throwsException{ inti=0; Hellot=newHello(); ______, while(true){ System.out.println("GoodMoming"+i++); if(i==2&&t.isAlive()){ System.out.println("MainwaitingforHello!"); t.join();//等待t运行结束 } if(i==5)break;} } } classHelloextendsThread{ inti; publicvoidrun(){ while(true){ System.out.println("Hello"+i++); if(i==5)break;}}} 为使该程序正确执行, 下划线处的语句应是( )。

    A.t.sleep()

    B.t.yield()

    C.t.interrupt()

    D.t.start()


    正确答案:D
    解析: 程序中通过继承Thread类来创建线程,而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。

  • 第20题:

    阅读下面程序importjava.io.*;publicclassTypeTransifion{publicstaticvoidmain(Stringargs[]){chara='h';inti=100;intj=97;intaa=a+i;System.out.prinfin("aa="+aa);charbb=(char)j;System.out.println("bb="+bb);}}如果输出结果的第二行为bb=a,那么第一行的输出是()。

    A.aa=I

    B.aa=204

    C.aa=v

    D.aa=156


    正确答案:B

  • 第21题:

    阅读下面程序 publicclass Operators AndExpressions{ voidequalsMethodl(){ Strings1=newString("howareyou"); Strings2=newString("howareyou"); System.out.println(s1==s2); } publicstaticvoidmain(Stringargs[]){ OperatorsAndExpressionsOperAndExp=newOperatorsAndExpressions (); //用于复合类型数据的“==”运算符 OperAndExp.equalsMethodl(); } } 程序运行结果是( )。

    A.==

    B.true

    C.false

    D.equal


    正确答案:C
    解析: 本题考查的足Java语言中运算符的特殊用法。相等比较运算符“==”,不仅可用于基本类型的数据之间的比较,还可以用于复合数据类型之间的比较。但是,对于复合类型数据的“==”运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象s1和s2,然后输出表达式“s1==s2”的结果。根据上面介绍的相等比较运算符的用法,字符串对象s1和s2是复合数据类型,因此表达式“s1==s2”比较的是s1和s2是否同一个对象。显然,s1和s2虽然具有相同的值,即“howareyou”,但它们是两个不同的对象。因此,本题的正确答案足C,

  • 第22题:

    下列程序从标准输入设备—键盘诗篇一个字符,然后再输出到屏幕。要想完成此功能,画线处应该填入的语句为( )。 impoajava.io.*; publicclassTest { publicstaticvoidmain(Stringargs[]) { charch; try { ______, System.out.println(Ch); } catch(IOExceptione) { e.printStackTrace(); } } }

    A.ch=System.in.read();

    B.ch=(char)System.in.read();

    C.ch=(char)System.in.readln();

    D.ch=(int)System.in.read();


    正确答案:B
    解析: 此题程序通过调用系统的系准输入流Sysmm.in的read()方法,从键盘读入一个字符,由于read()方法的返回值是int类型,而变量ch是字符类型,不能直接转换,因此需要进行强制类型转换,应该填入的正确语句是 ch=(char)System.in.read()。

  • 第23题:

    下列程序中,若从键盘中输入的是大写字母C,则程序输出的结果是( )。 Importjava.io.*; publicclassExam{ publicstaticvoidmain(Stringargs[]){ intch=0; System.out.println("输入一个字符:"); try{ ch=System.in.read(); charch_A='A',ch_Z='Z'; intdelta_c=(inoch_A+(int)ch_Z-ch; System.out.println("编码后的字符为:"+(char)delta_c); } catch(IOExceptione){ e.printStackTrace(); } } }

    A.C

    B.Y

    C.X

    D.字母C的ASCII码的整型值


    正确答案:C
    解析: 本题考查考生阅读Java程序的能力。当使用h=System.in.read()语句从键盘读入大写字母C赋给ch,此时 ch值为67,也就是字母C的ASCII值。语句(int)ch A+(int)ch.Z-ch结果为88,ASCII码中的88相当于字母X,所以输出为X,选项C正确。