Java中的循环结构笔记整理

Java中的循环结构共三种:代表语句:while ,do while ,for。

注意:

  •  for循环里面的各个表达式运行的顺序为:初始化表达式只读一次,判断循环条件表达式,条件为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止 ;
  •  while循环与for循环可以互换,区别在于for为了循环而定义的变量在for循环结束后就在内存中释放(for循环一结束,此变量就立即消失)。而while循环使用的变量在循环结束后还可以继续使用;
  •  最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件来控制循环。
//无限循环的最简单表现形式
while(true){
}
for(;;){
}

举一个简单例子,运用for循环和定义变量体现一个“计数器思想”。就是在1~100之间找出7的倍数的个数?

/*
    此程序中count变量的值体现了计数器思想。
    通过一个变量记录住数据的状态变化,这也是通过循环完成的。
*/
int count=0;
    for(int i=0;i<100;i++)
    {
      if(i%7==0)
      {
        count++;
      }
    }
System.out.println(count);

接下来利用for循环嵌套来打印由'*'构成的各种三角形和9*9乘法表。

/*
打印三角形状
*****
****
***
**
*
*/
for(int x=0;x<5;x++)
{
    for(int y=x;y<5;y++)
        {
            System.out.print('*');
        }
    System.out.println();
}

/*

打印三角形状 
*
**
***
****
*****

*/
for(int x=0;x<5;x++)
{
    for(int y=0;y<=x;y++)
        {
            System.out.print('*');
        }
    System.out.println();
}

上面两个例子我们可以总结一个规律:外循环控制的是行数,内循环控制的是每一行的列数,也就是一行中元素的个数。

并且发现如果三角形的尖朝上,可以改变内循环中的循环条件,让循环条件随着外循环变化。

如果三角形的尖朝下,可以改变内循环的初始化值,让初始化值随着外循环变化。

接下来打印9*9乘法表:

//打印乘法表
for(int x=1;x<=9;x++)
{
    for(int y=1;y<=x;y++)
        {
            System.out.print(y+"*"+x+"="+y*x+"\t");
        }
    System.out.println();
}

两个特殊的流程控制语句:break(跳出)和continue(继续)

break语句:应用范围:选择结构和循环结构

continue语句:应用于循环结构

注意:

1)这两个语句离开应用范围,存在是没有意义的;

2)这个两个语句单独存在下面都不可以有语句,因为执行不到下面的语句;

3)continue语句是结束本次循环继续下次循环;

4)标号的出现,可以让这两个语句作用于指定的范围

p:for(int x=0;x<=3;x++)
    {
      q:for(int y=0;y<4;y++)
      {
        System.out.println("x="+x);
        break p;
      }
    }

此时运行结果为:

因为break终止了外循环,两个循环都结束了。只输出了一条语句。

比较一下continue语句,其中对for循环使用了标号,可以让这两个语句作用于指定的范围:

p:for(int x=0;x<=3;x++)
    {
      q:for(int y=0;y<4;y++)
      {
        System.out.println("y="+y);
        continue p;
      }
    }

输出结果是:

每次在执行continue语句时,跳出内循环(不管内循环是否执行完毕)继续执行外循环了。

从结果可以看出其实内循环没有一次执行完的。

让我们看一下外循环是否执行完了呢?

p:for(int x=0;x<=3;x++)
    {
      q:for(int y=0;y<4;y++)
      {
        System.out.println("x="+x);
        continue p;
      }
    }

可以看到x的值累加了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值