黑马程序员技术交流社区

标题: 有关for语句的问题 [打印本页]

作者: 王德南    时间: 2012-4-12 23:19
标题: 有关for语句的问题
今天看到的一段代码里面的For语句令我费解,代码如下:
class PassArray{

          static void vaTest(int v[]){
                 System.out.print("Number of args:"+v.length+"Contents:");
                 for(int x:v)   //这里的是什么意思啊???求解啊!!
              
   System.out.print(x+"  ");
                 System.out.println();
                 }
         public static void main(String args[])
                {
                        int n1[]={0};
                        int n2[]={1,2,3};
                        vaTest(n1);
                        vaTest(n2);
                  }
}

作者: 陈坚    时间: 2012-4-12 23:21
这个是迭代,就是遍历v数组
作者: 薛飞飞    时间: 2012-4-12 23:26
增强for循环,遍历数组里的元素。
判断数组int v[]数组中有有没有元素,有就执行下面语句,然后接着判断有没有下一个元素,一直到没有元素了,就会跳出循环
作者: 如梦初醒    时间: 2012-4-12 23:31
for(int x:v)   //这里的是什么意思啊???求解啊!!
这是增强的for循环since  jdk1.5
在这里相当于
for(int i=0;i<v.length;i++)  System.out.print(v[i]+" ");
作者: 石好强    时间: 2012-4-12 23:32
高级for循环
                               
格式:

                for(数据类型 变量名 :被遍历的集合(collection)或者数组)
                {
                       
                }

“{}”里面进行你要对遍历的元素的操作。这个在毕老师基础视频,第17天第18小节讲到。楼主可以仔细看下
作者: chenwei    时间: 2012-4-12 23:37
增强for循环
for(类型 变量名:容器){循环体}
容器可以使集合,数组
判断容器中是否有元素,有就取出来赋给变量
作者: 马强    时间: 2012-4-12 23:38
for(:){}高级for循环
for(这里是限定参数类型:要传入的参数)
所以说,这个结果就是
传入一个数组到vaTest里,打印数组长度,之后用高级for打印数组里的内容。
System.out.print()这个空的没啥用。
作者: 邓飞飞    时间: 2012-4-13 07:16
class PassArray{

          static void vaTest(int v[]){
                 System.out.print("Number of args:"+v.length+"Contents:");
                 for(int x:v)   //这里是高级for循环,是jdk1.5中的,定义了一个变量x,用来循环遍历数组v。
              
   System.out.print(x+"  ");
                 System.out.println();
                 }
         public static void main(String args[])
                {
                        int n1[]={0};
                        int n2[]={1,2,3};
                        vaTest(n1);
                        vaTest(n2);
                  }
}

作者: 张小庆    时间: 2012-4-13 07:28
高级for循环,用于遍历数组和集合的。只能获取元素,不能对数组或集合进行操作。
作者: 黑马-刘昌文    时间: 2012-4-13 10:09
   for(int x:v)   //这里的是什么意思啊???求解啊!!
循环遍历数组中的每个元素赋值给X
作者: 黑马老兵    时间: 2012-4-13 10:15
这是JDK1.5的新特性泛型的for循环
效果等同,那个更简单?
第二个for循环在编译的时候会强直检查list中的对象类型是否是UserBean类型,如果不是会报编译错误
第一个for循环编译没有问题,会在运行的时候报错
相比之下第二种方法对于程序的稳定性更有利,而且不用显示的类型转换,提升了软件性能,泛型编程也是JAVA提倡的





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