分析以下代码objectTest{defadd(i:Int)(implicity:Int=100):Int=i+ydefmain(args:Array[String]):Unit={varadd2=add(2)(3);println(add2)}}输出结果为()A、5B、102C、103D、105

题目

分析以下代码objectTest{defadd(i:Int)(implicity:Int=100):Int=i+ydefmain(args:Array[String]):Unit={varadd2=add(2)(3);println(add2)}}输出结果为()

  • A、5
  • B、102
  • C、103
  • D、105
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序的输出结果是( )。 public class Sun { public static void main(String args[ ]) { int x=0; for(int i=1;i<=4;i++) { x=4; for(int j=1;j<=3;j++) { x=3; for(int k=1;k<=2;k++) { x-x+6; } } } System.out.println(x); } }

A.7

B.15

C.157

D.538


正确答案:B
解析:本题考查对for循环嵌套的理解。此题中应用3重for嵌套循环,要注意每次执行完变量k的最内层循环后,得到的x值为15,无论x赋值为3或4,执行到最内层循环都被新值覆盖。因而,j分别等于1,2, 3执行结束时,x的返回值是15;i分别等于 1,2,3,4执行结束时,x返回值依然是15。故本题答案是B。

第2题:

下列程序段运行的结果为 public class Test{ static void print(String s,int i){ System.out.println("String:"+s+",int:"+i); } static void print(int i,String s){ System.out.println("int:"+i+",String:"+s); } public static void main(String[]args){ print(99,"Int first"); } }

A.String:String first,int:11

B.int:11,String:Int first

C.String:String first,int99

D.int:99,String:Int first


正确答案:D
解析:本题考查考生阅读程序的能力。JavaApplication都是以main()方法作为入口,首先执行的是print(99,"Int first"),根据构造方法的参数类型选择调用方法,这里调用的是print(int i,String s)方法,因此输出的是int:99,String:Int first。

第3题:

以下代码的运行结果是______。

public class exl5

{

public static void main(String args [])

{

int i = 5;

do

{

i--;

if(i > 2)

continue;

}while(i < 0);

System.out.println(i);

}

}


正确答案:4
4

第4题:

如下程序是为变量i赋值。若程序的输出结果是180。请将程序补充完整。

注意:不改动程序结构,不得增行或删行。

class Base

{

int i;

Base()

{

add(10);

}

void add(int v)

{

i+=v;

}

void print()

{

System.out.println(i);

}

}

class Extension extends Base

{

Extension()

{

add(______);

}

void add(int v)

{

i+=v*2;

}

}

public class ConstructTest3

{

public static void main(String args[])

{

bogo(new Extension());

}

static void bogo(Base b)

{

b.add(60);

b.print();

}

}


正确答案:20
20 解析:本题综合考查了几个知识点,如调用子类的构造函数时,会先调用父类的构造函数;如果在子类的构造函数中没有显示调用父类的构造函数,那么创建子类的实例时,会先调用父类的缺省构造函数;方法的动态绑定。这些知识是考试的难点。以上代码创建的是Extension类的实例,所以,在运行时,所有调用add()方法的过程,将始终和Extension类的 add()方法动态绑定。以下是程序依次对变量i的改变过程。
初始值:i=0
Step1:创建实例new Extension()
先调用父类的缺省构造函数Base(),注意,父类中的add方法已被子类重写。父类的缺省构造函数中执行add(10),i=0+10*2得到i=20,再调用子类的缺省构造函数Extension(),假设横线处应填入的数是x,子类的缺省构造函数中执行add(x),i=20+x*2。
step2:执行add(60)
i=20+x*2+60*2=180得到x=20

第5题:

下面程序段的输出结果是 class Base { int i; Base() { add(1); } void add(int v) { i+=v; } void print() { System.out.println(i); } } class Extension extends Base { Extension() { add(2); } void add(int v) { i+=v*2; } } public class Test { public static void main(String args[]) { bogo(new Extension()); } static void bogo(Baseb){ b.add(8); b.print(); } }

A.9

B.18

C.20

D.22


正确答案:D
解析:本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是Extension类的实例,在运行时,从main()函数进入程序,所有调用add()方法的过程将始终和Extension类的add()方法动态绑定。初始值:i=0;创建实例new Extension();先调用父类的默认构造函数Base(),并在父类的默认构造函数中执行add(1),i=0+1×2,所以i=2,再调用子类的默认构造函数Extension(),子类的默认构造函数中执行add(2),i=2+2×2,所以i=6;执行add(8);i=6+8×2,因此,最终i=22,正确答案为选项D。

第6题:

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

A.37

B.31

C.33

D.35


正确答案:C

第7题:

下列语句序列执行后,输出的结果为______。 public class ex29 { public static void main(String[] args) { int a=2; int b=3; int c=7; int d=b&c; d=d<a?d:~b; System.out.println(d); } }

A.3

B.2

C.7

D.4


正确答案:D

第8题:

执行下列程序段之后,输出的结果为______。

public class exl0

{

public static void main(String[] args)

{

int i=3;

int j=7;

int k=8;

boolean b=j>i∧k!=i;

System.out.println(b);

}

}


正确答案:false
false

第9题:

下列程序段运行的结果为 public class Test{ static void print(String s,int i){ System.out.println("String:"+s+",int:"+i); } static void print(int i, String s){ System.out.println("int:"+i+",String:"+s); } public static void main(String [] args){ print(99,"Int first"); } }

A.String:Stringfirst,int:11

B.int:11,String:Int first

C.String:String first,int:99

D.int:99,String:int first


正确答案:D
解析:本题考查考生阅读程序的能力。JavaApplication都是以main()方法作为入口,首先执行的是print(99,“Intfirst”),根据构造方法的参数类型选择调用方法,这里调用的是print(inti,Strings)方法,因此输出的是int:99,String:Intfirst。

第10题:

下面代码的运行结果是 public class Test{ public static void main(String args[]){ for(int i=0; i<3;i++){ if(i<2) continue; System.out.println(i); } } }

A.0

B.1

C.2

D.3


正确答案:C
解析:本题考查简单的Java控制语句。题目非常简单,但还是应该细心。这里应注意continue语句。continue语句是跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。当然,在下一轮循环开始前,要先进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。题目所给程序中,当i=0和i=1时,都会执行continue语句,而不会执行System.out.println(i)语句,只有当i=2时才执行System.out.println(i)语句,输出为2,选项C正确。

更多相关问题