Java认证考试

 public class Foo {   public static void main (String []args) {   int i = 1;   int j = i++;   if ((i>++j) && (i++ ==j))  {           i +=j;          }        }      }   What is the final value of i?()  A、 1B、 2C、 3D、 4E、 5

题目

 public class Foo {   public static void main (String []args) {   int i = 1;   int j = i++;   if ((i>++j) && (i++ ==j))  {           i +=j;          }        }      }   What is the final value of i?()  

  • A、 1
  • B、 2
  • C、 3
  • D、 4
  • E、 5
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第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 {

public static void main (String[] args) {

int i,j;

for (i=1;i<5;i++) {

for (j=1;j<=i;j++)

system.out.print (i+"X"+j+"="+i*j+" ");

System.out.println();

}

}

}

程序执行完后,i循环和j循环执行的次数分别是【 】。


正确答案:4和10
4和10 解析:i的初始值为1,满足循环条件的i终值为4(i5),所以i在循环过程中的取值为1、 2、3、4;当i为1时,j初值为1,满足循环条件的终值也为1(j=i),j循环1次;同理,当i为2、3、 4时,j的循环次数分别为2、3、4,所以j的循环次数为:1+2+3+4=10次。

第3题:

下列程序的执行结果为( )。 public class c3 { public static void main(String args[]) { int i=13, j=10; if(i-->j) i++; else j--; 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和j的值分别为13和10。

第4题:

下列程序执行后,j的值是 public class Testggg { public static void main(String args[ ]) { int j=1; for(int i=7;i>0;i-=2) j * =2; System.out.println(j); } }

A.15

B.1

C.32

D.16


正确答案:D
解析:科用for循环语句求2的4次幂。一般情况下迭代部分都用i++或i--,但在这里用的是i-=2,需要留意。

第5题:

请阅读下面程序 public class ForLoopStatement { public static void main(string []args){ int i,j; for (i=1; i<5; i++) { //i循环 for (j=1;j<=i;j++) //j循环 System.out.print(i+"×"+j+"="+i*j+" "); System.out.println(); } } } 程序完成后,i循环和j循环执行的次数分别是

A.4,10

B.8,9

C.9,8

D.10,10


正确答案:A
解析:本题考查for循环语句。for循环执行时,首先执行初始化操作,然后判断中止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。
  本题程序中,外层for循环i首先进行初始化操作,然后判断中止条件i5,然后执行循环体中的语句,最后执行迭代部分,即i++。因此,直接可以判断外层循环i执行的次数是4。故本题的正确答案是选项A。
  进一步分析,内层for循环j每次的执行次数都和i的值有关。第一次i的值为1,内层for循环执行的次数是1;第二次i的值为2,内层for循环执行的次数是2;第三次i的值为3,内层for循环执行的次数是3;第四次i的值为4,内层for循环执行的次数是4。因此,内层for循环j的执行次数是1+2+3+4=10。

第6题:

顺序执行下面的语句后,输出的结果是______。

public class exl6

{

public static void main(String[] args)

{

int i;

int a[] = new int[10];

for(i = O; i < a.length; i++)

a[i] = i * 10 + j;

for(i = 1; i < a.length; i++)

if(a[i]%5 == O)

System,out.println(a[i]);

}

}


正确答案:55
55

第7题:

下列程序运行后的输出结果为( )。 public class Test { public static void main (String args[]) { int i,j,p,s; s=0; for (i=1;i<=4; i++) { p=1; for(j=1;j<=i:j++) p=p*j; s=s+p; } System.out.println(s); } }

A.46

B.33

C.30

D.40


正确答案:B
解析:本题考查for语句的嵌套使用。第一个for语句完成对内嵌for语句的循环控制,第二个for语句控制变量j在不大于i变量的情况下计算p=p*j。注意,每执行一次第一个for循环,p都会重新赋值为1,然后与j值相乘,直到j=i为止。事实上,第二个for循环每循环一遍,p的最终结果就是i的阶乘值,由第一个for循环决定了i的取值只能为1、2、3、4,因此最终s的值为1!+2!+3!+4!=1+2+6+24=33。故选项B为正确答案。

第8题:

阅读下面的程序段: publiC class Sun { public static void main (String args[ ]) { int a=0; for(int i=1;i<=3;i++) { for(int j=1;j<=i;j++) { for(int k=j;k<=3;k++) { a=a+1; } } } System.out.println(A) ; } } 执行上面的3重循环后,a的值为( )。

A.3

B.9

C.14

D.21


正确答案:C
解析:本题考查对for循环嵌套的理解。本题应用3重嵌套循环,循环嵌套的执行,当外层循环执行1次,内层循环就要执行所有循环。i=1时,j=1,k执行3次循环得到a的值3;i=2,j=1时,k执行3次循环得到a的值加3并覆盖原值,j=2时,k执行两次循环,a的值加2;依次,i=3时,j执行3次。其中,分别执行3、2、1次,a的值分别加3、2、1,最后得到a的值14。故本题答案是C。

第9题:

下面程序的输出结果是什么? class Happy { public static void main(String args[]) { int i =1; int j = 10; do { if ( i++ < j--) continue; } while ( i <5 ); System.out.println ( i+" "+j ); } }()

A.5 5

B.5 4

C.6 4

D.5 6


正确答案:D

第10题:

下面程序段的输出结果是( )。 public class Test t 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.36

B.48

C.144

D.15


正确答案:D
解析:题目中是一个三个循环的嵌套,但是每次循环时,x都将重新赋值,所以只计算最后一次即可,x=3,执行了两次x=x+6,所以x=15,选D。

更多相关问题