package com.web;public class bb { public static void main(String[] args) { System.out.print(f(6));
}
public static long f(int n) {
long i = 1L;
long j = 1L;
long f = 0;
for(int k = 0; k < n - 2; k++){
f = i + j;
i = j;
j = f;
(1)return f;
}
(2)return f;
}
}package com.web;public class bb { public static void main(String[] args) { for(int i = 101; i < 200 ; i += 2){
boolean f = true
for(int j = 2; j < i; j++){
if(i % j == 0){
f = false;
break;
(1)System.out.print(i);
}
}
(2)System.out.print(i);
}
}
}第一个代码的(1)return f; 和(2)return f; 第二个代码的(1)System.out.print(i);和(2)System.out.print(i);比较,能说说吗,我写代码时最容易犯这错误,把1的位置写到2,或把2写到1,搞不清楚,麻烦说下
第一个比较,(1)无论for想执行多少次,如果执行只执行一遍就退出这个方法了(2)直到整个循环结束才返回
第二个比较,(1)内层循环每执行一次就打出一条(2)外层循环执行一次打出一条
其实你把程序运行起来,直接看结果应该很直观的就能展现出来
第二种情况是在for循环里面执行遍历的同时要执行判断语句,符合判断条件的才打印结果,用(1)System.out.print(i) 比较多。不过你的语句中“(1)System.out.print(i)”应该放在break之前才是正确的。