java運行代碼結果 java程序代碼運行結果

java下列代碼的執(zhí)行結果是

false,true

成都網(wǎng)站建設、成都做網(wǎng)站服務團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標準與要求,同時竭誠為客戶提供服務是我們的理念。創(chuàng)新互聯(lián)公司把每個網(wǎng)站當做一個產(chǎn)品來開發(fā),精雕細琢,追求一名工匠心中的細致,我們更用心!

第一個為false是因為”==“比較的是兩個應用,他們在內(nèi)存中的地址不一樣,所以為false

第二個為true 是因為String類里重寫了equals方法,只要兩個對象的內(nèi)容一樣,就返回true

誰可以告訴我這段Java代碼的運行結果是什么?請說明原因

/*

*一般情況不建議這么使用類對象

*要這么做可以,場景只有一種內(nèi)部類

*這樣的做法違反數(shù)據(jù)封裝設計原則,極少情況會這么用。

*如果非得這么用,設計成私有內(nèi)部類,這么用少get、set方法,效率會稍有提高

*因為類權限聲明符為缺省,因此此類的訪問權限為同包內(nèi)的其它類可使用

*/

class?ValHold{

//實例成員變量i初始化為10

public?int?i?=?10;

}

public?class?Obparm?{

public?static?void?main(String[]?args)?{

/*

*申明int類型變量z,0開頭代表8進制表示方法

*換算成10進制整數(shù)是:13

*此變量你的整個程序中都未使用到

*/

int?z?=?015;

/*

*實例化對象本省,因為main方法是程序入口點,靜態(tài)方法,

*此方法中能直接訪問的成員變量必須申明為靜態(tài)的

*能訪問的成員方法,也必須申明為靜態(tài)的

*此處是為了調(diào)用實例方法amethod,所以必須先實例化對象

*/

Obparm?o?=?new?Obparm();

/*

*調(diào)用Obparm類實例O的amethod方法

*/

o.amethod();

}

public?void?amethod(){

//申明變量i,棧級別變量,只在當前運行的方法塊內(nèi)生效

int?i?=?99;

//申明并初始化類ValHold實例變量v,棧級別變量,只在當前運行的方法塊內(nèi)生效

ValHold?v?=?new?ValHold();

//修改實例v的成員變量i為30

v.i=30;

//調(diào)用Obparm?實例方法,隱含實例指針this,代表實例自身

//此處完整的寫法是,this.another(v,i);但this關鍵字可省略

another(v,i);

System.out.print(v.i);

}

public?void?another(ValHold?v,int?i){

//修改實參i

i?=?0;

//修改v實例變量i的值為20,實參引用的對象變量i也會被修改

v.i?=?20;

//重新實例化一個ValHold對象

ValHold?vh?=?new?ValHold();

//修改實參v引用vh,或者讓v的指針指向vh

v?=?vh;

//輸出vh實例變量i

System.out.print(v.i);

//輸出i

System.out.print(i);

}

}

/*

*********************************************************************************

從以上我做的注釋,最終輸出結果為:

10020

如果調(diào)用

System.out.println

輸出結果是:

10

20

我不知道那個老師教你們這個的,如果對初學者,很難理解這么多內(nèi)容。

他想考你們的是,代碼的作用域,類方法的實參參數(shù)的傳遞是引用傳遞,實參可以當方法中的變量,修改了實參的引用,知會在方法塊內(nèi)生效(或者當前運行棧上生效)。

不知道你能看明白不?

*********************************************************************************

*/

以下Java代碼執(zhí)行結果是什么,請詳細分析為什么?

第一行輸出結果是abc:

原因是:

s.substring(1);

s.replace("bc", "xyz");

這兩句話沒有任何作用 ~因為String是屬于值傳遞~

第二行 輸出結果是false:

原因是:

