Java語言的開發環境

Java是一種簡單的,跨平臺的,面向對象的,分佈式的,解釋的,健壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。Java語言的開發環境分享給大家,歡迎大家閱讀!

Java語言的開發環境
  Java語言的開發環境

1)JDK是什麼?

JDK(JavaDevelopmentKit)Java開發工具包。包括了JRE,是開發Java的人員必備的開發運行Java程序的工具。

2)JRE是什麼?

JRE(JavaRuntimeEnvironment)Java運行環境,運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。

3)JVM是什麼?

JVM(JavaVirtualMachine)Java虛擬機,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。

5)需要配置的相關環境變量?path:用於搜索外部命令,例如編譯程序的javac命令,執行程序的java命令classpath:用於搜索類,即class文件,例如可以在不同的位置執行類文件

6)

配置環境變量的方式?

有兩種:臨時配置和持久配置

臨時配置:在命令行下用set變量名=變量值,僅在當前命令行窗口有效持久配置:在我的電腦——屬性中配置,持久有效

8)

Java文件的類型?有兩種:

擴展名爲java的文件:是Java源文件,屬於編譯之前的純文本文件,存儲java源代碼。擴展名爲class的文件:是Java類文件,屬於編譯之後的二進制文件,存儲字節碼。

9)

Java的編譯運行原理?

首先編寫java源文件,然後編譯成class類文件,然後通過虛擬機解釋成機器碼到硬件執行。

10)

Java是編譯型語言還是解釋型的語言?

既不是完全編譯型,也不是完全解釋型,是半編譯半解釋的。

Java程序的基本結構

1)Java語言區分大小寫嗎?

區分,不管是數據還是標識符或者關鍵字都區分大小寫,例如public不能寫成Public,“abc”不能寫成“ABC”,inti不能寫成INTI等等。

2)main方法是作什麼用處的?

這是程序的入口方法,是由虛擬機自動調用的。

3)語句必須用分號結束嗎?

必須的,但是代碼塊{}可以用分號結束,也可以不用分號結束

4)Java中有幾種註釋,各自的功能

有三種:

單行註釋//:加在行首隻能註釋一行

多行註釋/**/:註釋多行,但不能嵌套使用

文檔註釋/***/:用於生成HTML形式的文檔,需要配合javadoc命令實現

5)Java語言的數據類型是強類型還是弱類型?

是強類型,意味着每一個變量都必須明確聲明數據類型。

6)Java語言中數據類型的劃分?有什麼區別?分成基本類型和引用類型兩大類。

基本類型:有8種,只能存儲單一的值,不以對象的形式存在

引用類型:除了基本類型之外其他的都是引用類型,能夠存儲複雜數據類型,以對象的形式存在

7)基本類型都有哪8種類型?

布爾類型:boolean佔1字節字符類型:char佔2字節

整型:byte佔1字節short佔2字節int佔4字節long佔8字節

浮點型:float佔4字節double佔8字節

8)布爾值可不可以用0或者非0數代替?

不可以,布爾值只能是true和false,不能使用數字,這和C語言是不一樣的。

9)直接寫個整數10默認是什麼類型的?

整型的直接量例如10,100等默認的數據類型都是int型

10)如何讓一個整型的直接量變成long型的?

在直接量後面加大寫L後者小寫l,例如10L

11)整型數據在程序中直接使用可以使用什麼進制?

10進制,8進制,16進制,但不能使用二進制

12)浮點運算在Java中有沒有誤差?

有誤差,所以精密運算請使用BigDecimal類

13)直接寫一個3.14的直接量是什麼數據類型的?

是double型,如果想表示是float的3.14必須寫成3.14F或者3.14f,double型的3.14也可以寫成3.14D

14)char型採取的是什麼類型的字符集?

是Unicode全球統一編碼,支持任何世界上官方的語言中的字符

15)常見的轉義字符有哪些?

轉義序列

名稱

退格 製表換行回車”雙引號’單引號

反斜槓

16)常見的Unicode字符對應的編碼?大寫的A到Z是對應65到90,小寫的a到z是對應97到122,字符0到9是對應48到57

17)空字符是不是用’’(兩個並列的單引號)來表示?

不是,空字符用’u0000’來表示,兩個並列的單引號什麼也不是。

18)點,分號,花括號的各自的作用?

點的作用有兩個:一個是使用類或對象中的成員,用對象.成員,再一個就是包名和子包名之間的分隔符,例如頂層包名.子包名分號的作用是表示語句結束花括號的作用是代表一個語句塊

19)語句和關鍵字之間可以有任意的空白嗎?

可以的,例如tln(100);就是正確的語句,但是關鍵字本身不能加空白或換行

20)標識符是什麼?

標識符就是指在程序中給包,類,接口,方法,變量起的名字

21)標識符有什麼起名規則?

