- 300天,该作的都作到了,该说的也都说啦,够朋友啦~我能够安心啦~
有以下代码:请写出程序的输出结果。java
public class Test
{安全
public static void main(String[] args) { int x = 0; int y = 0; int k = 0; for (int z = 0; z < 5; z++) { if ((++x > 2) && (++y > 2) && (k++ > 2)) { x++; ++y; k++; } } System.out.println(x + ”” +y + ”” +k); }
}code
正确答案: B对象
z=0时候,执行++x > 2,不成立,&&后面就不执行了,此时 x=1,y=0,k=0; z=1时候,执行++x > 2,还不成立 ,&&后面就不执行了,此时 x=2,y=0,k=0; z=2时候, 执行++x > 2,成立,继续执行 ++y > 2, 不成立 , &&后面就不执行了, 此时 x=3,y=1,k=0; z=3时候,执行++x > 2,成立,继续执行++y > 2,不成立 , &&后面就不执行了, 此时 x=4,y=2,k=0; z=4 时候,执行++x > 2,成立,继续执行 ++y > 2, 成立 , 继续执行k++>2 ,不成立,此时仍没有进入for循环的语句中, 但此时 x=5,y=3,k=1; z=5时候,不知足条件了,整个循环结束,因此最好打印时候: x=5,y=3,k=1;
list是一个ArrayList的对象,哪一个选项的代码填到//todo delete处,能够在Iterator遍历的过程当中正确并安全的删除一个list中保存的对象?()rem
Iterator it = list.iterator(); int index = 0; while (it.hasNext()) { Object obj = it.next(); if (needDelete(obj)) //needDelete返回boolean,决定是否要删除 { //todo delete } index ++; }
正确答案: Ait
答案:A 若是在循环的过程当中调用集合的remove()方法,就会致使循环出错,例如: for(int i=0;i<list.size();i++){ list.remove(...); } 循环过程当中list.size()的大小变化了,就致使了错误。 因此,若是你想在循环语句中删除集合中的某个元素,就要用迭代器iterator的remove()方法,由于它的remove()方法不只会删除元素,还会维护一个标志,用来记录目前是否是可删除状态,例如,你不能连续两次调用它的remove()方法,调用以前至少有一次next()方法的调用。