亚洲欧美另类在线观看|国产成人午夜高潮毛片|国产精品丰满无码理论片|国产精品一区二区AV蜜芽|四虎亚洲国产成人久久精品|久久久久中文字幕亚洲精品|国产FREEXXXX性播放|国产精品无码aV一区二区三区

  • 鄭州北大青鳥首頁
  • 網(wǎng)站導航
  • 河南軟件與網(wǎng)絡工程師培養(yǎng)基地 河南擁有IT體驗館課程專業(yè)全、規(guī)模大校區(qū)河南多年連獲全國教學質(zhì)量獎2011-2019年獲北大青鳥總部榮譽獎
首頁 中心介紹 新聞動態(tài) 課程詳解 師資力量 專家講座 招生問答 學員活動 精彩專題 報名

學這些編程語言你還必須知道的幾種情況

2015-08-27 16:50 來源:鄭州北大青鳥
  Java的不斷發(fā)展要歸功于C、C++ 和C# 等編程語言的不斷挑戰(zhàn)。C++、C#和Java等編程語言基本上都來源于C語言但又有很多區(qū)別。業(yè)內(nèi)人士經(jīng)常將C比作爺爺,C++比做兒子,C# 和Java等語言比作孫子。
 
  對于變量聲明、參數(shù)傳遞、操作符、流控制等,Java使用了和C、C++、C# 相同的傳統(tǒng),而C++ 主要是對C的擴展并融入了面向?qū)ο蟮乃枷耄珻#和Java語言是純粹的面向?qū)ο蟮木幊陶Z言并吸收了C、C++ 語言的很多優(yōu)點,摒棄了很多缺點,但C#編程語言的運行依賴于Windows平臺,而Java語言不依賴于任何平臺,因此使得熟悉C、C++、C#的程序員能夠很方便地轉(zhuǎn)向Java編程。具體描述有如下幾點。 
 
  Java與C、C++對比
 
  1) 全局變量
 
  在Java編程的過程中,不能在類之外定義全局變量,如:
  public String name;    //錯,不能在類之外定義全局變量
  public class GlobalVar{
    public static global_var; //全局變量也叫成員變量或成員屬性
}
 
  要定義全局變量,只能通過在一個類中定義公用、靜態(tài)的變量來實現(xiàn)一個全局變量。在類GlobalVar中定義變量global_var為public static,使得其他類可以訪問和修改該變量。Java對全局變量進行了更好的封裝。而在C和C++ 中,依賴于不加封裝的全局變量常常造成系統(tǒng)的崩潰。
 
  2) 剔除goto關(guān)鍵字
 
  雖然在Java中將關(guān)鍵字goto保留了,但是Java不支持C、C++ 中的goto語句,而是通過異常處理語句try、Catch、final等來代替C、C++ 中用goto語句來處理遇到錯誤時跳轉(zhuǎn)的情況,使程序更易讀且更結(jié)構(gòu)化。
 
  3) 良好的指針控制
 
  指針是C、C++ 編程語言中最有魅力的特性,但它的超高使用難度加上超高靈活性,使得大部分程序員望而止步,在學習C、C++ 語言進行編程的過程中,通過指針所進行的內(nèi)存地址操作常常會造成不可預知的錯誤,同時通過指針對某個內(nèi)存地址進行顯式類型轉(zhuǎn)換后,可以訪問一個C或C++ 中的私有成員,從而破壞安全性,造成系統(tǒng)的崩潰。而Java語言對指針進行完全的控制,程序員不能直接進行任何指針操作,例如把整數(shù)轉(zhuǎn)化為指針,或者通過指針釋放某一內(nèi)存地址等。同時,數(shù)組作為類在Java中實現(xiàn),較好地解決了數(shù)組訪問越界這一問題。
 
  4) 自動內(nèi)存回收
 
  一般內(nèi)存資源有限,很容易被程序破壞。在C中,程序員通過庫函數(shù)malloc()和free()來分配和釋放內(nèi)存,在C++ 中則通過運算符new和delete來分配和釋放內(nèi)存。再次釋放已釋放的內(nèi)存塊或未被分配的內(nèi)存塊,會造成系統(tǒng)的崩潰;同樣,忘記釋放不再使用的內(nèi)存塊也會逐漸耗盡系統(tǒng)資源。而在Java中,所有的數(shù)據(jù)結(jié)構(gòu)都是對象,通過運算符new為它們分配內(nèi)存堆。通過運算符new可以得到對象的處理權(quán),而實際分配給對象的內(nèi)存可能隨程序運行而改變,Java對此自動地進行管理并且進行垃圾收集,有效防止了由于程序員的誤操作而導致的錯誤,并且更好地利用了系統(tǒng)資源。
 
  5) 固定的數(shù)據(jù)類型
 
  在C、C++ 語言中不同數(shù)據(jù)類型在不同的平臺上所占的位數(shù)不一樣,例如,int類型的數(shù)據(jù)在IBM PC中占16位,在VAX-II中占32位,這就導致了代碼的不可移植性。但在Java中,對于這些數(shù)據(jù)類型都采用國際統(tǒng)一字符編碼,即分配固定長度的位數(shù),例如,對int類型的數(shù)據(jù),它在任何機器上都占32位,這就保證了Java的平臺無關(guān)性。
 
  6) 嚴格控制數(shù)據(jù)類型轉(zhuǎn)換
 
  一種數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換成另外一種數(shù)據(jù)類型的數(shù)據(jù)時,常常會出現(xiàn)數(shù)據(jù)精度丟失的問題,在C、C++ 中,通過指針進行任意的數(shù)據(jù)類型轉(zhuǎn)換極不安全,而在Java中,運行時系統(tǒng)對對象的處理要進行類型相容性檢查,以防止不安全的轉(zhuǎn)換。
 
  7) 庫文件
 
  編程語言中豐富的庫文件能快速地開發(fā)出各種應用軟件。C、C++ 中用頭文件來聲明類的原型以及全局變量、庫函數(shù)等,在大的系統(tǒng)中,維護這些頭文件是很困難的。而Java不支持頭文件,類成員的類型和訪問權(quán)限都封裝在一個類中,運行時系統(tǒng)對訪問進行控制,防止對私有成員的操作。同時,Java中用import語句來與其他類進行通信,以便使用它們的方法。
 
  8) 類與結(jié)構(gòu)體和聯(lián)合體
 
  安全是一個永恒的話題。C、C++ 中的結(jié)構(gòu)體和聯(lián)合體中的所有成員均為公有,這就帶來了安全性問題。Java中不包含結(jié)構(gòu)體和聯(lián)合體,所有的內(nèi)容都封裝在類中。其實Java與C、C++ 編程語言還有很多的差別如:速度、內(nèi)部類、方法嵌入等,但總的來說Java提取了很多其他編程語言的優(yōu)點,使它更適合于大眾程序員的需求。
 
  2. Java與C# 對比
 
  Java語言是開放式的世界語言,基本源代碼都公開,而C# 作為Microsoft的一門主打語言也不甘示弱。一個開源,一個收費,它們兩者基本上都對C、C++ 深澀的語法和語義進行了改進。在語法方面,兩者都摒棄了const修飾、宏替換等;在繼承方面,兩者都采用更易于理解的單繼承和多接口實現(xiàn)方案;在源代碼組織方面,兩者都提出了聲明與實現(xiàn)于一體的邏輯封裝。
 
  Java與C# 的不同點主要體現(xiàn)在:C# 在Microsoft的支撐下提供了強大的Visual Studio開發(fā)平臺,可以極好地提高C# 程序的開發(fā)效率。而且C#更善于利用Windows平臺。Java的設計宗旨是獨立于任何平臺,因此自然不會提供太多的Windows特性。但這也正體現(xiàn)了Java語言的跨平臺優(yōu)勢。一般企業(yè)級應用,無法確定這個應用是在怎樣的平臺上運行。因而企業(yè)級開發(fā)一般選擇Java作為開發(fā)語言。
------分隔線----------------------------
欄目列表
聯(lián)系鄭州北大青鳥
  • 學校地址:鄭州市金水區(qū)文化路90號河南財經(jīng)政法大
  • 學文南校區(qū)1號樓(文化路與儉學街路交叉口文化路
  • 向北300米)
  • 咨詢熱線:0371-63383521 63383522
  • 6路,28路,966路到文化路與儉學街站下車
企業(yè)預訂人才熱線:0371-63383521
就業(yè)服電話:0371-55902629
教學監(jiān)督:0371-55690491
鄭州北大青鳥軟件學院地址:鄭州市文化路90號河南財經(jīng)政法
大學文南校區(qū)1號樓
傳真:0371-63383562 郵政編碼:450000
備案號:豫ICP備10022989號-2
版權(quán)歸 鄭州北大青鳥翔天信鴿IT學校
咨詢電話:0371-63383521 15225191462
北大青鳥鄭州翔天信鴿授權(quán)IT軟件學院
教育改變生活