用==比較字符串,是比較兩個變量本身的值,即兩個對象在內(nèi)存中的首地址。用equals比較就會為true,equals比較的是內(nèi)容是否相同。

附:

1、值傳遞、引用傳遞的區(qū)別:

值傳遞:(形式參數(shù)類型是基本數(shù)據(jù)類型):方法調(diào)用時,實際參數(shù)把它的值傳遞給對應的形式參數(shù),形式參數(shù)只是用實際參數(shù)的值初始化自己的存儲單元內(nèi)容,是兩個不同的存儲單元,所以方法執(zhí)行中形式參數(shù)值的改變不影響實際參數(shù)的值。

引用傳遞:(形式參數(shù)類型是引用數(shù)據(jù)類型參數(shù)):也稱為傳地址。方法調(diào)用時,實際參數(shù)是對象(或數(shù)組),這時實際參數(shù)與形式參數(shù)指向同一個地址,在方法執(zhí)行中,對形式參數(shù)的操作實際上就是對實際參數(shù)的操作,這個結果在方法結束后被保留了下來,所以方法執(zhí)行中形式參數(shù)的改變將會影響實際參數(shù)

2、用==比較和用equals比較的區(qū)別:

對于字符串變量來說,使用“==”和“equals()”方法比較字符串時,其比較方法不同.

“==”比較兩個變量本身的值,即兩個對象在內(nèi)存中的首地址.

“equals()”比較字符串中所包含的內(nèi)容是否相同.

Java程序的運行結果?

您好,非常榮幸能在此回答您的問題。以下是我對此問題的部分見解,若有錯誤,歡迎指出。輸出:5

public void add(int pInt){ //定義一個方法,參數(shù)是一個int型

pInt ++; //pInt = pInt + 1;

}

這題主要是考你參數(shù)傳遞的問題,int型傳的是值,所以雖然pInt++后pInt=6

但沒有帶回去,所以i還是5非常感謝您的耐心觀看,如有幫助請采納,祝生活愉快!謝謝!

分享標題:java運行代碼結果 java程序代碼運行結果
瀏覽路徑:http://m.kartarina.com/article20/hjihjo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗網(wǎng)站制作營銷型網(wǎng)站建設網(wǎng)站內(nèi)鏈外貿(mào)網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司
主站蜘蛛池模板: AV无码久久久久不卡网站下载| 国产成人精品无码播放| 中文字幕AV无码一区二区三区| 白嫩少妇激情无码| 国产AV无码专区亚洲AV琪琪| 亚洲gv猛男gv无码男同短文| 岛国av无码免费无禁网站| 亚洲av无码成h人动漫无遮挡 | 亚洲中文字幕在线无码一区二区 | 久久无码一区二区三区少妇| 无码少妇一区二区性色AV| 亚洲精品无码久久不卡| 久久亚洲AV成人无码软件| 一本色道无码道在线观看| 午夜无码熟熟妇丰满人妻| 久久久久久国产精品无码超碰| 久久久久亚洲AV无码专区网站 | 亚洲av无码成人精品区一本二本 | 无码精品人妻一区二区三区免费看 | 国产色爽免费无码视频| 老司机无码精品A| 白嫩少妇激情无码| 久久久久亚洲av无码专区喷水 | 亚洲中文久久精品无码1| 国产激情无码一区二区app| 国产av无码久久精品| 无码h黄肉3d动漫在线观看| 无码少妇丰满熟妇一区二区 | 五月丁香六月综合缴清无码| 亚洲中文字幕无码mv| 亚洲av永久无码精品天堂久久| 免费无码H肉动漫在线观看麻豆| 国模无码视频一区| 亚洲av无码天堂一区二区三区 | 无码国产精品一区二区高潮| 亚洲av无码电影网| 人妻无码久久精品人妻| 亚洲AV无码成人精品区狼人影院| 最新无码专区视频在线| 无码被窝影院午夜看片爽爽jk | 国产午夜无码专区喷水|