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