黑马程序员技术交流社区
标题:
for循环都可以改写成foreach形式的吗?
[打印本页]
作者:
李志敏
时间:
2013-4-13 12:21
标题:
for循环都可以改写成foreach形式的吗?
本帖最后由 李志敏 于 2013-4-13 12:49 编辑
例如 已知一个int数组, 编程从数组中获取最大数. 一般是这样写的:
public class Test1 {
public static void main(String[] args) {
// 定义一个数组
int num[] = { 36, 6, 7, 0, 100, 8, 34, 33, 25 };
// 定义最大值变量max并赋予数组的第一个值
int max = num[0];
// for循环数组依次与max比较,如果比max大则max被重新赋值
for (int i = 0; i < num.length; i++) {
if (max < num[i]) {
max = num[i];
}
}
// 输出最大值
System.out.println(max);
}
}
复制代码
但是我看到那个格式要求上有一个例子使用的是 for(int num:arr){
}
但是这个例子没写完 我想试试这种写法 不知道该怎么写?
作者:
孙金鑫
时间:
2013-4-13 12:39
public class Test1
{
public static void main(String[] args)
{
// 定义一个数组
int num[] = { 36, 6, 7, 0, 100, 8, 34, 33, 25 };
// 定义最大值变量max并赋予数组的第一个值
int max = Integer.MIN_VALUE;
// for循环数组依次与max比较,如果比max大则max被重新赋值
for (int i : num)
{
if(max<i)
max=i;
}
// 输出最大值
System.out.println("max="+max);
}
}
复制代码
作者:
李志敏
时间:
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