关于java中for和foreach循环
- for循环中的循环条件中的变量只求一次值!具体看最后的图片
- foreach语句是java5新增,在遍历数组、集合的时候,foreach拥有不错的性能。
- foreach是for语句的简化,但是foreach并不能替代for循环。可以这么说,任何foreach都能改写为for循环,但是反之则行不通。
- foreach不是java中的关键字。foreach的循环对象一般是一个集合,List、ArrayList、LinkedList、Vector、数组等。
- foreach的格式:
for(元素类型T 每次循环元素的名称O : 循环对象){
//对O进行操作
}
一、常见使用方式。
- foreach遍历数组。
-   
/** 
 * 描述:
 * Created by ascend on 2016/7/8.
 */
 public class Client {
 public static void main(String[] args) {
 String[] names = {"beibei", "jingjing"};
 for (String name : names) {
 System.out.println(name);
 }
 }
 }
 
-   
- foreach遍历List。
-   
/** 
 * 描述:
 * Created by ascend on 2016/7/8.
 */
 public class Client { public static void main(String[] args) {
 List<String> list = new ArrayList();
 list.add("a");
 list.add("b");
 list.add("c");
 for(String str : list){
 System.out.println(str);
 }
 }
 }
 
-   
二、局限性。
foreach虽然能遍历数组或者集合,但是只能用来遍历,无法在遍历的过程中对数组或者集合进行修改,而for循环可以在遍历的过程中对源数组或者集合进行修改。
- 数组
-   
/** 
 * 描述:
 * Created by ascend on 2016/7/8.
 */
 public class Client { public static void main(String[] args) {
 String[] names = {"beibei", "jingjing"};
 for (String name : names) {
 name = "huanhuan";
 }
 //foreach
 System.out.println("foreach:"+Arrays.toString(names));
 //for
 for (int i = 0; i < names.length; i++) {
 names[i] = "huanhuan";
 }
 System.out.println("for:"+Arrays.toString(names));
 }
 } 输出:
 foreach:[beibei, jingjing]
 for:[huanhuan, huanhuan]
 
-   
- 集合
-   
/** 
 * 描述:
 * Created by ascend on 2016/7/8.
 */
 public class Client { public static void main(String[] args) {
 List<String> names = new ArrayList<String>();
 names.add("beibei");
 names.add("jingjing");
 //foreach
 for(String name:names){
 name = "huanhuan";
 }
 System.out.println(Arrays.toString(names.toArray()));
 //for
 for (int i = 0; i < names.size(); i++) {
 names.set(i,"huanhuan");
 }
 System.out.println(Arrays.toString(names.toArray()));
 }
 } 输出:
 [beibei, jingjing]
 [huanhuan, huanhuan]
 
-   
特别注意的地方!!

原创:http://www.cnblogs.com/adeng/p/5681713.html
关于java中for和foreach循环的更多相关文章
- Java数组使用以及foreach循环
		Java数组使用以及foreach循环 二话不说,先甩一个简单的程序: final int NUM= 10; int[] arrays = new int[NUM]; System.out.print ... 
- JAVA中简单的for循环竟有这么多坑,你踩过吗
		JAVA中简单的for循环竟有这么多坑,你踩过吗 实际的业务项目开发中,大家应该对从给定的list中剔除不满足条件的元素这个操作不陌生吧? 很多同学可以立刻想出很多种实现的方式,但你想到的这些实现方式 ... 
- Java-Runoob-高级教程-实例-方法:13. Java 实例 – for 和 foreach循环使用
		ylbtech-Java-Runoob-高级教程-实例-方法:13. Java 实例 – for 和 foreach循环使用 1.返回顶部 1. Java 实例 - for 和 foreach循环使用 ... 
- Java中的增强 for 循环   foreach
		foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理.能够提高性能,并减少代码出错的几率.在 J ... 
- Java 中新增的 foreach 的用法
		JDK1.5加入的增强for和循环. foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部 ... 
- java中三种for循环之间的对比
		普通for循环语法: for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } foreac ... 
- JavaScript中如何中断forEach循环
		先来看下forEach的实现 // Production steps of ECMA-262, Edition 5, 15.4.4.18// Reference: http://es5.github. ... 
- javascript——加强for循环  和Java中的加强for循环的区别
		javascript中获得的是下标 in var id=[4,5,6]; for (var index in id) { console.log(id[index]); } Java中获得的 ... 
- Java的迭代和foreach循环
		Java的迭代(interation statement) Java的迭代(interation statement) 其实就是循环控制语句while.do-while和for,因为他们会从重复地运行 ... 
随机推荐
- Linux 单网卡多 IP 的配置方法
			 Linux 单网卡多 IP 的配置方法 1 .永久配置的方法: 知道在 Linux 下网卡被称为 eth0,eth1,eth2..... ,所有网卡的配置文件都存储在 /etc/sysconfi ... 
- Bzoj 3171: [Tjoi2013]循环格  费用流
			3171: [Tjoi2013]循环格 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 741 Solved: 463[Submit][Status][ ... 
- Bzoj 1901: Zju2112 Dynamic Rankings  主席树,可持久,树状数组,离散化
			1901: Zju2112 Dynamic Rankings Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 6321 Solved: 2628[Su ... 
- POJ 3922	 A simple stone game
			题目: E - A simple stone game Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d &am ... 
- UserControl调用Umbraco的Data Types
			本篇文章介绍的是基于Umbraco CMS技术搭建的网站所使用的相关技术. 1. 需求: 网站前台功能有个表单提交,表单控件用到下拉列表(dropdownlist),需求是在dropdownlist ... 
- ios7新特性实践
			一 iOS 7 新特性:视图控制器切换API 二 iOS 7系列译文:认识 TextKit 三 iOS 7系列译文:iOS7的多任务处理 四 iOS7 最佳实践:一个天气应用案例(上) 五 iOS7 ... 
- trace openjdk from systemtap
			here are several different tactics to trace openjdk from systemtap. The first relies on sys/sdt.h dt ... 
- Myapplication的作用与理解
			1.前沿在设置里面,对应于某一个应用,虽然没有启动,但是上面有一个终止按钮,说明这个应用时启动的,只是里面没有Activity,所以说使用android退出把一个应用退出,实际上他所对应的Applic ... 
- SDWebImage 原理及使用
			这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. SDWebImage 加载图片的流程 入口 setImageWi ... 
- 必应代码搜索 Bing Code Search 安装
			微软这几天推出基于bing搜索引擎的 Bing Code Search ,可直接在浏览器上搜索和运行代码.目前中文版必应无法使用本功能,有需要的同学可以转到英文版进行搜索: 英文版必应: http ... 