1.應以字母、下劃線、美元符開頭2.後跟字母、下劃線、美元符或數字3.不能用關鍵字和保留字4.嚴格區分大小寫5.名稱長度沒有限制

22)中文的變量名可以嗎?

是可以的,例如int數字=10;這個語句是正確的。因爲java中採取Unicode字符集,所以任何的Unicode中的字符都可以作爲標識符的名稱,但考慮字符集的支持問題推薦還是使用英文字母命名。

23)關鍵字和保留字有區別嗎?

在1.5後沒有區別,都被稱作關鍵字,但是1.5之前認爲關鍵字是在Java中有特殊用途的不允許編程人員擅自改作其他用途,而保留字是在Java中沒有特殊用途但不允許編程人員擅自改作其他用途,按此說法goto和const應該是此意義上的保留字。

24)true,false,null可以用作標識符命名嗎?

不可以,這3個雖然不是關鍵字,但都是有特殊用途的值,也不能作爲標識符命名

25)一條聲明語句可以聲明多個變量嗎?

可以的,例如以下聲明都是正確的

inti;

inti,j;

inti=10,j;

inti,j=10;

inti=10,j=20;

26)變量在沒有賦值的情況下可以使用嗎?

不可以,變量沒有賦值使用會報出變量未初始化的編譯錯誤。

27)常量有什麼特點?

在聲明變量的時候加上final修飾符即爲常量,表示這個變量只能被賦一次值。

28)算數運算符有哪些?

基本算數運算符有+-*/%++--

29)單目運算符,雙目運算符,三目運算符都是什麼意思?

其實也有叫一元運算符,雙元操作符,三元操作符的,指的是有幾個操作數形成一個完整表達式,例如++就是一個單目運算符,只需要一個操作數就可以形成表達式,像i++,而+運算符就是雙目運算符,需要兩個操作數形成表達式,例如5+3,還有三目運算符,例如5>3?0:-1

30)++和--放在前面和放在後面有什麼區別?

如果是在一個表達式中,那++放後面表示先運算表達式,然後再進行自增運算,如果在一個表達式中,++放前面,則表示先進行自增運算然後在運算表達式。--同樣道理。例如:

inti=10;

intj=i++;//先進行賦值運算然後再進行自增運算j的結果是10

inti=10;

intj=++i//先進行自增運算然後再進行賦值運算

j的結果是11

31)-5%2等於幾,5%-2等於幾?

-5%2等於-1,5%-2等於1,運算得到是正數還是負數取決於第一個操作數的符號

32)5/2結果是不是2.5?

不是,是2,因爲5和2都是int類型,所以不可能得到double型的結果。

33)比較運算符有哪些?

有><>=<===!=六項基本比較運算

34)任何數據類型都可以使用><>=<=運算符嗎?

不是所有數據類型,例如true>false這個表達式就是編譯錯誤,布爾類型和引用類型的表達式只能用==和!=兩個比較運算,例如”abc”<=”xyz”這個表達式也是編譯錯誤的

35)’a’>’b’這個表達式編譯正確嗎?

編譯正確,’a’和’b’是字符類型,內部用Unicode編碼表示的話a是97,b是98,所以實際上比較的是97>98,結果爲false

36)邏輯運算符有哪些?

有&邏輯與,|邏輯或,!邏輯非,^異或,&&短路與,||短路或7

37)邏輯與,邏輯或和短路與,短路或有什麼區別?

邏輯與和短路與的區別是:

如果是邏輯與&,不管第一個表達式是true還是false,都會執行第二個表達式,例如a>b&xb爲false,也會執行x>y

如果是短路與&&,如果第一個表達式爲false,將不會執行第二個表達式例如a>b&&xb爲false,就不會執行x>y

以此類推,邏輯或和短路或的區別是:

如果是邏輯或|,不管第一個表達式是true還是false,都會執行第二個表達式如果是短路或||,如果第一個表達式爲true,將不會執行第二個表達式

38)與或非三個邏輯運算符的優先級是怎麼排列的?

“非”優先級最高,“與”其次,“或”優先級最低

39)原碼,反碼,補碼分別是什麼意思?

原碼:將數字轉換爲二進制,第一位爲符號位,正數爲0,負數爲1例如:12的原碼是00001100-12的原碼是10001100

反碼:正數的反碼和原碼相同,負數的反碼將原碼符號位之外的位逐位取反例如:12的反碼是00001100-12的反碼是11110011

補碼:正數的補碼和原碼相同,負數的補碼將反碼加1例如:12的補碼是00001100-12的補碼是11110100最後強調一點,計算機存儲數據用補碼形式來存儲。

40)位運算符都有哪些?

&與|或^異或~非>>右移<<左移>>>無符號右移

41)1<<35怎麼理解?

