java第二章选择题_Java第二章习题讲解(2)
第二章習(xí)題講解(1)
3.閱讀或調(diào)試程序
(1) 上機(jī)運(yùn)行下列程序,注意觀察輸出的結(jié)果。Java
public class E{
public static void main(String args[]){
for(int i=20302;i<=20302;i++){
System.out.println((char)i);
}
}
}
(2) 上機(jī)調(diào)試下列程序,注意System.out.print()和System.out.println()的區(qū)別。Java
public class OutputData{
public static void main(String args[]){
int x=234,y=432;
System.out.println(x+"
System.out.print("我輸出結(jié)果后不回車");
System.out.println("我輸出結(jié)果后自動(dòng)回車到下一行");
System.out.println("x+y="+(x+y));
}
}
(3)上機(jī)調(diào)試下列程序,了解基本數(shù)據(jù)類型數(shù)據(jù)的取值范圍。Java
public class E{
public static void main(String args[]){
System.out.println("byte取值范圍"+Byte.MIN_VALUE+"至"+Byte.MAX_VALUE);
System.out.println("short取值范圍"+Short.MIN_VALUE+"至"+Short.MAX_VALUE);
System.out.println("int取值范圍"+Integer.MIN_VALUE+"至"+Integer.MAX_VALUE);
System.out.println("long取值范圍"+Long.MIN_VALUE+"至"+Long.MAX_VALUE);
System.out.println("float取值范圍"+Float.MIN_VALUE+"至"+Float.MAX_VALUE);
System.out.println("double取值范圍"+Double.MIN_VALUE+"至"+Double.MAX_VALUE);
}
}
(4)下列程序標(biāo)注的【代碼1】和【代碼2】的輸出結(jié)果是什么?Java
public class E {
public static void main(String args[]) {
long[] a = { 1, 2, 3, 4 };
long[] b = { 100, 200, 300, 400, 500 };
b = a;
System.out.println("數(shù)組b的長(zhǎng)度:" + b.length); //【代碼1】
System.out.println("b[0]=" + b[0]); //【代碼2】
}
}
(5) 下列程序標(biāo)注的【代碼1】和【代碼2】的輸出結(jié)果是什么?Java
public class E {
public static void main(String args[]) {
int[] a = { 10, 20, 30, 40 }, b[] = { { 1, 2 }, { 4, 5, 6, 7 } };
b[0] = a;
b[0][1] = b[1][3];
System.out.println(b[0][3]); //【代碼1】
System.out.println(a[1]); //【代碼2】
}
}
答案解析
1.程序使用了一個(gè)循環(huán)語(yǔ)句,輸出的是(char)20302的值,輸出的實(shí)際上是Unicode表中第20302個(gè)字符,運(yùn)行結(jié)果為“低”
2.
System.out.print()輸出后不回車,而System.out.println()輸出后會(huì)自動(dòng)回車
3.了解基本數(shù)據(jù)類型數(shù)據(jù)的取值范圍
4.答案:【代碼1】:4。【代碼2】:b[0]=1。
解析:數(shù)組屬于引用型變量,因此兩個(gè)相同類型的數(shù)組如果具有相同的引用,他們就有完全相同的元素。因此當(dāng)執(zhí)行b = a時(shí)候,系統(tǒng)會(huì)釋放最初分配給b的元素后,b和a指向相同的內(nèi)存地址(引用相同)所以b的長(zhǎng)度就是a的長(zhǎng)度為4,b[0]=a[0]=1。
我們?cè)贑語(yǔ)言中學(xué)過指針,指針就是地址,而Java中的引用就和指針十分相似,區(qū)別在于指針可以修改例如p++,而引用是無(wú)法修改的。在犧牲了靈活性的前提下提升了程序的安全性。
5.答案:【代碼1】:40 【代碼2】:7
int[] a = { 10, 20, 30, 40 }, b[] = { { 1, 2 }, { 4, 5, 6, 7 } };
我們要注意這條語(yǔ)句,a是一個(gè)一維數(shù)組,元素分別是10,20,30,40,而b是一個(gè)二維數(shù)組(相當(dāng)于int[]b[]這種格式),二維數(shù)組中每一個(gè)元素都是一個(gè)一維數(shù)組,而Java的特點(diǎn)是二維數(shù)組中的一維數(shù)組的長(zhǎng)度是沒有限制的所以第一個(gè)元素為1,2第二個(gè)元素為4,5,6,7。
我們可以把二維數(shù)組看成一個(gè)矩陣第一個(gè)下標(biāo)代表行,第二個(gè)下標(biāo)代表列
所以數(shù)組b可以看成
14250607
b[0]=a相當(dāng)于把a(bǔ)的引用賦值給b[0](b[0]看成一個(gè)一維數(shù)組),結(jié)果變成了
104205306407
b[0][1] = b[1][3],這樣b就變成了
10475306407
所以輸出b[0][3]的值為30,那么問題在于a[1]的值為何是7而不是20呢?是因?yàn)閍中的值也被修改了,原因就在于a的引用賦值給了b[0],那么b[0]和a指向同一塊內(nèi)存地址,那么如果修改了b[0]中的值,a的值也會(huì)跟著相應(yīng)的改變。
總結(jié)
以上是生活随笔為你收集整理的java第二章选择题_Java第二章习题讲解(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql所有知识点总结_MySQL知识
- 下一篇: java用流体加减乘除_任意输入两个数,