问题1:
static boolean foo(char c)
{
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i =0;
for(foo('A');foo('B')&&(i<2);foo('C'))
{
i++;
foo('D');
}
}
ABDCBDCB
解析:
分号之前第一部分是初始化语句也就是foo(‘a’)所以只会执行一次,第二部分是循环终止控制,也就是循环条件当foo(‘b’) && (i<2)为false时条件就会终止,所以循环会执行两次
第三部分在每次循环完毕时执行,所以执行顺序是先foo(‘a’)所以先打印a,再次执行foo(‘b’)并且判断条件i<2 条件是否满足,满足的话进入循环体,然后i++ i等于1,然后执行foo(‘d’)
再打印d ,执行完毕再执行foo(‘c’)打印c,这是循环一次的结果 abdc,第二遍循环,因为a是初始化变量所以只执行一次,直接执行循环条件,先执行foo(‘b’)并且判断i<2条件是
否满足,现在i是1所以条件满足进入循环体,执行i++,再次执行foo(‘d’),循环完毕执行(‘c’)然后打印c,循环第二遍的结果是bdc,这时循环还会继续执行,因为它还不知道
i是否小于2,初始化变量不执行,执行循环条件,先执行foo(‘b’)打印b然后判断循环条件,现在i等于2所以i<2的条件不满足,所以循环结束
问题2:
有关线程的哪些叙述是对的()
正确答案: B C D 你的答案: B D (错误)
一旦一个线程被创建,它就立即开始运行。
使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
一个线程可能因为不同的原因停止并进入就绪状态。
解析:
问题3:
单例模式中,两个基本要点是
正确答案: A D 你的答案: B D (错误)
构造函数私有
静态工厂方法
以上都不对
唯一实例