1是int類型是32位,所以需要把35%32=3,所以事實上是和執行1<<3等價的

42)數據類型轉換需要遵循什麼原則?

小類型向大類型轉換,是自動轉換的,或者說隱式轉換的大類型向小類型轉換,是需要強制轉換的,或者說顯式轉換例如:byteb=1;shorts=b;//自動轉換b=(byte)s;//強制轉換

43)byteb=10這個語句是正確的,爲什麼10是int型比byte大還不需要強制轉換呢?

因爲在java中做了特殊處理,其中規定byte,short,char類型可以直接賦予int類型的直接量,例如:byteb=10;shorts=10;charc=10;

以上賦值語句都是正確的。

但是不能超出超出類型的範圍,例如以下賦值就是錯誤的:byteb=128;如果超出範圍,必須得作強制轉換,例如以下語句是正確的:byteb=(byte)128;

需要強調的'是,必須是int類型的直接量,以下語句就是錯誤的:byteb=10L;

10L不是int類型的直接量。

44)byteb=(byte)300;強制轉換後的結果是44,是按照什麼規律得出來的?

是先把300轉換成二進制,然後根據byte類型的大小截取了後8個位300的補碼是00000000000000000000000100101100

b的結果是:00000000000000000000000100101100結果爲44

45)byteb=(byte)true;這個轉換成立嗎?

不成立,布爾值和數字是不兼容的,不能作任何轉換。

46)inti=(int)“100”;這個轉換成立嗎?

不成立,引用類型和基本類型是不能直接強制轉換的,需要用包裝類的方法來轉換。

47)char型和short型哪個比較大?

不能說哪個大,哪個小,這兩個類型char的取值是從0~65535,而short類型的取值是-32768~32767,這個兩個類型之間的轉換都需要強制轉換。

48)字符串是不是基本類型?

不是,String是包中的一個類,是引用類型的,8種基本類型中沒有一個是String類型。

49)空字符串用什麼來表示?

用””(兩個並列的雙引號)表示,代表0個長度的字符串對象。

50)Strings=“”;和Strings=null;有什麼區別?

第一個表示s被賦值,指向了一個字符串對象,第二個表示s沒有指向任何對象實例,是真空

51)兩個字符串用什麼運算符可以連成一個字符串?

用+運算符,例如”abc”+“xyz”最後的結果就是“abcxyz”

52)數學運算符加法和字符串連接符都是+,怎麼區分?

是通過運算符兩邊的操作數來判斷的,如果兩邊的操作數都是數字型的基本類型,則進行數學運算,如果兩邊的操作數有一個是字符串,則把另一個操作數也轉換爲則進行字符串連接運算。例如:

5+4的結果是9“5”+4的結果是54

53)判斷字符串內容相同用什麼方法?

用equals方法判斷內容相同,==只能判斷引用是否相同

54)提供用戶輸入使用哪個類

使用ner類

55)if語句可以用if(-1)形式判斷嗎?

不可以,數字不能代替布爾值

56)if語句和循環語句的花括號什麼時候可以省略?

當執行的語句只有一句的時候

57)switch語句有哪些規則?

表達式expr的返回值必須是下述幾種類型之一:int,byte,char,short或枚舉常量;

case子句中的值必須是常量,且所有case子句中的值應是不同的,也必須是下述幾種類型之一:int,byte,char,short或枚舉常量default子句是任選的;

break語句用來在執行完一個case分支後使程序跳出switch語句塊;

58)對於退出循環break和continue有什麼區別?

break是退出整個循環

continue是退出當前循環繼續下一次循環

59)聲明數組創建數組的方法?

以下聲明都是合法的:int[]a;inta[];String[]a;

以下創建數組對象都是合法的:int[]a=newint[3];int[]a={1,2,3};

int[]a=newint[]{1,2,3};

60)int[]x和String[]s這兩個數組對象,哪個是基本類型,哪個是引用類型?

兩個都是數組對象,都是引用類型的

61)數組元素下標最小是多少,最大是多少,超出範圍會怎麼樣?

最小是0,最大是數組元素個數減一,超出範圍將會出現下標越界異常

62)得到數組長度用length屬性還是length()方法?

是length屬性,得到字符串長度纔有length方法

63)聲明int[][]a=newint[3][],a是一個二維數組,a[0]本身是什麼類型的?

二維數組的元素都是一維數組,a[0]是int[]類型的

64)數組的大小一經創建可不可以改變大小了?

不可以,數組是定長的,一經創建就不能再改變大小了

65)可以把2個int型,3個double型,4個String型的值放到一個數組中嗎?

不可以,數組的元素類型必須是相同類型的。

66)java中的多維數組必須是要形成矩陣排列嗎?不一定,也可以是不規則的。

67)操作數組比較方便的實用類?

ys類提供了很多關於數組的實用方法。