专栏首页陶士涵的菜地[javaSE] 变量的传值与传址

[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();

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [PHP] 算法-把数组排成最小的数的PHP实现

    陶士涵
  • [javaSE] 数组(排序-选择排序)

    陶士涵
  • [javaSE] 数组(排序-冒泡排序)

    选择排序和冒泡排序性能都很低,提高性能的方法,当需要换位置的时候,先不换,先把需要换位置的角标放到栈内存中,等最后一次性在堆内存中交换

    陶士涵
  • 快速排序 : 调优:3亿数据40秒,2亿数据30秒,1亿数据15秒

    上一章我们讲到并归排序,并归排序的重要思想是对大问题进行分解,解决分解出来的小问题达到解决大问题的效果

    执生
  • js -- 判断数组是否为空?

    上面三种判断数组为空的方法虽然大多数情况下都可以用,但依然存在bug,比如令arr[-1] = ''时,数组不为空,但三者都返回true。

    小蔚
  • 程序员面试金典 - 面试题 17.14. 最小K个数(快排划分O(n))

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/smallest-k-lcci 著作权归领扣网络所有...

    Michael阿明
  • 冒泡排序优化

    这个版本,有一个问题:前三个元素,本来就是有序的,但是他们还是走了第7,8,9这三轮。所以,我们可以进行一下优化,如果这一轮没有元素进行交换了,那就停止;我们使...

    IT云清
  • [javaSE] 数组(排序-冒泡排序)

    选择排序和冒泡排序性能都很低,提高性能的方法,当需要换位置的时候,先不换,先把需要换位置的角标放到栈内存中,等最后一次性在堆内存中交换

    陶士涵
  • [javaSE] 数组(排序-选择排序)

    陶士涵
  • 冒泡排序应用

    机器学习和大数据挖掘

扫码关注云+社区

领取腾讯云代金券