一、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); //
}
}

输出:

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){ }

循环语句——for语句的更多相关文章

  1. .NET基础 一步步 一幕幕[循环、逻辑语句块]

    循环.逻辑语句块   好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...

  2. SQL中循环和条件语句

    .if语句使用示例: declare @a int begin print @a end else begin print 'no' end .while语句使用示例: declare @i int ...

  3. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  4. 《Python基础教程(第二版)》学习笔记 -> 第五章 条件、循环 和 其他语句

    条件和条件语句 下面的值在作为布尔表达式的时候,会被解释器看作假(False):False None    0    ""    ()    []    {} 条件执行和if语句 ...

  5. 一步一步学python(五) -条件 循环和其他语句

    1.print 使用逗号输出 - 打印多个表达式也是可行的,但要用逗号隔开 >>> print 'chentongxin',23 SyntaxError: invalid synta ...

  6. 永久性for循环配合switch语句可以实现菜单功能

    永久性for循环配合switch语句可以实现菜单功能总结:加入想要无条件地跳转到某条语句执行,用goto语句: 加入想要对某种条件进行判断,为真或为假分别执行不同的语句,用if语句 加入想要检测的条件 ...

  7. python学习笔记之四:条件,循环和其他语句

    前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句. 一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会 ...

  8. 【python学习笔记】5.条件、循环和其他语句

    [python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块     impo ...

  9. python学习笔记2_条件循环和其他语句

    一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开.       在脚本中,两个print语句想在一行输出 ...

随机推荐

  1. 解决SSh连接过慢

    ssh 连接的时候特别慢 解决方法: 修改配置文件 /etc/ssh/sshd_config GSSAPIAuthentication yes --->no 81行左右 #UseDNS yes ...

  2. HDU 4169 UVALive 5741 Wealthy Family

    树形背包.DP递推的思路很简单.... 但是由于节点有15万个,先不论空间复杂度,这样开dp数组 dp[150000+10][300+10],如果初始化是memset(dp,-1,sizeof dp) ...

  3. mysql的 charset、collation、prefix了解

    charset,即字符集. collation,用于指定数据集如何排序,以及字符串的比对规则,即排序规则. prefix,即数据库里表使用的前缀. /************************* ...

  4. request参数集合绑定实体实现defaultmodebinder

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. RDA5820收音机芯片驱动

    RDA5820 是北京锐迪科推出的一款集成度非常高的立体声 FM收发芯片.该芯片具有以下 特点:   FM 发射和接收一体   支持 65Mhz~115Mhz的全球 FM接收频段,收发天线共用. ...

  6. jquery中html()或text()方法获取或设置p标签的值

    html()方法可以用来读取或者设置某个元素中的HTML内容,text()方法可以用来读取或者没置某个元素中的文本内容 html()方法 此方法类似于JavaScript中的innerHTML属性,可 ...

  7. AnsiIO

    1.文件数据内容,元数据内容 i节点ls -l err.txt-rw-rw-r-- 1 csgec csgec 50 Jun 23 11:19 err.txt-:普通文件(文件类型)rw-:属主用户拥 ...

  8. MonthCalendar控件

    MonthCalendar控件  功能,直接显示月历,

  9. Java打印

    Java打印 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Gra ...

  10. Spring mvc配置Json返回

    第一种 配置 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHand ...