0

0

加强for循环

巴扎黑

巴扎黑

发布时间:2016-11-24 15:39:40

|

1435人浏览过

|

来源于php中文网

原创

for循环是开界的。它的一般形式为: for(; ; ) 语句; 初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后 按什么方式变化。这三个部分之间用";"分开。 例如: for(i=1; i10时, 结束循环。 

目录 

需要注意的几点 
加强for循环 
php中的for循环 
展开 
编辑本段 
需要注意的几点 

  1. for循环中语句可以为语句体, 但要用"{"和"}"将参加循环的语句括起来。 
  2. for循环中的"初始化"、"条件表达式"和"增量"都是选择项, 即可以缺省, 但";"不能缺省。省略了初始化, 表示不对循环控制变量赋初值。 省略了条件表达式, 则不做其它处理时便成为死循环。省略了增量, 则不对循环控制变量进行操作, 这时可在语句体中加入修改循环控制变量的语句。 
  3. for循环可以有多层嵌套。 
  例: 
  #include 
  int main(void) 
  { 
  int i, j, k; 
  printf("i j k\n"); 
  for (i=0; i  printf(%d %d %d\n", i, j, k); 
  return 0; 
  } 
  输出结果为: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 
编辑本段 
加强for循环 

  j2se 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。 
  在java程序中,要“逐一处理”——或者说,“遍历”——某一个数组或collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词的含义和这种操作比较配,在这种时候for循环比其它循环常用得多)。 
  对于遍历数组,这个循环一般是采取这样的写法: 
清单1:遍历数组的传统方式 
  /* 建立一个数组 */ 
  int[] integers = {1, 2, 3, 4}; 
  /* 开始遍历 */ 
  for (int j = 0; j   int i = integers[j]; 
  system.out.println(i); 
  } 
  而对于遍历collection对象,这个循环则通常是采用这样的形式: 
清单2:遍历collection对象的传统方式 
  /* 建立一个collection */ 
  string[] strings = {"a", "b", "c", "d"}; 
  collection stringlist = java.util.arrays.aslist(strings); 
  /* 开始遍历 */ 
  for (iterator itr = stringlist.iterator(); itr.hasnext();) { 
  object str = itr.next(); 
  system.out.println(str); 
  } 
  而在java语言的最新版本——j2se 1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。 
  1. 第二种for循环 
  不严格的说,java的第二种for循环基本是这样的格式: 
  for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 
  借助这种语法,遍历一个数组的操作就可以采取这样的写法: 
清单3:遍历数组的简单方式 
  /* 建立一个数组 */ 
  int[] integers = {1, 2, 3, 4}; 
  /* 开始遍历 */ 
  for (int i : integers) { 
  system.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */ 
  } 
  这里所用的for循环,会在编译期间被看成是这样的形式: 
清单4:遍历数组的简单方式的等价代码 
  /* 建立一个数组 */ 
  int[] integers = {1, 2, 3, 4}; 
  /* 开始遍历 */ 
  for (int 变量名甲 = 0; 变量名甲   system.out.println(变量名甲);/* 依次输出“1”、“2”、“3”、“4” */ 
  } 
  这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。 
  而遍历一个collection的操作也就可以采用这样的写法: 
清单5:遍历collection的简单方式 
  /* 建立一个collection */ 
  string[] strings = {"a", "b", "c", "d"}; 
  collection list = java.util.arrays.aslist(strings); 
  /* 开始遍历 */ 
  for (object str : list) { 
  system.out.println(str);/* 依次输出“a”、“b”、“c”、“d” */ 
  } 
  这里所用的for循环,则会在编译期间被看成是这样的形式:清单6:遍历collection的简单方式的等价代码 /* 建立一个collection */ 
  string[] strings = {"a", "b", "c", "d"}; 
  collection stringlist = java.util.arrays.aslist(strings); 
  /* 开始遍历 */ 
  for (iterator 变量名乙 = list.iterator(); 变量名乙.hasnext();) { 
  system.out.println(变量名乙.next());/* 依次输出“a”、“b”、“c”、“d” */ 
  } 
  这里的“变量名乙”也是一个由编译器自动生成的不会造成混乱的名字。 
  因为在编译期间,j2se 1.5的编译器会把这种形式的for循环,看成是对应的传统形式,所以不必担心出现性能方面的问题。 
编辑本段 
php中的for循环 

    //php中for循环基本和c语言保持一致,具体如下: 
  for($i=1;$i  echo '这是第'.$i.'次'; 
  } 
  //利用for循环,可以循环输出简单数组 
  $array=array('0'=>'a0','1'=>'b1','2'=>'c2','d'=>'d3'); 
  for($i=0;$i  echo $array[$i]; 
  } 
  //需要注意的是,对于脚标不为数字的数组,建议使用foreach循环来遍历数组。 
  ?>

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

7

2026.02.05

java中fail含义
java中fail含义

本专题整合了java中fail的含义、作用相关内容,阅读专题下面的文章了解更多详细内容。

8

2026.02.05

控制反转和依赖注入区别
控制反转和依赖注入区别

本专题整合了控制反转和依赖注入区别、解释、实现方法相关内容。阅读专题下面的文章了解更多详细教程。

11

2026.02.05

钉钉脑图插图教程合集
钉钉脑图插图教程合集

本专题整合了钉钉脑图怎么插入图片、钉钉脑图怎么用相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.02.05

python截取字符串方法汇总
python截取字符串方法汇总

本专题整合了python截取字符串方法相关合集,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Java截取字符串方法合集
Java截取字符串方法合集

本专题整合了Java截取字符串方法汇总,阅读专题下面的文章了解更多详细操作教程。

1

2026.02.05

java 抽象方法
java 抽象方法

本专题整合了java抽象方法定义、作用教程等内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Eclipse创建jsp文件教程合集
Eclipse创建jsp文件教程合集

本专题整合了Eclipse创建jsp文件、创建jsp项目等等内容,阅读专题下面的文章了解更多详细教程。

26

2026.02.05

java 字符串转数字
java 字符串转数字

本专题整合了java如何字符串转数字相关内容,阅读专题下面的文章了解更多详细教程。

4

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础-环境/变量/函数等
PHP基础-环境/变量/函数等

共57课时 | 16.3万人学习

JS轻松实现打地鼠游戏
JS轻松实现打地鼠游戏

共6课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号