单选题下面的代码是否有错误?() If (true)  {  String  var2=”变量2”; System .out.println(var2); }  String  var2=”变量2B”;  System .out.println(var2);A 正确,尽管变量var2定义了两次,但程序自动将它们看成一个变量;B 正确,前面出现的变量var2有效期仅在if中,不会与后面的变量var2重叠 ;C 错误,if 块中的变量var2有效期从这里直到函数结束,因此会出现变量重叠;D 错误,不管变量在哪

题目
单选题
下面的代码是否有错误?() If (true)  {  String  var2=”变量2”; System .out.println(var2); }  String  var2=”变量2B”;  System .out.println(var2);
A

正确,尽管变量var2定义了两次,但程序自动将它们看成一个变量;

B

正确,前面出现的变量var2有效期仅在if中,不会与后面的变量var2重叠 ;

C

错误,if 块中的变量var2有效期从这里直到函数结束,因此会出现变量重叠;

D

错误,不管变量在哪里定义,它们都会在函数入口处初始化,因此会出现变量重叠;


相似考题
更多“下面的代码是否有错误?() If (true)  {  String  var2=”变量2”; System .out.”相关问题
  • 第1题:

    下面程序的运行结果是( )。 public class Test { public static void main (String args[]) { int c=5; System. out. println (C); 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
    解析:第一个输出语句输出的值为c的初值5;第二个输出语句输出c++,由于++在变量之后,先取变量的值作为表达式的值,然后变量再自增,所以表达式c++的值仍为5,输出后c的值变为6。第三次输出时,c的值为6。

  • 第2题:

    下面的代码是否有错误?()If(true){Stringvar2=”变量2”;System.out.println(var2);}Stringvar2=”变量2B”;System.out.println(var2);

    A.正确,尽管变量var2定义了两次,但程序自动将它们看成一个变量;

    B.正确,前面出现的变量var2有效期仅在if中,不会与后面的变量var2重叠;

    C.错误,if块中的变量var2有效期从这里直到函数结束,因此会出现变量重叠;

    D.错误,不管变量在哪里定义,它们都会在函数入口处初始化,因此会出现变量重叠;


    参考答案:B

  • 第3题:

    执行下列程序段之后,变量b的值为( )。 public class Test { public static void main (String[] args) { int i = 12; int j = 24; boolean b1 = true; booleanb=(j%i==0)&&(! b1) || (j/i! =2); System. out. println (B); } }

    A.true

    B.false

    C.0

    D.1


    正确答案:B
    解析:表达式执行次序为:首先做!b1得到false;然后做j%i==0得到true;再做j/i!=2得到false;然后做&&得到false;最后是||,得到false。

  • 第4题:

    下面代码的运行结果是( )。 public class ConcatTest { public static void main (String[ ] args) { String str1 = "abc"; String str2 = "ABC"; String str3 = str1. coneat(str2); System. out. println(str3); } }

    A.abc

    B.ABC

    C.abcABC

    D.ABCabc


    正确答案:C
    解析:String类的concat方法原型为public String concat (String str),其功能是将指定字符串连到此字符串的末尾。如果参数字符串的长度为0,则返回此String对象。否则,创建一个新的String对象,用来表示由此String对象表示的字符序列和由参数字符串表示的字符序列串联而成的字符序列。所以本题中的结果为str1和str2串联而成的字符序列,即“abcABC”。

  • 第5题:

    请将下面程序补充完整。

    public class PowerCalc{

    public static void main(String[]args){

    double x=5.0;

    System. out. println(x+"to the power 4 is"+power(x, 4));

    System. out. println("7. 5 to the power 5 is"+power(7.5, 5));

    System. out. println("7.5 to the power 0 is"+power(7.5, 0));

    System. out. println("10 to the power -2 is"+power(10, -2));

    }

    static double【 】 (double x, int n){

    if(n>1)

    return x * power(x, n-1);

    else if(n<0)

    return 1.0/power(x, -n);

    else

    return n==0 ? 1.0:x;

    }

    }


    正确答案:【 】power
    【 】power 解析:通过程序片段可看出,在main方法中调用了。power方法,所以需要在类中对power方法进行定义,否则编译会报错。下面的程序片段就是对power方法的定义。

  • 第6题:

    阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。

    [说明]

    以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。

    [JAVA代码]

    //定义自己的异常类

    class CCircleException extends Exception

    {

    }

    // 定义类 CCircle

    class CCircle

    {

    private double radius;

    public void setRadius ( double r ) (1)

    {

    if ( r<0 ) {

    (2)

    }

    else

    (3)

    }

    Public void show ( ) {

    System. out. println ( "area="+3.14*radius*radius );

    }

    }

    public class ciusample

    {

    public static void main ( String args[] )

    {

    CCircle cir=new CCircle( );

    (4) {

    cir. setRadius ( -2.0 )

    }

    (5)

    {

    System. out. println ( e+" throwed" ) ;

    }

    cir. show( ) ;

    }

    }


    正确答案:(1)throws CCircleException (2)throw new CCircleException(); //抛出异常 (3)radius=r; (4)try (5)catch(CCircleException e) //捕捉由setRadius()抛出的异常
    (1)throws CCircleException (2)throw new CCircleException(); //抛出异常 (3)radius=r; (4)try (5)catch(CCircleException e) //捕捉由setRadius()抛出的异常 解析:本题主要考查JAVA语言中Class类型的变量应用。本段代码中对于类Ccircle的半径变量进行合法性检验,如果圆Ccircle的半径为负值,则抛出异常处理。

  • 第7题:

    有如下代码段 public class OperatorAndExceptions { public static void main(String args[ ] { int i=10,j=15; System.out.println(i==j); String s1 = new String("how are you!"); String s2=new String("how are you!"); System.out.println(s1==s2); } } 其输出为( )。

    A.true false

    B.true true

    C.false true

    D.false false


    正确答案:D
    解析:本题考查比较运算符==的使用。比较运算符不仅可以用于基本数据类型的数据之间的比较,还可以用于复合数据类型的数据之间的比较。题中整型数i和j的值不同,故其==比较的结果为false。s1和s2的值虽然都是“howareyou!”,但是由于它们是不同的对象,因此运算后的结果为false。如果需要比较两个对象的值是否相同,则可以调用equals()方法。

  • 第8题:

    下列程序段的输出是( )。 public class Test { public static void main (String args[ ]) { String ss1 = new String("hello"); String ss2 = new String("hello"); System.out.println(ssl == ss2); System.out.println (ssequals(ss2)); } }

    A.true, false

    B.true, true

    C.false, true

    D.false, false


  • 第9题:

    下面的语句片段中,变量result结果为( )。 public class Test { public static void main (String args[ ]) { int sum=0; int r=2; iht result=(sum==1?sum:r); System. out. println (result); } }

    A.1

    B.2

    C.10

    D.0


    正确答案:B
    解析:条件运算符?:为三元运算符,它的一般形式为:expression ? statement1:statement2。其中表达式expression的值应为一个布尔值,若该值为true,则执行语句statement1,否则执行语句statement2,而且语句statement1和statement2需要返回相同的数据类型,且该类型不能是 void。在本题中sum等于0,而不等于1,所以返回r的值为2。

  • 第10题:

    下列代码的执行结果是( )。 public class Test1 { public static void main(String args []) { float t=0f; int q=5; System. out. println((t++)*(--q)); } }

    A.40

    B.40

    C.36

    D.36


    正确答案:D
    解析:本题考查++和--运算符,表达式 (t++)*(--q)的结果为30。

  • 第11题:

    给出下面程序: public class ex51 { public static void main(String[] args) { String s = "hello"; String t = "hello"; char c[] = {'h', 'e', '1', '1', 'o'}; System. out. println (______) } } 在程序的横线处填入下列______选项后,程序输出的结果是true。

    A.t.equals(c)

    B.s.equals?

    C.s == t

    D.t == c


    正确答案:C

  • 第12题:

    下面的代码是否有错误?() If (true)  {  String  var2=”变量2”; System .out.println(var2); }  String  var2=”变量2B”;  System .out.println(var2); 

    • A、正确,尽管变量var2定义了两次,但程序自动将它们看成一个变量;
    • B、正确,前面出现的变量var2有效期仅在if中,不会与后面的变量var2重叠 ;
    • C、错误,if 块中的变量var2有效期从这里直到函数结束,因此会出现变量重叠;
    • D、错误,不管变量在哪里定义,它们都会在函数入口处初始化,因此会出现变量重叠;

    正确答案:B

  • 第13题:

    下面哪几段代码不会出现编译错误()

    A、inti=0;if(i){System.out.println(“Hi”);}

    B、booleanb=true;booleanb2=true;if(b==b2){System.out.println(“Sotrue”);}

    C、inti=1;intj=2;if(i==1||j==2)System.out.println(“OK”);

    D、inti=1;intj=2;if(i==1


    参考答案:B,C

  • 第14题:

    执行下列代码段之后,变量b的值为______。 public class ex40 { public static void main(String[] args) { byte x=5; byte y=5; byte c=10; boolean b; b-c<x<<y; System.out.println (b); } }

    A.1

    B.0

    C.false

    D.true


    正确答案:D

  • 第15题:

    假设变量sum=0和j=80都是int类型,则下列语句中的正确的是( ).

    A.if (true) System. out. println("true"); else;

    B.if (5<>1) System. out. println( "not equal" );

    C.for (iht j=20;j<<50;j--) System. out. println (j);

    D.while (j>>=50) sum +=j; j--;


    正确答案:A
    解析:选项B中,不等于关系运算符不是>,而是!=;选项C中,for循环里第二个语句 j20的结果不是布尔型;选项D中,条件表达式的结果也不是布尔型,而且循环体应该包括两条语句,这时需要加{}将j--;也包含在循环体内。

  • 第16题:

    执行下列程序段之后,变量n的值为( )。 public class Test { public static void main(String[ ] args){ int y = 2; int z = 3; int n = 4; n=n+-y* z/n; System. out. println(n); } }

    A.3

    B.-1

    C.-12

    D.-3


    正确答案:A
    解析:程序段的第4行是算术运算语句,该语句执行过程是:首先对y值取负,得到-2,然后乘以z得到-6,再除以n得到-1,最后和n做加法得到3,从而根据赋值运算将3赋给变量n。

  • 第17题:

    下列代码的执行结果是( )。 public class Test{ public static void main String args[]){ String s1=new String("welcome"); String s2=new String("welcome"); System.out.println(s1==s2); System.out.println(s1.equals(s2)); } }

    A.false,false

    B.false,true

    C.true,true

    D.true,false


    正确答案:B

  • 第18题:

    下列代码段的执行结果是( )。 public class Test { public static void main(String args[ ]) { String s1= new String("hello"); String s2= new String("hello"); System.out.println(s1==s2); System.out.println(s1.equal(s2)); } }

    A.true false

    B.true true

    C.false true

    D.false false


    正确答案:C
    解析:本题考查比较运算符(==)的使用。比较运算符不仅可以用于基本数据类型的数据之间的比较,还可以用于复合数据类型的数据之间的比较。题中s1和s2的值虽然都是hello,但是由于它们是不同的对象,因此运算后的结果为false。如果需要比较两个对象的值是否相同,则可以调用equals()方法。所以程序最后输出false和true。

  • 第19题:

    假设有String a = "A"; char b ='A'; int c=65,下面选项中正确的是( )。

    A.if(a == b) {System. out. print("Equal") }

    B.if(c == b) {System. out. print("Equal") }

    C.if(a == c) {System. out. print ("Equal") }

    D.if(c = b) {System. out. print("Equal") }


    正确答案:B
    解析:由于Java是强类型语言,String不能和char、int类型变量直接进行对比。但如果 char和int两类型在同一个表达式中运算,系统是可以进行自动类型转换的,因此这两个类型的变量可以比较。注意D选项的“=”是赋值运算符而不是相等比较运算符。

  • 第20题:

    下列代码的执行结果是______。 public class ex55 { public static void main(String args[] ) { String s1=new String("hello"); String s2=new String("hello"); System.out.print (s1==s2); System.out.print (","); System.out.println (s1.equals (s2)); } }

    A.true, false

    B.true, true

    C.false, true

    D.false, false


    正确答案:C

  • 第21题:

    已知如下代码: switch(m) { case 0: System. out. println("Condition 0 "); case 1: System. out. println("Condition 1 "); case 2: System. out. println("Condition 2 "); case 3: System. out. println("Condition 3 "); break; default: System. out. println("Other Condition"); 当m的值为( )时,可以输出“Condition 2”。

    A.2

    B.0,1

    C.0,1,2

    D.0,1,2,3


    正确答案:C
    解析:由于前三个case语句中没有break语句,因此执行case0之后,会继续执行case1和 case2,所以可以输出“Condition 2”,同理执行case 1和case 2都可以输出“Condition 2”,执行 case 3的时候,无法输出“Condition 2”。

  • 第22题:

    当执行下面代码时,会输出( )。 Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(true); if (b1 == b2) if (bi.equals(b2)) System. out.printin ("a"); else System. out. println ("b"); else if (bi.equals(b2)) System. out.println ("c"); else System. out.printIn("d");

    A.a

    B.b

    C.c

    D.d


    正确答案:C
    解析:本题考查对简单类型中的boolean类型的类封装的理解和掌握。对应于基本数据类型boolean的类封装是Boolean。它的构造函数的原型是Boalean(boolean value),将boolean值的数据转换为Boolean的对象。成员函数 equals()的原型是Boolean equals(Object Obj),当且仅当obj对象为Boolean对象且它的布尔值与该对象的布尔值相同时返回true。注意关系运算符==用来比较两个操作数的值是否相等。它一般只能用在基本数据类型间的比较,对于复杂的数据类型,这种比较往往都是没有意义的,对于这种没有意义的比较,其结果都为false。在本题的代码中,先创建两个Boolean类的对象b1和b2,并且它们的布尔值都为 true。然后直接对这两个对象进行==关系运算,这样的运算结果肯定为false,程序流程就走到第1层的else语句那里了,然后再用equals函数对两个对象的布尔值进行比较。因为它们的布尔值都为true,所以返回结果为true。这样输出的结果就为C。

  • 第23题:

    设VAR1、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。 (1) ADD VAR1,VAR2 (2) MOV AL,VAR2 (3) SUB AL,VAR1 (4) JMP LAB[SI] (5) JNZ VAR1 (6) JMP NEAR LAB


    正确答案: (1) ADD VAR1,VAR2
    错误,两个操作数不能都为存储单元,可改为 MOV BX,VAR2 ADD VAR1,BX
    (2) MOV AL,VAR2
    错误,数据类型不匹配,可改为MOV AX,VAR2
    (3) SUB AL,VAR1
    错误,数据类型不匹配,可改为SUB AX,VAR1
    (4) JMP LAB[SI]
    错误,寄存器相对寻址形式中不能用标号做位移量,可改为JMP VAR1[SI]
    (5) JNZ VAR1
    错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为JNZ LAB
    (6) JMP NEAR LAB
    错误,缺少运算符PTR,可改为JMP NEAR PTR LAB

  • 第24题:

    单选题
    下面的代码是否有错误?() If (true)  {  String  var2=”变量2”; System .out.println(var2); }  String  var2=”变量2B”;  System .out.println(var2);
    A

    正确,尽管变量var2定义了两次,但程序自动将它们看成一个变量;

    B

    正确,前面出现的变量var2有效期仅在if中,不会与后面的变量var2重叠 ;

    C

    错误,if 块中的变量var2有效期从这里直到函数结束,因此会出现变量重叠;

    D

    错误,不管变量在哪里定义,它们都会在函数入口处初始化,因此会出现变量重叠;


    正确答案: B
    解析: 暂无解析