文章目錄
- 前言
- 一、基本資料類型
- 二、基本資料類型的傳參機制(簡單)
-
- 1.代碼示範
- 2.基本資料類型傳參機制
- 總結
前言
有時間了就是好,可以有更多時間做自己喜歡的事了,今天代碼是敲爽了,也有點累了,就給大家分享一個原理很簡單的但是在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自己去玩,自己的那份還是沒動,它們是各不相幹的,是以就會出現上面那個不合理的狀況,基本資料類型傳參傳的是值。
總結
今天就先分享一下基本資料類型的傳參機制,下次再分享引用資料類型的傳參機制,非常感謝大家的支援!!!!!感謝,感謝,感謝