题1.
public class Test1 {
public static void main(String[] args) {
int i=0;
int j=5;
st: for(;;i++) { //i=0
for(;;j--) { //一直执行第二层循环,直到执行结束为止
if(i>j) {//当j=-1时结束循环
break st;
}
}
}
System.out.println("i="+i+",j="+j);
}
}
运行结果:
![]()
(1)for循环执行顺序:
如果用①表示初始化表达式、②表示循环条件、③表示操作表达式、④表示循环体,则for循环的执行流程如下所示:

(2)循环嵌套:
规则:在双层for循环嵌套中,外层循环每执行一轮,都要执行完内层循环中的整个for循环,然后执行外层循环第二轮,接着再执行完内层循环中的整个for循环,以此类推,直至外层循环的循环条件不成立,才会跳出整个嵌套for循环。
题2.
class Person{
int age;
void speak() {
System.out.println(age);
}
}
public class Test {
public static void main(String[] args) {
Person p1=new Person();
p1.age=18;
p1.speak();
new Person().age=37;//创建了匿名对象2,但是未调用方法
new Person().speak();//创建匿名对象3,未赋值
//创建了3个对象
}
}
运行结果:
而非18和37
本文通过两个示例详细解析了Java中的for循环执行顺序和循环嵌套规则,以及对象实例化的使用。在题1中,展示了如何利用无限循环和break语句实现特定条件退出。在题2中,讨论了对象创建、属性赋值及其对输出结果的影响,强调了对象实例化与方法调用的关系。

被折叠的 条评论
为什么被折叠?



