新聞中心
求java大神,請分析以下代碼,寫出執(zhí)行結果,并解釋每行結果輸出的原因。
第一行,定義了int類型一維數(shù)組a和二維數(shù)組b
專注于為中小企業(yè)提供成都網站制作、網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)漠河免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。
a={10,20,30,40}
b={{1,2},{4,5,6,7}}
第二行,b[0] = a; -- b={{10,20,30,40},{4,5,6,7}
第三行,b[0][1](20) = b[1][3](7); -- b={{10,7,30,40},{4,5,6,7}}(這里是地址引用,b[0]是a,所以b[0]改了,a也被改了)
最后:b[0][3] = 40,a[1] = 7
java代碼詳細分析
//求采納
//一個隨機數(shù)生成工具
Random?rand?=?new?Random();
//?rand.nextInt()?用工具生成一個隨機的整數(shù)
//rand.nextInt()?%?a.length?對上邊數(shù)組長度取余?應該是對?52?取余
//任何整數(shù)對52取余結果只能是?-51?~?51?之間的一個整數(shù)
int?index?=?rand.nextInt()?%?a.length;?
//如果得到的這個整數(shù)小于0?
if(index??0){?
//用0?減去這個數(shù)即變成其相反數(shù)
index?=??0?-?index;
}
//從數(shù)組a中取對應位置的字符,比如index=2????a[index]?就是?c
return?a[index];
請分析下以下java代碼,System.out.println(str)中指向的是哪個值
System.out.println(str)中的str指向的是main函數(shù)中定義的str, 該對象的作用于僅限于main函數(shù)本身。public static void changeStr(String str){
str="welcome";
}
這里其實默認進行了幾步操作:新建一個String類型的對象str。將main函數(shù)中調用時的參數(shù)str的值(1234)復制給changeStr函數(shù)中的str對象。同時在函數(shù)體中將該對象的值改變?yōu)閣elcome。這兩個str對象雖然具有相同的對象名,但是其作用域均只限于定義它們的函數(shù)體內。
以下Java代碼執(zhí)行結果是什么,請詳細分析為什么?
第一行輸出結果是abc:
原因是:
s.substring(1);
s.replace("bc", "xyz");
這兩句話沒有任何作用 ~因為String是屬于值傳遞~
第二行 輸出結果是false:
原因是:
用==比較字符串,是比較兩個變量本身的值,即兩個對象在內存中的首地址。用equals比較就會為true,equals比較的是內容是否相同。
附:
1、值傳遞、引用傳遞的區(qū)別:
值傳遞:(形式參數(shù)類型是基本數(shù)據(jù)類型):方法調用時,實際參數(shù)把它的值傳遞給對應的形式參數(shù),形式參數(shù)只是用實際參數(shù)的值初始化自己的存儲單元內容,是兩個不同的存儲單元,所以方法執(zhí)行中形式參數(shù)值的改變不影響實際參數(shù)的值。
引用傳遞:(形式參數(shù)類型是引用數(shù)據(jù)類型參數(shù)):也稱為傳地址。方法調用時,實際參數(shù)是對象(或數(shù)組),這時實際參數(shù)與形式參數(shù)指向同一個地址,在方法執(zhí)行中,對形式參數(shù)的操作實際上就是對實際參數(shù)的操作,這個結果在方法結束后被保留了下來,所以方法執(zhí)行中形式參數(shù)的改變將會影響實際參數(shù)
2、用==比較和用equals比較的區(qū)別:
對于字符串變量來說,使用“==”和“equals()”方法比較字符串時,其比較方法不同.
“==”比較兩個變量本身的值,即兩個對象在內存中的首地址.
“equals()”比較字符串中所包含的內容是否相同.
java分析以下需求,并用代碼實現(xiàn):
根據(jù)需求,代碼大致如下
public?class?T2?{
public?static?String?getPropertyGetMethodName(String?property)?{
if?(property?==?null?||?property.trim().length()?==?0)
return?"";
return?"get"?+?String.valueOf(property.charAt(0)).toUpperCase()
+?property.subSequence(1,?property.length());
}
public?static?void?main(String[]?args)?{
System.out.println(getPropertyGetMethodName("a"));
System.out.println(getPropertyGetMethodName("name"));
System.out.println(getPropertyGetMethodName("names"));
}
}
分享文章:分析以下java代碼 研究下面的java代碼
本文鏈接:http://fisionsoft.com.cn/article/dodpphe.html