【JAVA】for,foreach遍历数组时候一些区别

public class ArrayTest {
	static public void incr(int a[]) {
		for (Integer i : a) {
			i += 1;
		}
	}
	static public void incr1(int a[]) {
		for (int i = 0, len = a.length; i < len; i++) {
			// a[i] = a[i] + 1;
			a[i]++;
		}
	}
	static public void main(String args[]) {
		int a[] = { 1, 2, 3, 4, 5 };
		for (int i : a)
			System.out.print(i + " ");
		System.out.println("\nforeach result:");
		incr(a);
		for (int i : a)
			System.out.print(i + " ");
		System.out.println("\n");
		int b[] = { 1, 2, 3, 4, 5 };
		for (int i : b)
			System.out.print(i + " ");
		System.out.println("\nfor loop result:");
		incr1(b);
		for (int i : b)
			System.out.print(i + " ");
	}
}

output:

1 2 3 4 5

foreach result:

1 2 3 4 5

1 2 3 4 5

for loop result:

2 3 4 5 6

foreach遍历的时候,相当于将数组中的值赋给相应的变量,所以对于 int array foreach循环,内部的修改不会影响原数组的值。

【JAVA】for,foreach遍历数组时候一些区别

时间: 2024-10-21 17:09:54

【JAVA】for,foreach遍历数组时候一些区别的相关文章

php之foreach遍历数组

foreach (PHP 4, PHP 5) The foreach construct provides an easy way to iterate over arrays. foreach works only on arrays and objects, and will issue an error when you try to use it on a variable with a different data type or an uninitialized variable.

Java:JSTL遍历数组,List,Set,Map

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page import="java.util.*"

foreach遍历数组、数组的转置与方阵的迹

1 public class Copy1 { 2 3 public static void main(String[] args) { 4 array1(); //如果不初始化元素,默认为0 5 int [][] a = new int [][]{{1,3,2,5,7},{5,9,3,4,2}}; 6 int [][] b = new int [a[1].length][a.length]; 7 for(int i=0;i<b.length;i++){ //数组的转置 8 for(int j =

Smarty模板技术之foreach遍历数组实例全面讲解

一.item属性用法 <?php $arr = array(600, 851, 7412); $smarty->assign('testarrg', $arr); ?> 用Smarty中的foreach方法来遍历并输出这个数组 <dl> <dt>foreach中item属性用法</dt> {foreach from=$testarrg item=test} <dd>{$test}</dd> {/foreach} </dl&

Java使用foreach遍历集和时不能add/remove的原因剖析

foreach 与 Iterator 我们知道,在Java中使用foreach对集和进行遍历时,是无法对该集和进行插入.删除等操作,比如以下代码: for(Person p : personList){ if(StringUtil.isBlank(p.getName())){ personList.remove(p); } } 执行代码,报以下异常: Exception in thread "main" java.util.ConcurrentModificationException

java alibaba fastJson 遍历数组json

import java.util.*; import com.alibaba.fastjson.*; public class Test { public static void main(String[] args) { //方法1 String json = "[{\"companyId\":\"111111111\",\"companyName\":\"Huuuu\",\"_uid\":10

js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)

转自: http://www.cnblogs.com/javaee6/p/4142270.html?utm_source=tuicool&utm_medium=referral js中遍历数组的有两种方式 1 2 3 4 5 6 7 8 9 var array=['a'] //标准的for循环 for(var i=1;i<array.length;i++){     alert(array[i]) } //foreach循环 for(var i in array){     alert(ar

原生js使用forEach()与jquery使用each遍历数组,return false 的区别

原生js使用forEach()与jquery使用each()遍历数组,return false 的区别: 1.使用each()遍历数组a,如下: var a=[20,21,22,23,24]; $.each(a, function(index,val) { console.log('index='+index); if(index==2){ return false; } console.log('val='+val); }); 结果如下: 从运行的效果可以看出,return 相当于循环中的br

PHP中数组的foreach遍历顺序跟键值的关系

近两天,在做一个项目,遇到一个该用数据存储ID做键值还是用数据排序SORT_NO做数组键值的问题,考虑到如果使用数据存储ID作为键值放入数组遍历数组时会不会影响排序的问题,经过查询与验证,得到答案:foreach遍历数组的顺序是按照值存入数组的先后顺序进行遍历的,此为线性遍历,不受数组键值的大小顺序影响. 下面写个简单的例子描述一下问题: 数据库存储user:   自增ID 排序号SORT_NO 值VALUE 1 3 张三 2 2 李四 3 1 王五 通过sql语句:“select ID,SOR