1. 程式人生 > >日常小問題

日常小問題

小問題 main 表示 clas 數值計算 alt 返回值 文件中 更多

1.一個Java類中只能有一個共有類嗎?

java程序是從一個public類的main函數開始執行的,(其實是main線程),就像C程序是從main()函數開始執行一樣.只能有一個public類是為了給類裝載器提供方便. 一個public類只能定義在以它的類名為文件名的文件中。 
每個編譯單元(文件)都只有一個public 類。因為每個編譯單元都只能有一個公共接口,用public類來表現。該接口可以按照要求包含眾多的支持包訪問權限的類。如果有一個以上的public類,編譯器就會報錯.並且public類的名稱必須與文件名相同(嚴格區分大小寫)。 當然一個編譯單元內也可以沒有public類。

在一個源文件.JAVA文件中可以有很多類,只有一個PUBLIC類其他的都不能是.
在PUBLIC類中找程序的入口 main函數 你想想如果很多PUBLIC類,那程序從何運行呢?

2. public static void main()中void改為int.
可以,
但要有返回值“return 0"

3.為什麽Java規定程序入口為static?

靜態犯法無需實例化,就可以調用,如果不是靜態,main函數要有對象調用,
main是程序執行入口,實例化再調用main是不能實現的。

4.同名變量

Java變量遵循”同名變量屏蔽原則“-主要是看變量的作用域,函數調用同一域的變量。

5為什麽double類型的數值計算不是”數學上的精確數“?


java中十進制與二進制轉化時存在問題,double類型的數值占 用64bit,即64個二進制數,除去最高位表示正負符號的位,在最低
位上一定會與實際數據存在誤差,簡單來說就是我們給出的數值,在 大多數情況下需要比64bit更多的位數才能準確表示出來(甚至
是需要無窮多位),而double類型的數值只有64bit,後面舍去的位數一定會帶來誤差,無法得到“數學上精確”的結果

6

技術分享

技術分享

當"X+Y="在前時,默認的把int型X,Y轉化為String型,"X+Y="使編譯器認為X,Y是String型的了,System.out.println()本身的參數默認為String型,

遇到這種情況默認了轉化,產生了如此結果,而第二個就是簡單的輸出,沒有讓計算器產生“誤解”。

日常小問題