基本数据类型传参机制


前言

有时间了就是好,可以有更多时间做自己喜欢的事了,今天代码是敲爽了,也有点累了,就给大家分享一个原理很简单的但是在Java中很重要的小东西传参机制,参数这个东西只要是开始接触Java就开始接触了,但是学习嘛,都会有个过程,一开始都是模仿,这是没有任何错的,是正确的学习方法,但是一直都是这样的话那就是有问题了,所以有时候就得搞懂一些深一点层次的东西,人嘛要向前看,如果这个传参机制不弄清楚,可以说Java白学了,所以给大家来点有意思的。为了让大家有直观的感受,我就不来那些太官方的文字了。

一、基本数据类型

jib在这里插入图片描述
基本数据类型就如上图所示,有4大类,8分支,在参数的传递中都非常常见,这个东西一定要记住他们的特点,今天我们重点不在这。

二、基本数据类型的传参机制(简单)

1.代码演示

为了方便演示我们用基本数据的int类型
代码如下(示例):

public class Test01 {

	public static void main(String[] args) {
		// 交换两个数,其实是直接传值
		int a = 5;
		int b = 6;
		System.out.println("mian函数没有运行changge方法的a,b为:"+a+","+b);
		Test01.changge(a,b);
		System.out.println("mian函数运行changge方法的a,b为:"+a+","+b);

	}
	public static void changge(int a,int b) {
		System.out.println("changge没有开始运行的a,b为:"+a+","+b);
		int temp = 0;
		temp = a;
		a = b;
		b = temp;
		System.out.println("changge运行了的a,b为:"+a+","+b);
	}

}

大家可以猜一猜每次输出的地方都是什么,其实争议最大的数main函数运行了方法以后的值,这里就会出现两个选项,一个是5,6另一个是6,5,那到底是什么呢,哈哈,我们接着看输出吧
代码如下(输出):

mian函数没有运行changge方法的a,b为:5,6
changge没有开始运行的a,b为:5,6
changge运行了的a,b为:6,5
mian函数运行changge方法的a,b为:5,6

哈哈,没想到吧,这个输出是5,6,咦,是不是有点诧异,这两个数的交换方法是没奏效吗。其实是不然,这个两个数的交换方法是起了作用的,因为从changge运行了的a,b为:6,5,既可以看出确实是交换过来了的,看程序的运行顺序最后的结果为什么不是6,5呢,这就得和基本数据的传参机制挂钩。

2.基本数据类型传参机制

在这里插入图片描述

在虚拟机的内存中有两个主要的储存区域一个叫栈一个叫堆,当参数类型为基本数据类型的时候,实际是保存在栈里面的,没有在堆里面,当实参为基本数据类型的时候它是直接将值复制一份给changge自己去玩,自己的那份还是没动,它们是各不相干的,所以就会出现上面那个不合理的状况,基本数据类型传参传的是值

总结

今天就先分享一下基本数据类型的传参机制,下次再分享引用数据类型的传参机制,非常感谢大家的支持!!!!!感谢,感谢,感谢

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值