前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >for()循环语句_for next循环语句

for()循环语句_for next循环语句

作者头像
全栈程序员站长
发布2022-09-20 13:30:10
2.6K0
发布2022-09-20 13:30:10
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、for语句结构: for (初始化表达式; 循环条件表达式 ;循环后的操作表达式 )   {     执行语句;   }

循环条件表达式,必须是true或false

示例:

代码语言:javascript
复制
class ForDemo
{
    public static void main(String[] args)
    {
        for (int x=0;x<3 ;x++ )
        {
            System.out.println("第"+x+"次"+"你好");
        }

    }
}

输出结果:

第0次你好 第1次你好 第2次你好

执行顺序图解:

for()循环语句_for next循环语句
for()循环语句_for next循环语句

第1步 执行“初始化表达式”int x=0;

第2步 是否x<3

第3步 条件满足(真),执行打印输出语句

第4步 x++,结果为1

第5步 是否x<3

第6步 条件满足(真),执行打印输出语句

第10步 x++,结果为3

第11步 是否x<3,为假,停止

第一步是执行初始化表达式。第后只在循环表达式、执行语句、循环后的操作表达式三者之间循环。

二、for语句特点:

根据以上执行顺序,得出以下结论:

符合条件时,初始化表达式只执行一次 只有条件表不满足循环就停止。

三、变量的作用域(即作用范围)

for(){}循环,变量初始值定义在for语句内部,执行完毕后,变量释放。

如下,最后一句无法输出,报错:

代码语言:javascript
复制
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。

代码语言:javascript
复制
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循环外面。

代码语言:javascript
复制
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、有多个表达式,用逗号“,”分隔

代码语言:javascript
复制
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语句外面,以下三段代码是执行结果是一样的,只是变量作用域不同

代码语言:javascript
复制
for (int y=0;y<3 ;y++ )
{

}
代码语言:javascript
复制
int y=0;
for (;y<3 ; )
{
  y++
}
代码语言:javascript
复制
int y=0;
for (;y<3 ; y++)
{
}

4、无限循环

代码语言:javascript
复制
for (; ; ){ }
while (true){ }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167294.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档