数组赋值在不同语言中的差异

不同的编程语言,基本语法一致,但由于各自的设计结构及使用范围不同而导致一些细微的语法差异。以下介绍一个数组在赋值的时候结果不同的例子。

PHP 语言中的情况:

<?php
$a = array(1, 2, 3, 4);
$b = $a;
$b[1] = 1000;
echo (">> a[1] = " . $a[1] . '<br>');
echo (">> b[1] = " . $b[1]);
?> 

输出结果为:

>> a[1] = 2
>> b[1] = 1000 

Java 语言中的情况:

public class Test {
	public static void main(String args[]) {		
		int[] a = {1,2, 3, 4};
		int[] b = a;
		b[1] = 1000;
		System.out.println(">> a[1] = " + a[1]);
		System.out.println(">> b[1] = " + b[1]);
	}
}

输出结果为:

>> a[1] = 1000
>> b[1] = 1000

结论:在 PHP 语言中数组是传值,而在 Java 语言中数组是传址,即引用。

特别注意,基本类型(整型、字符串型 等)在这两种语言中在赋值的时候都是按照传值的方式来进行,对象之间都是按照传引用的方式进行,而数组却有差异,以上已经说明。

标签: 数组, 赋值

14
Dec 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments

添加新评论 »

   点击刷新验证码