亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問C語言,C++語言,Java語言有什么區別?

請問C語言,C++語言,Java語言有什么區別?

有只小跳蛙 2019-09-02 09:05:53
C語言,C++語言,Java語言有什么區別
查看完整描述

3 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

相同的地方:
1、語法類似:
由于Java可以算是從C++發展而來的,因此Java與C語言的語法比較類似
2、編程的熟練程度就是對語言程序庫的掌握程度:
從某種程度上來說,編程語言都是由語法和相應的程序庫所構成,Java有自身的類庫,C語言則有標準庫。所謂的編程,就是使用與語法來調用和組合程序庫中的函數。
不同的地方:
1、內存管理
在Java中,基本不用考慮內存的問題,如果想用一個對象,new一個就可以,這個過程的背后則是JRE為對象分類的一定內存,當JRE發現你不再使用這個對象的時候,他就會自動回收內存,也就是說你只管借東西,不用管歸還,因為與有人當你的跟班,在你不使用的時候就把東西歸還了,不過這個過程還是有的,只不過是JRE作的而已。
但是C則不同,如果你想用,你可以用malloc之類的方法申請內存,當你使用完了,因為沒有跟班的,你需要自己把這塊內存歸還回去,也就是調用free方法來完成這個任務。由于需要顯式的歸還內存,因此當一個函數需要將一塊內存返回給調用者的時候,問題就比較復雜了,不如面向對象和具有內存回收功能的Java那么直觀了。對于這個問題,在C語言中,有幾種解決方案:
(1) 在調用者中先分配好內存,作為參數傳入到被調用的函數中
(2) 在被調用的函數中分配,使用完后在調用者中釋放
(3) 在被調用函數中使用static變量,可以將該變量返回
2、面向對象
Java的面向對象的特點很明顯,而C則是一個地道的結構化語言。 Java中有一個字符串類String, 通過調用 String.length()就可以知道字符串的長度,但是在C語言中,則需要調用函數strlen(str)來得到字符串(字符數組)的長度。由于C不是面向對象的語言,也就沒有this的概念,因此當使用一個與某個“東西”相關的函數時,就需要不厭其煩的將代表這個“東西”的變量作為參數傳遞進去。
3、名稱空間
Java通過包(package)來實現名稱空間,在C語言中,所有的函數都處于同一名稱空間,也就是沒有名稱空間,因此就會很多程序提供的api接口函數都有一個前綴,例如MYSQL的mysql_init(), mysql_real_connect(), mysql_real_query()等函數名稱前面的mysql_。



查看完整回答
反對 回復 2019-09-07
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

java是在C++的基礎上修改一些內容得到的,還是屬于類c++語言
比如:java去掉了指針類型;沒有無符號數據類型;char類型是雙字節的;數組的寫法和管理;等等

查看完整回答
反對 回復 2019-09-07
  • 3 回答
  • 0 關注
  • 1169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號