循环语句——for语句
一、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语句的更多相关文章
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
- SQL中循环和条件语句
.if语句使用示例: declare @a int begin print @a end else begin print 'no' end .while语句使用示例: declare @i int ...
- javascript语句——条件语句、循环语句和跳转语句
× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...
- 《Python基础教程(第二版)》学习笔记 -> 第五章 条件、循环 和 其他语句
条件和条件语句 下面的值在作为布尔表达式的时候,会被解释器看作假(False):False None 0 "" () [] {} 条件执行和if语句 ...
- 一步一步学python(五) -条件 循环和其他语句
1.print 使用逗号输出 - 打印多个表达式也是可行的,但要用逗号隔开 >>> print 'chentongxin',23 SyntaxError: invalid synta ...
- 永久性for循环配合switch语句可以实现菜单功能
永久性for循环配合switch语句可以实现菜单功能总结:加入想要无条件地跳转到某条语句执行,用goto语句: 加入想要对某种条件进行判断,为真或为假分别执行不同的语句,用if语句 加入想要检测的条件 ...
- python学习笔记之四:条件,循环和其他语句
前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句. 一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会 ...
- 【python学习笔记】5.条件、循环和其他语句
[python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块 impo ...
- python学习笔记2_条件循环和其他语句
一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出 //print() 打印多个表达式是可行的,用逗号隔开. 在脚本中,两个print语句想在一行输出 ...
随机推荐
- AOP:代理实现方式①通过继承②通过接口
文件结构: 添加日志: package com.wangcf.manager; public class LogManager { public void add(){ System.out.prin ...
- 第三弹:ZFNet
在所有深度网络中,卷积神经网和图像处理最为密切相关,卷积网在很多图片分类竞赛中都取得了很好的效果,但卷积网调参过程很不直观,很多时候都是碰运气.为此,卷积网发明者Yann LeCun的得意门生Matt ...
- linux下JUCE源码编译依赖库
JUCE 源码https://github.com/julianstorer/JUCE 想在ubuntu下编译需要提前安装以下依赖库 sudo apt-get install mesa-common- ...
- 解决KVM中鼠标不同步问题
VNCViewer中的鼠标走得总是比本地系统中的鼠标要慢,不同步,往往实体机中的鼠标都移出vnc窗口外边了,虚拟机中的鼠标指针还没移到需要点击的位置,操作起来很不方便. 起初的想法也是配置的问题,就按 ...
- 利用OpenSSL创建证书链并应用于IIS7
一.系统环境说明 Linux & OpenSSL Linux localhost -.el5 # SMP Tue Mar :: EDT x86_64 x86_64 x86_64 GNU/Lin ...
- 关于Android反编译
详情查看:http://blog.csdn.net/ordinaryjoe/article/details/8626010
- TLD视觉跟踪算法(转)
源:TLD视觉跟踪算法 TLD算法好牛逼一个,这里有个视频,是作者展示算法的效果,http://www.56.com/u83/v_NTk3Mzc1NTI.html.下面这个csdn博客里有人做的相关总 ...
- 【java基础】接口VS抽象类
1.至少有一个被abstract修饰的方法,同时修饰类名的类为抽象类,抽象的方法必须被子类覆盖,抽象的类必须被继承,抽象的类可以包含非抽象方法,只能单继承. 2.接口中所有的变量是static fin ...
- Sigmoid函数
Sigmoid函数是一个S型函数. Sigmoid函数的数学公式为: 它是常微分方程 的一个解. Sigmoid函数具有如下基本性质: 定义域为 值域为, 为有界函数 函数在定义域内为连续和光滑函数 ...
- Compilation err ororg.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
严重: Compilation errororg.eclipse.jdt.internal.compiler.classfmt.ClassFormatExceptionat org.eclipse.j ...