[javaSE] 变量的传值与传址

变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间

这个空间需要一个名称,这个名称就是变量名

基本数据类型:byte,short,int,long,double,float,char,boolean

引用数据类型:类(Class),接口(interface),集合

传值就是把这个变量复制一份

传址就是还是同一个对象

基本数据类型一般都是传值,引用数据类型一般是传地址

import java.util.ArrayList;
import java.util.List;

public class VariableDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //初始
        int a=1;
        List<String> arr=new ArrayList<String>();
        arr.add("taoshihan1");
        //测试
        makeChange(a, arr);
        //输出
        System.out.println(a);//输出 1
        System.out.println(arr);//输出 [taoshihan1, taoshihan2]
    }
    /**
     * 传值和传地址测试
     * @param a
     * @param arr
     */
    public static void makeChange(int a,List<String> arr){
        a=4;
        arr.add("taoshihan2");
    }

}

PHP中函数传参一般传值,加上&这个符号后就变成了传地址

<?php
class VariableDemo{
    public static function main(){
        $a=1;
        $arr=array("taoshihan1");
        VariableDemo::makeChange($a,$arr);
        echo $a;//输出 1
        print_r($arr);//输出 Array ( [0] => taoshihan1 [1] => taoshihan2 )
    }
    /**
     * 传值和传地址测试
     * @param a
     * @param arr
     */
    public static function makeChange($a,&$arr){
        $a=4;
        array_push($arr, "taoshihan2");
    }

}

VariableDemo::main();
时间: 2024-10-01 21:35:32

[javaSE] 变量的传值与传址的相关文章

javascript的变量,传值和传址,参数之间关系

先把收获晾一下: 1.javascrip变量包含两种类型的值,一种为引用类型的值,一种是基本类型的值.引用类型包括:Array,Object,Function(可以这么理解,非基本类型的都是引用类型);5种基本类型包括:undefined,null,string,boolean,number 2.函数的参数的传递的机制是复制变量值. 书上说:”把函数外部的值复制给函数内部的参数,就和把值从一个变量复制给另一个变量一样.基本类型的传递如同基本类型变量的复制一样,而引用类型的则如同引用类型变量的复制

php传值与传址的区别

PHP中传值和传址的区别, 十分的简单, 看字面的意思大概就知道是什么意思了, 下面通过简单的实例看一下两者的区别. 1 $a = 5; 2 function show(&$b) { 3 $b += 10; 4 echo "函数内部:" . $b . "<hr>";//结果: 15 5 } 6 show($a); 7 echo "函数外部:" . $a . "<hr>";//结果: 15 总结:

JS 基础知识2 传值和传址

要知道传址跟传址,首先我们先了解下数据值的操作. 1复制:可以把它赋值给一个新的变量 2传递:可以将他传递给一个函数或者方法 3比较:可以与另外一个值比较,判断是否相等 简要介绍下传值: 当一个数据是通过值被操作的,那么关系到的是数据的值,在赋值的过程中,是对实际值进行了COPY,储存在一个变量或者属性或数组中,copy的值与原数据是相互独立的. 当数据通过值传递给一个函数时,数据的一份传递给这个函数,如果函数体修改了这个值,只在函数体受影响,函数外的原数据不受影响. 当一个数据通过值和另外一个

javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象

对象字面量  JSON var obj = { aaa :999}; var json={"aaa":999,"bbb":888}; "kay":value 对象字面2??定义方法和json很像,只有一点不同,json的key 必须加"" : 对象,数组也可以作为键值 JSON的组成 Javascript Object Notation 对象字面量的一种表现形式 : 键名必须有双引号""包围 : 为什么用J

C# 函数的传值与传址(转)

http://www.cnblogs.com/mdnx/archive/2012/09/04/2671060.html using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { /* 先来了解一下什么是实参, 什么是形参. 所谓形参其实也就是说函数定义的时候所带的参数. 比如 static

Java传值和传址

调用函数时,传的参数过去可能是传值,也可能是传址.如果是传值,函数内部的操作对参数的值没有影响:如果是传址,函数内部的操作是对参数指向的内存进行操作,会影响参数的值. Java到底是传值还是传址?用下面这个例子可以实验一下: package test; import java.util.ArrayList; import java.util.List; public class ValueAndAddress { public static void f1(int x){ x = x + 5;

php自定义函数的“传值”与“传址”学习笔记

参数的传递,可以分为 传值 和 传址 两种,究竟有什么区别呢? 1 2 3 4 5 6 7 8 9 10 function fun($num1,$num2) { $num1=100; $num2=1000; } $n1=1; $n2=10; fun($n1,$n2); echo “n1={$n1} n2={$n2}”; ?> 得到的结果是:n1=1 n2=10 这一段代码是传值的过程,自定义函数fun的参数传递具体$n1,$n2的值,这个很容易理解,我之前说的自定义函数都是传值,那什么是传址呢?

传值与传址

基本类型传值 引用类型传址

C语言的传值与传址调用

传值调用并不能改变两个变量的值,而传址能. 为什么,因为,传值调用,仅仅是在函数内,调换参数的值. 而地址所指向的值,改变的不仅仅是函数内,函数外也改变. 请看代码: 这里还要注意:通常我们不会返回局部变量的地址. 1 #include <stdio.h> 2 3 void swap_value(int x,int y) 4 { 5 int temp; 6 temp = x; 7 x = y; 8 y = temp; 9 printf("传值函数内的输出 %d %d \n"