大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
一、for语句结构:
for (初始化表达式; 循环条件表达式 ;循环后的操作表达式 )
{
执行语句;
}
循环条件表达式,必须是true或false
示例:
class ForDemo { public static void main(String[] args) { for (int x=0;x<3 ;x++ ) { System.out.println("第"+x+"次"+"你好"); } } }
输出结果:
第0次你好
第1次你好
第2次你好
执行顺序图解:
第1步 执行“初始化表达式”int x=0;
第2步 是否x<3
第3步 条件满足(真),执行打印输出语句
第4步 x++,结果为1
第5步 是否x<3
第6步 条件满足(真),执行打印输出语句
…
第10步 x++,结果为3
第11步 是否x<3,为假,停止
第一步是执行初始化表达式。第后只在循环表达式、执行语句、循环后的操作表达式三者之间循环。
二、for语句特点:
根据以上执行顺序,得出以下结论:
符合条件时,初始化表达式只执行一次
只有条件表不满足循环就停止。
三、变量的作用域(即作用范围)
for(){}循环,变量初始值定义在for语句内部,执行完毕后,变量释放。
如下,最后一句无法输出,报错:
class ForDemo { public static void main(String[] args) { for (int x=0;x<3 ;x++ ) { System.out.println("第"+x+"次"+"你好"); } System.out.println(x); //报错。 } }
while(){}循环,变量初始值定义在while语句外部,执行完毕后,变量仍存在。
如下,最后一句输出3。因为在内存中,变量y仍存,同是值已经变为3。
class ForDemo { public static void main(String[] args) { int y=0; while(y<3) { System.out.println("第"+y+"次"+"你好"); y++; } System.out.println(y); //输出3 } }
总结:
for和while语句可以互换
变量只为循环增量存在,建议用for语句。
循环结速后,仍要使用变量进行其它运算,要用while语句。
四、特殊示例
1、初始化及循环后的语句,只要是一个正确的表达式,就可以(int i=0,不单单局限于这种格式)。变量的初始值可以定义在for循环外面。
class ForDemo { public static void main(String[] args) { int x=1; for (System.out.println("a");x<3; System.out.println("c") ) { System.out.println("d"); x++; } System.out.println(x); //3 } }
输出:
a
d
c
d
c
3
2、有多个表达式,用逗号“,”分隔
class ForDemo { public static void main(String[] args) { int x=1; for (System.out.println("a");x<3; System.out.println("c"),x++ ) { System.out.println("d"); } } }
输出:
a
d
c
d
c
3、初始化表达式和循环后的表达式,是可以不写的,
但是,初始值定义在for语句外面,以下三段代码是执行结果是一样的,只是变量作用域不同
for (int y=0;y<3 ;y++ ) {
}
int y=0; for (;y<3 ; ) { y++ }
int y=0; for (;y<3 ; y++) { }
4、无限循环
for (; ; ){ } while (true){ }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167294.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...