这一节我们学习for语句的用法的执行过程.
我们先看for语句的格式:
~~~
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;(循环体)
}
~~~
再来说一下for循环语句的执行过程
运行顺序:初始化表达式只读一次,判断循环条件为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复整个过程,直到条件不满足为止
我们来看一个for语句的例子
~~~
class ForDemo
{
public static void main(String[] args)
{
for (int x = 1;x < 3;x++)
{
System.out.println("x="+x);
}
int y = 1;
for (System.out.print("a"); y<3 ; System.out.print("c"))
{
System.out.print("d");
y++;
}//adcdc
//for (int a=0,b=0;a<3 ;a++,b-- )//初始表达式和循环后的表达式都可以是多个表达式
//{
//}
}
}
~~~
我们来看一下结果
![](https://box.kancloud.cn/2016-05-18_573c4171499a0.jpg)
上面我们看了for语句的格式和执行过程,下面再来看一个实现累加的例子,
~~~
class ForTest
{
public static void main(String[] args)
{
/*
用for完成累加
*/
int sum = 0;//存储累加的结果
for(int i=1;i<+10;i++)
{
sum = sum + i;
}
System.out.println("1到10这十个数的和是:"+sum);
}
}
~~~
结果:
![](https://box.kancloud.cn/2016-05-18_573c41715bf54.jpg)
从上面的例子和上一节while实现累加的例子我们可以看出这两个语句都能实现相同的需求,那么它们之间有什么各自的特点呢?
通过学习我知道,
1.for和while可以互换
2.格式上的不同,在使用上有一点小区别,那就是如果需要通过变量来对循环进行控制,该变量只做为循环增强存在时,区别就体现出来了
for为循环而定义的变量在for循环执行完后在内在中释放,这个是最大的区别之处.
我们看个例子
~~~
class For_While
{
public static void main(String[] args)
{
int x = 1;
while(x<5)
{
System.out.println("x="+x);
}
System.out.println("x===="+x);
for(int y=1;y<5;y++)
{
System.out.println("y="+y)
}
//System.out.println("y===="+y);//抛出异常,y的作用域
}
}
~~~
最后的注释之处就是两者之间的最大区别.
再来看一下两个语句如何实现无限循环呢,其实很简单.
~~~
while(true){}
for(;;){}//这个中间的默认为true
~~~
通过对这三种不同的循环语句的学习基本上对循环语句有了比较清楚的理解,那么我们说什么时候使用循环语句呢?
当对某些代码执行多次时,使用
当对一个条件进行一次判断时,可以使用if语句
当对一个条件进行多次判断时,可以使用while语句
注意:
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要
循环通常情况下,需要定义条件,需要控制次数
这节就到这里吧.
- 前言
- 1.1 基本常识
- 1.2 Java语言概述
- 1.3 Java语言的环境搭建
- 1.4 Java程序开发之初体验--Hello World
- 2.1 关键字
- 2.2 标识符
- 2.3 注释
- 2.4 常量
- 2.5 进制扫盲
- 2.6 变量和数据类型(1)
- 2.7 变量和数据类型(2)
- 2.8 运算符
- 3.1 if语句
- 3.2 switch语句
- 3.3 while和do-while语句
- 3.4 for语句
- 3.5 for循环的嵌套
- 3.6 break语句与continue语句
- 4.1 函数的定义
- 4.2 定义函数的两个明确
- 4.3 函数的内存加载过程
- 4.4 函数的重载
- 5.1 数组的定义
- 5.2 数组的内存分配及特点
- 5.3 数组操作中常见问题
- 5.4 数组常用操作(1)
- 5.5 数组常用操作(2)
- 5.6 二维数组
- 6.1 面向对象的概述
- 6.2 类与对象的关系
- 6.3 对象的内存体现
- 6.4 成员变量与局部变量
- 6.5 类类型参数与匿名对象
- 6.6 基本数据类型参数与引用数据类型参数的传递过程
- 6.7 封装
- 7.1 构造函数概述与默认构造函数
- 7.2 构造函数与一般函数的区别
- 7.3 构造函数的重载
- 7.4 构造函数的内存加载
- 7.5 构造函数需要注意的几个细节
- 7.6 this关键字的原理
- 7.7 this关键字的细节与应用
- 8.1 static关键字之特点
- 8.2 成员变量与静态变量的区别
- 8.3 static关键字使用的注意细节
- 8.4 main函数的解析与细节
- 8.5 static关键字的使用场景
- 8.6 静态的内存加载
- 8.7 静态代码块
- 8.8 构造代码块
- 9.1 继承
- 9.2 单继承与多重继承
- 9.3 子父类中成员变量特征体现