以前不是for( int i=0;i<10;i++) 不是这样的吗? int arr[] = {2, 3, 1};
System.out.println("----1----排序前的一维数组");
*******for (int x : arr) {
System.out.println(x); //逐个输出数组元素的值
}
解决方案 »
- 几个不太明白的地方
- web应用怎样设置并使用cookie??(续)
- 各位大虾帮忙解决下···
- 请问如何通过JFileChoose 选择文件???
- Java 操作更改微软TTS引擎语音
- 我想在JInternalFrame中放入JDialog,可是每次最小化后,再最大化JDialog就跑到底面处了,出不来,不知各位有没有好的解决方按?
- 请问在哪里下载jdk啊???
- webspere studio application developer 的编辑器中不能输入中文!?
- 编译好的.class文件应该放在哪里?
- 用odbc建数据源出现问题
- 问一个关于swing的问题,有没有见过ActionListener,MouseListener这两个事件冲突的?
- 创建File的问题
for(:)循环
很好用...
是一样的吧。。
这个是JDK5。0的新特性,
非常OK的。。
好用
用起来挺不错
这个是java中foreach的写法
int 表示进行循环迭代的变量类型
x 表示变量名
:相当于C#中foreach的in 操作符
arr()应该是一个整型数组
这个写法的意思是将arr数组中的项每次拿给一个赋给变量x
PS:需要注意的是x只是一个变量名,所以不一定要写x可以是任何符合变量命名的东西。比如str i j k....
5.0 以后的 新特性
for each
for(User u: set){ ... }是相当方便的
//可以依次把集合或者数组里的元素取出来。
}
新的东西当然比旧的好用,不如旧的好还出它干什么...这么多说不用....用不习惯而已,说话要客观
不过从效率上还有待研究,从便用上,不用多说肯定比用迭代器快
JAVA在5.0中,引入了ITERABLE接口该接口包含苞欲放一个能够产生ITERATOR的ITERATOR方法(看来原理都一样,效率也该一样吧未测试)
这个接口被FOREACH(楼主所说的)用来在序列中移动
iterator()方法实现了Iterator<String>的匿名内部类的实例.
在J2SE5.0中大量的类都是Iterable类型,主要包括所有的Collection类(不包括MAP)
Foreach也因此不能迭代数组,因为数组没有继承这个接口,但是可以手工转换
(摘自JAVA编程思想<<THINK IN JAVA>>)