java課後思考問題
---恢復內容開始---
1.一個Java類文件中真的只能有一個共有類嗎?
一個Java類文件中只能有一個公有類
2.請使用Eclipse或javac檢測一下以下代碼,有錯嗎?
在Java中,可以將一個類定義在另一個類裏面或者一個方法裏面,這樣的類稱為內部類。廣泛意義上的內部類一般來說包括這四種:成員內部類、局部內部類、匿名內部類和靜態內部類。內部類的詳解鏈接:http://www.cnblogs.com/dolphin0520/p/3811445.html
3.這裏關於公有類的結論是否同樣可用於接口?
Java中的接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能), 與Java的類文件一樣,接口文件的文件名必須與接口名相同。一個類可以有多個接口。
4.為什麽java規定作為程序入口點的main() 方法靜態的?
非靜態方法需要一個對象才能執行,而static方法只需類就可以執行。而main方法是程序剛開始就運行的程序,所以沒有對象,所以Java規定main方法是靜態的。
5.Java變量遵循“同名變量的屏蔽原則”,請課後閱讀相關資料弄清楚相關知識,然後自己編寫一些測試代碼,就象本示例一樣,有意識地在不同地方定義一些同名變量,看看輸出的到底是哪個值。
public class Test {
int a=1;
public static void main(String[] args) {
Test t=new Test();
B b=new B();
int a=2;
System.out.println("main().a="+a);
t .print_A();
b.print_B();
}
public void print_A(){
int a=4;
System.out.println("print_A().a="+a);
}
}
class B{
void print_B(){
int a=3;
System.out.println("print_B.a="+a);
}
}
5.看著這個圖,再查查Java中每個數據類型所占的位數,和表示數值的範圍,你能得出什麽結論?
Int 32位 取值範圍為 -2的31次方到2的31次方減1之間的任意整數(-2147483648~2147483647)
Short 16位 取值範圍為 -32768~32767之間的任意整數
long 64位 取值範圍為 -2的63次方到2的63次方減1之間的任意整數(-9223372036854774808~9223372036854774807)
float 32位 取值範圍為 3.402823e+38 ~ 1.401298e-45
double 64位 取值範圍為 1.797693e+308~ 4.9000000e-324
char 8位 取值範圍為 -128~127
byte 8位 取值範圍為 -128~127之間的任意整數
結論: java中數據類型所占位數越大,數值範圍越大。由低位數類型到高位數類型轉化,可能有精度損失。
6.請運行以下代碼(TestDouble.java)
public class TestDouble {
public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
實驗結果:
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 1.2329999999999999
為什麽double類型的數值進行運算得不到“數學上精確”的結果?
我們給出的數值,在大多數情況下需要比64bit更多的位數才能準確表示出來(甚至是需要無窮多位),而double類型的數值只有64bit,後面舍去的位數一定會帶來誤
差,無法得到“數學上精確”的結果。
7.
以下代碼的輸出結果是什麽?
int X=100; int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
為什麽會有這樣的輸出結果?
java課後思考問題