黑马程序员技术交流社区

标题: for循环都可以改写成foreach形式的吗? [打印本页]

作者: 李志敏    时间: 2013-4-13 12:21
标题: for循环都可以改写成foreach形式的吗?
本帖最后由 李志敏 于 2013-4-13 12:49 编辑

例如 已知一个int数组, 编程从数组中获取最大数.  一般是这样写的:
  1. public class Test1 {
  2.         public static void main(String[] args) {

  3.                 // 定义一个数组
  4.                 int num[] = { 36, 6, 7, 0, 100, 8, 34, 33, 25 };

  5.                 // 定义最大值变量max并赋予数组的第一个值
  6.                 int max = num[0];

  7.                 // for循环数组依次与max比较,如果比max大则max被重新赋值
  8.                 for (int i = 0; i < num.length; i++) {
  9.                         if (max < num[i]) {
  10.                                 max = num[i];
  11.                         }
  12.                 }
  13.                 // 输出最大值
  14.                 System.out.println(max);
  15.         }
  16. }
复制代码
但是我看到那个格式要求上有一个例子使用的是 for(int num:arr){
}
但是这个例子没写完 我想试试这种写法 不知道该怎么写?
作者: 孙金鑫    时间: 2013-4-13 12:39
  1. public class Test1
  2.         {
  3.         public static void main(String[] args)
  4.                         {

  5.                 // 定义一个数组
  6.                 int num[] = { 36, 6, 7, 0, 100, 8, 34, 33, 25 };

  7.                 // 定义最大值变量max并赋予数组的第一个值
  8.                 int max = Integer.MIN_VALUE;

  9.                 // for循环数组依次与max比较,如果比max大则max被重新赋值
  10.                 for (int i : num)
  11.                                 {
  12.                                         if(max<i)
  13.                                                 max=i;
  14.                 }
  15.                
  16.                 // 输出最大值
  17.                 System.out.println("max="+max);
  18.                          }
  19.                 }
复制代码

作者: 李志敏    时间: 2013-4-13 12:48
孙金鑫 发表于 2013-4-13 12:39

原来这样就出来了  用着还是不太习惯
作者: 罗家辉    时间: 2013-4-13 12:55
foreach循环是jak1.5之后提供的一种更简单的循环,使foreach循环遍历数组无须知道数组的长度,也无须根据索引来访问数组元素。
他和普通循环不同的是,他无须循环条件,无须循环迭代语句,这些部分都有系统来完成,他自动迭代每一个元素,每一个元素迭代完后他自动结束。
当使用foreach访问数组时,通常不要对循环变量进行赋值,虽然在语法上允许,但没有太大的意义
作者: 孙金鑫    时间: 2013-4-13 13:53
李志敏 发表于 2013-4-13 12:48
原来这样就出来了  用着还是不太习惯

数组最好不用高级for,太不方便了,无法用角标




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2