1、语法格式
for(表达式1 ; 表达式2 ; 表达式3){
循环体
}
1.在for循环中,表达式1,完成变量的初始值,如int i = 1;
2.在for循环中,表达式2,完成循环条件的判断,如果条件满足则为true,则执行循环体,否则执行循环外面的语句,如:i < 5;
3.在for循环中,循环体主要做重复的事情,并且重复的事情在循环体中只编写一次
4.循环体可以编写java中的任何语句
如:
System.out.println("hello world!");
5.在for循环中,表达式3完成变量值的更改,如:i++,i+=2;
可以根据题目的要求自行修改表达式3
例:重复输出5遍hello world!
for(int i = 1; i <= 5; i++) {
System.out.println("hello world!");
}
先执行表达式1,然后执行表达式2,再执行表达式3
然后再执行表达式2,再执行表达式3
重复执行
直到表达式2不满足时停止循环
分步解析:
执行 i=1(表达式1),i= 1 <= 5(表达式2)条件满足
输出第一遍hello world!
执行 i++(表达式3),i= 2 <= 5(表达式2)条件满足
输出第二遍hello world!
执行 i++(表达式3),i= 3 <= 5(表达式2)条件满足
输出第三遍hello world!
执行 i++(表达式3),i= 4 <= 5(表达式2)条件满足
输出第四遍hello world!
执行 i++(表达式3),i= 5 <= 5(表达式2)条件满足
输出第五遍hello world!
执行 i++(表达式3),i= 6 <= 5(表达式2)条件不满足
停止循环
2、for循环注意事项
1.在for循环中,三个表达式都可以省略,但是分号必须编写,则出现死循环,也叫无限循环,解决办法:按Ctrl+C强制终止程序运行
public static void main(String[] args) {
for( ; ; ) {
System.out.println("hello world!");
}
}
2.在for循环中,省略表达式1,则出现编译错误,解决办法:将表达式1编写在for循环的上面,即声明变量int i;
public static void main(String[] args) {
int i = 1;
for( ; i <= 5; i++) {
System.out.println("hello world!");
}
}
3. 在for循环中,省略表达式2,则出现死循环或者无限循环,当省略表达式2时,即条件默认为true
public static void main(String[] args) {
for(int i = 1; ; i++) {
System.out.println("hello world!");
}
}
4.在for循环中,省略表达式3,会出现死循环,解决办法:可以把表达式3写在循环体中的最后一行
public static void main(String[] args) {
//无表达式3,则出现死循环
for(int i = 1; i <= 5; ) {
System.out.println("hello world!");
}
//当表达式3是循环体中的第一条语句时
for(int i = 1; i <= 5; ) {
i++;
System.out.println(i + "当表达式3是循环体中的第一条语句时");
}
//当表达式3是循环体中的最后一条语句时
for(int i = 1; i <= 5; ) {
System.out.println("当表达式3是循环体中的最后一条语句时" + i);
i++;
}
}
当表达式3在循环体的第一行时的结果:
当表达式3在循环体最后一行时的结果:
5. 当for循环中的表达式1变量中的值在循环外进行使用时,则出现错误,解决办法:将表达式1中声明的变量编写在for循环外面,在for循环外声明变量
1)当在for循环中声明时:
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("hello world!");
}
System.out.println(i);
}
结果为:
2)当在for循环外声明时 :
public static void main(String[] args) {
int i;
for (i = 1; i <= 5; i++) {
System.out.println("hello world!");
}
System.out.println(i);
}
结果为:
3、打印5行hello world!
public class ForTest {
public static void main(String[] args) {
for(int i = 1; i <= 5; i++) {
System.out.println("hello world!");
}
}
}
结果为: