摘要:筆試題的和題目如下傳參的兩種方式值傳遞傳遞的是值針對基本數(shù)據(jù)類型,如傳遞一個(gè)整型數(shù)值。實(shí)際上,按值傳遞在方法調(diào)用方法中,參數(shù)只是實(shí)際參數(shù)的一份拷貝。引用傳遞傳遞的是對象的引用針對對象,即傳遞的是對象的地址。
【筆試題】 Java的call by value和call by reference 題目如下: Java傳參的兩種方式
call by value(值傳遞):傳遞的是值(針對基本數(shù)據(jù)類型),如傳遞一個(gè)整型數(shù)值。實(shí)際上,按值傳遞在方法調(diào)用方法中,參數(shù)只是實(shí)際參數(shù)的一份拷貝。
call by reference(引用傳遞):傳遞的是對象的引用(針對對象),即傳遞的是對象的地址。實(shí)際上,引用按傳遞時(shí)候會產(chǎn)生一份新的引用拷貝,新舊兩份引用同時(shí)指向同一個(gè)地址。
代碼示例public class TestJavaCallBy { // 測試值傳遞 public static void testCallByValue(int value) { value *= 10; } // 測試引用傳遞 public static void testCallByReference(StringBuilder sb) { sb.append(" - " + ZonedDateTime.now()); } public static void main(String[] args) { // 測試值變量 int param = 1; // 測試引用對象 StringBuilder sb = new StringBuilder("666"); // 測試 System.out.println(param); testCallByValue(param); System.out.println(param); System.out.println(sb.toString()); testCallByReference(sb); System.out.println(sb.toString()); } } 控制臺輸出結(jié)果 1 // 結(jié)果仍為1,因?yàn)閰?shù)傳遞的是實(shí)參的一份拷貝,對實(shí)參不造成影響 1 666 // 傳遞的是引用的拷貝,新舊兩個(gè)引用指向同一個(gè)對象(地址),因此append操作是作用在該對象上 666 - 2019-03-16T01:25:57.933038500+08:00[Asia/Shanghai]那么就能得出一下結(jié)論:
call by value不會改變實(shí)參的值
call by reference不能改變實(shí)參的參考地址
call by reference能改變實(shí)參的內(nèi)容
那么這道題的答案就是這樣。文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73719.html
摘要:眾所周知,中參數(shù)是按值傳遞的。先大概介紹按值傳參基本類型基本類型的參數(shù)傳遞比較簡單,示例代碼的值復(fù)制給了函數(shù)內(nèi)部的局部變量所以在函數(shù)內(nèi)部改變的值并不會影響外部的值。 眾所周知,JavaScript中參數(shù)是按值傳遞的。與訪問變量不同,基本類型和引用類型的參數(shù)在傳遞時(shí)都如同變量的復(fù)制。 但是我們在使用引用類型的參數(shù)傳遞時(shí),經(jīng)常會發(fā)現(xiàn)在函數(shù)內(nèi)改變引用類型參數(shù)(如對象)會在函數(shù)外反映出來,這種...
摘要:標(biāo)簽前端作者更多文章個(gè)人網(wǎng)站 Learning Notes - Understanding the Weird Parts of JavaScript 標(biāo)簽 : 前端 JavaScript [TOC] The learning notes of the MOOC JavaScript: Understanding the Weird Parts on Udemy,including...
摘要:按引用傳遞時(shí),函數(shù)的形參接收實(shí)參的隱式引用,而不再是副本。探究值的傳遞方式的基本類型,是按值傳遞的。但這樣是否說明的對象是按引用傳遞的呢我們再看下面的例子仍然是并未被修改為如果是按引用傳遞,修改形參的值,應(yīng)該影響到實(shí)參才對。 最近遇到個(gè)有趣的問題:JS中的值是按值傳遞,還是按引用傳遞呢? 在分析這個(gè)問題之前,我們需了解什么是按值傳遞(call by value),什么是按引用傳遞(ca...
摘要:接下來分析幾個(gè)常見的實(shí)現(xiàn)方式。再哈希法再哈希法,就是出現(xiàn)沖突后采用其他的哈希函數(shù)計(jì)算,直到不再沖突為止。,其中為不同的哈希函數(shù)。 由表及里,循序漸進(jìn),請往下看。隨手點(diǎn)贊是對作者最大的鼓勵(lì)!^0^。 什么是哈希表 引用:嚴(yán)蔚敏 《數(shù)據(jù)結(jié)構(gòu)(C語言版)》中的內(nèi)容 showImg(https://segmentfault.com/img/bVZlmE?w=800&h=364); 哈希表就是 ...
摘要:共享數(shù)據(jù)使線程之間的通信比進(jìn)程之間的通信更有效。并發(fā)模型和的區(qū)別說明的作用是啟動一個(gè)新線程操作系統(tǒng)級別,有一個(gè)方法啟動新線程,新線程會執(zhí)行相應(yīng)的方法。單獨(dú)調(diào)用會在當(dāng)前線程中執(zhí)行并不會啟動新線程創(chuàng)建一個(gè)線程即可但是這個(gè)線程沒有執(zhí)行任何代碼段。 tutorials site 并發(fā)Concurrency發(fā)展的歷史 單CPU,一次只能運(yùn)行一個(gè)程序 -- 多任務(wù),一次同時(shí)運(yùn)行多個(gè)任...
閱讀 1238·2021-11-11 16:54
閱讀 887·2021-10-19 11:44
閱讀 1353·2021-09-22 15:18
閱讀 2456·2019-08-29 16:26
閱讀 2961·2019-08-29 13:57
閱讀 3106·2019-08-26 13:32
閱讀 1091·2019-08-26 11:58
閱讀 2340·2019-08-26 10:37