黑马程序员_for循环及增强for循环_java

本文深入解析Java中的for循环概念及其使用方法,包括基本语法、注意事项、常见用法以及增强for循环的介绍,并通过实例展示了如何在数组和集合遍历中的应用。

黑马程序员_for循环及增强for循环_java

 ------- android培训java培训、期待与您交流! ----------

网上关于for循环的理解和说明有很多, 写的也很详细到位, 只是觉得对于初学者来说, 有些地方还是不好懂, 我希望能够以更容易理解的语言来阐述和学习这部分知识, 让大家在学习的时候有更大的收获. 有什么地方写得不够好的, 希望帮我指出来, 谢谢了:)

for循环的简介

for循环是编程语言中的语句之一,是一种为简化代码书写减少编程者的工作量和提高代码可读性优化代码结构的工具.

for循环是开界的。它的一般形式为:for(<初始化表达式>; <条件表过式>; <变量表达式>){需要执行的语句};初始化表达式通常是一个赋值语句,它用来给循环控制变量赋一个初值,使得循环有一个开始; 条件表达式是一个关系表达式,决定着什么时候退出循环;而变量表达式则是定义着循环控制变量每循环一次后按什么方式变化.切这三个表达式之间用";"分开.

for (int i = 0; i < 100; i++)            //   说明:  for(初始化表达式;条件表过式;变量表达式)
{                                        //         {
    System.out.println("hello,world!");  //              需要执行的语句;
}                                        //         }

注:这里小小的解释一下: 
“初始化表达式”是一个赋值语句,用来给程序赋一个最初的值,使得程序有一个运行的开始;
“条件表过式”之所以能够决定什么时候退出,是受到了"变量表达式"的影响的,"变量表达式"在每次循环中变化着程序中 i 的值,这里的 i 的值每变化一次就距离程序结束更近一些,直到不满足“条件表过式”里的条件为止,一旦满足程序就会结束。

注意事项:

让我们来了解一下for循环语句中的一些注意事项:
1...for循环中的语句可以为语句体,到要用“{” 和 “}”把参加循环的语句括起来.

2... for循环中的“初始化表达式”, “条件表达式”, “增量表达式” 都是选择项,就是可以缺省,但是分号“;”不能缺省,因为编程语言中的符号是编译器识别的重要标识之一,是不能够被随意的忽略的

省略了"初始化表达式" 表示不对循环控制变量赋初值;省略了"条件表达式", 则不作其他处理时便成为了死循环,即程序会无休止的运行下去,直到系统资源耗尽; 省略了"变量表达式", 则不对循环控制变量进行操作, 这时可在语句体中加入修改循环控制变量的语句.

3...for循环可有有多层嵌套:

这里举个小例子:

public static void Function1()         //定义一个function的功能
{                                      //{
    int m,n;                           //    定义两个变量m和n
    for(m=0;m<6;m++)                   //    写一个由m控制行数的外循环
    {                                  //    {
        for(n=0;n<10;n++)              //        写一个由n控制列数的内循环
        {                              //        {
            System.out.print("*");     //           打印:"*";
        }                              //        }
    }System.out.println();             //    }   (这个语句这里的作用是换行,通过仔细观察
}                                      //}        可以发现与上一行的打印语句相差两个字母"ln")
上面代码中打印的结果是这样的:

**********
**********
**********
**********
**********
**********

这是一个矩形,也可以通过增加或者修改变量来改变打印的形状.当然,for的嵌套循环还可以有多层 这是通过嵌套for循环扩展得到的功能,

for循环的集中常用形态

当然for循环的用法并不局限于这一种,由于for的定义里()内的三个表达式中,除了中间的表达式必须要产生布尔型,并没有对其余的两段的表达式有什么限制,因此还可以有其他的用法. 这里我借助互联网搜集并总结了几种for的常见用法,

遍历:

Java程序中,要逐一遍历某一个数组或者Collection中的元素的时候会有很多方法,  一般情况下使用for循环.

int[] integers = {1,2,3,4};                     //建立一个数组
int i,j;                                        //定义两个变量i,j
for(int j = 0; j<integers.length;j++)           //开始遍历
{                                               //{
    int i = integers[j];                        //    in i = integer[s];
}                                               //}
System.out.println(i);                          //打印元素 i;


这是常见的遍历数组的形式, 那么Collection呢?

String[] strings = {"A","B","C","D"};                       //定义一个数组;
Collection stringList = java.until.Arrays.asList(strings);  //建立一个Collection;
for(iterator=stringList.iterator();itr.hasNext();)          //开始遍历
{                                                           //{
    Object str = itr.next();                                //   Object str = itr.next();
System.out.println(str);                                    //打印出来
}                                                           //}

这是老版本的遍历方式, 这里有一种新版本的遍历方式, 称为增强for循环,下面简单的介绍一下:

for(循环变量类型 循环变量名称 : 要被遍历的对象)
{
    循环语句;
}

来看看增强for循环的实例吧:
A组
int[] integers = {1,2,3,4};             //定义一个数组
for(int m = 0;m<integers.length;m++);   //开始遍历
{                                       //{
    System.out.println(integers[m]);    //    打印;
}                                       //}
下面是增强for循环的情况:
int[] integers = {1,2,3,4};            //建立一个数组
for (int i : integers)                 //开始遍历
{                                      //{
    System.out.println(i);             //	打印遍历出的 1,2,3,4
}                                      //}

B组:
String[] strings = {"A","B","C","D"};                       //定义一个数组
Collection stringList = java.utill.Arrays.asList(strings);  //建立Collection
for(iterator n = list.iterator();n.hasNext();)              //开始遍历
{                                                           //{
    System.out.println(n.next());                           //	打印;
}                                                           //}
下面是增强for循环版本的:
String[] strings ={"A","B","C","D"};                   //定义数组
Collection list = java.until.Arrays.asList(strings);   //建立Collection
for(Object str : list)                                 //开始遍历
{                                                      //{
    System.out.println(str);                           //    打印;
}                                                      //}

从对比中我们可以发现增强for循环要比之前的简单的多, 便利的多. 而且编译器在识别增强for循环的时候会自动识别为前一个版本的形式,所以性能上面不用担心会出问题.

另外利用互联网我还发现了一篇名为“java种for循环的6种写法”,挺值得一看的,原理上都是大同小异,感兴趣的朋友可以看看。下面附上网址:

http://www.360doc.com/content/11/0527/11/987036_119734904.shtml

希望这篇文章能让更多的同学在学习的时候能有更大的收获:)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值