計算機語言
計算機語言通常是一個能完整、準確和規則地表達人們的意圖,並用以指揮或控制計算機工作的“符號系統”。計算機語言的種類非常的多,總的來說可以分成機器語言,彙編語言,高級語言三大類。 電腦每做的一次動作,一個步驟,都是按照以經由計算機語言編好的程式來執行的,程式是計算機要執行的指令的集合,而程式全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。 通用的程式語言有兩種形式:彙編語言和高級語言。
![java與c java與c](/img/f/fbb/AZ2QTO4MTOiVmMmJTMkVzMmNmZlNmNiJWZwgjYmNTMyEDM5MTOlBDMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
java
與C語言
彙編語言是低級語言,能夠直接操作硬體,並且生成機器碼的效率高。但彙編對平台的依賴性強,可移植性差,開發效率低。而C語言則處於二者之間,移植性比較好,代碼效率也比較高,可以對部分硬體直接訪問。開發效率較高。寫得好的C代碼,可移植性是很好的,很多時候都不用修改或者只做少量修改。
Java簡介
java教程
![java與c java與c](/img/8/966/QZwUTYhJDNkRmM1ITO1MjNyAzY2gTN2UjZwETNjRTYxgjZiVGN0YDOvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
Java教程
Java語言其實最是誕生於1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網路的出現改變了OAK的命運。
在Java出現以前。Internet上的信息內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來說簡直不可容忍。他們迫切希望能在WEB中看到一些互動式的內容,開發人員也極希望能夠在WEB上創建一類無需考慮軟硬體平台就可以執行的應用程式,當然這些程式還要有極大的安全保障。對於用戶的這種要求,傳統的程式語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術套用於WEB上,並且開發出了HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發人員都想到:噢,這正是我想要的。於是Java成了一顆耀眼的明星,醜小鴨一下了變成了白天鵝。
Java的定義
Java是一種簡單的,面象對象的,分散式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優異的多執行緒的,動態的語言。
Java的開發環境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。後來微軟公司推出了支持Java規範的Microsoft Visual J Java開發環境,簡稱 VJ 。
Java語言的特點
Java與WEB
![java與c java與c](/img/5/c38/QZwQTY0MDOyEmM0QGZyYjMxcjYkJGO3QTOmlDZmBTM1MGNhFDOmFWZvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
Java與WEB
Java語言是一個支持網路計算的面向對象程式設計語言。Java語言吸收了
Smalltalk語言和C 語言的優點,並增加了其它特性,如支持並發程式設計、網路通信、和多媒體數據控制等。主要特性如下:
1、Java語言是簡單的。Java語言的語法與C語言和C 語言很接近,使得大多數程式設計師很容易學習和使用Java。另一方面,Java丟棄了C 中很少使用的、很難理解的、令人迷惑的那些特性,如
操作符重載、多繼承、自動的
強制類型轉換。特別地,Java語言不使用指針,並提供了自動的廢料收集,使得程式設計師不必為記憶體管理而擔憂。
2、Java語言是一個面向對象的。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,並支持類與接口之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C 語言只對虛函式使用動態綁定。總之,Java語言是一個純的面向對象程式設計語言。
3、Java語言是分散式的。Java語言支持Internet套用的開發,在基本的Java套用編程接口中有一個網路套用編程接口(java.net),它提供了用於網路套用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分散式套用的重要手段。
4、Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是Java程式健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
5、Java語言是安全的。Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類classloader),如分配不同的名字空間以防替代本地的同名類、位元組代碼檢查,並提供安全管理機制(類SecurityManager)讓Java套用設定安全哨兵。
6、Java語言是體系結構中立的。Java程式(後綴為java的檔案)在
Java平台上被編譯為體系結構中立的位元組碼格式(後綴為class的檔案), 然後可以在實現這個Java平台的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。
7、Java語言是可移植的。這種可移植性來源於體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
8、Java語言是解釋型的。如前所述,Java程式在
Java平台上被編譯為位元組碼格式, 然後可以在實現這個Java平台的任何系統中運行。在運行時,Java平台中的Java解釋器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
9、Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術的發展越來越接近於C 。
10、Java語言是多執行緒的。在Java語言中,執行緒是一種特殊的對象,它必須由Thread類或其子(孫)類來實現Runnable接口的對象包裝成一個執行緒,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為執行緒。值得注意的是Thread類已經實現了Runnable接口,因此,任何一個執行緒均有它的run方法,而run方法中包含了執行緒所要運行的代碼。執行緒的活動由一組方法來控制。 Java語言支持多個執行緒的同時執行,並提供多執行緒之間的同步機制(關鍵字為synchronized)。
11、Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程式需要的類能動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
C語言簡介
C語言教程
![java與c java與c](/img/8/2f8/AZ2ImNwUjY5gzM5IWZyMmM5YGZ4cjN1kzYlJ2NlBDOiZ2MxITMwgzMvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
C語言教程
C語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE” 一書。通常簡稱為《K&R》,也有人稱之為《K&R》標準。但是,在《K&R》中並沒有定義一個完整的標準C語言,後來由美國國家標準學會在此基礎上制定了一個C 語言標準,於一九八三年發表。通常稱之為ANSI C。 當代最優秀的程式設計語言 早期的C語言主要是用於UNIX系統。由於C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它作業系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的程式設計語言之一。 C語言的特點 C語言是一種結構化語言。它層次清晰,便於按模組化方式組織程式,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類複雜的數據結構。它還可以直接訪問記憶體的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體的開發,也適合於套用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。 C語言版本 最流行的C語言有以下幾種: ·Microsoft C 或稱 MS C ·Borland Turbo C 或稱 Turbo C ·AT&T C 這些C語言版本不僅實現了ANSI C標準,而且在此基礎上各自作了一些擴充,使之更加方便、完美。 面向對象的程式設計語言 在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C 。 C 進一步擴充和完善了C語言,成為一種面向 對象的程式設計語言。C 流行的最新版本是Borland C 4.5,Symantec C 6.1,和Microsoft VisualC 2.0。C 提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程式空間,為程式設計師提供了一種與傳統結構程式設計不同的思維方式和編程方法。因而也增加了整個語言的複雜性,掌握起來有一定難度。 C和C++ 但是,C是C 的基礎,C 語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C 就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。 C源程式的結構特點 為了說明C語言源程式結構的特點,先看以下幾個程式。這幾個程 序由簡到難,表現了C語言源程式在組成結構上的特點。雖然有關內容還未介紹,但可從這些例子中了解到組成一個C源程式的基本部分和書寫格式。main() { printf("c語言世界,您好! "); } main是主函式的函式名,表示這是一個主函式。每一個C源程式都必須有,且只能有一個主函式(
main函式)。函式調用語句,printf函式的功能是把要輸出的內容送到顯示器去顯示。printf函式是一個由系統定義的標準函式,可在程式中直接調用。 #include #include main() { double x,s; printf("input number: "); scanf("%lf",&x); s=sin(x); printf("sine of %lf is %lf ",x,s); } 每行注釋 include稱為檔案包含命令擴展名為.h的檔案也稱為頭檔案或首部檔案 定義兩個實數變數,以被後面程式使用 顯示提示信息 從鍵盤獲得一個實數x 求x的正弦,並把它賦給變數s 顯示程式運算結果 main函式結束 程式的功能是從鍵盤輸入一個數x,求x的正弦值,然後輸出結果。在main()之前的兩行稱為預處理命令(詳見後面)。預處理命令還有其它幾種,這裡的include 稱為檔案包含命令,其意義是把尖括弧""或引號內指定的檔案包含到本程式來,成為本程式的一部分。被包含的檔案通常是由系統提供的,其擴展名為.h。因此也稱為頭檔案或首部檔案。C語言的頭檔案中包括了各個標準庫函式的函式原型。
因此,凡是在程式中調用一個庫函式時,都必須包含該函式原型所在的頭檔案。在本例中,使用了三個庫函式:輸入函式scanf,正弦函式sin,輸出函式printf。
sin函式是數學函式,其頭檔案為math.h檔案,因此在程式的主函式前用include命令包含了math.h。scanf和printf是標準輸入輸出函式,其頭檔案為stdio.h,在主函式前也用include命令包含了stdio.h檔案。 需要說明的是,C語言規定對scanf和printf這兩個函式可以省去對其頭檔案的包含命令。所以在本例中也可以刪去第二行的包含命令#include。同樣,在例1.1中使用了printf函式,也省略了包含命令。 在例題中的主函式體中又分為兩部分,一部分為說明部分,另一部分執行部分。說明是指變數的類型說明。例題中未使用任何變數,因此無說明部分。C語言規定,源程式中所有用到的變數都必須先說明,後使用,否則將會出錯。這一點是編譯型高級程式設計語言的一個特點,與解釋型的BASIC語言是不同的。說明部分是C源程式結構中很重要的組成部分。本例中使用了兩個變數x,s,用來表示輸入的自變數和sin函式值。由於sin函式要求這兩個量必須是
雙精度浮點型,故用類型說明符double來說明這兩個變數。說明部分後的四行為執行部分或稱為執行語句部分,用以完成程式的功能。執行部分的第一行是輸出語句,調用printf函式在顯示器上輸出提示字元串,請操作人員輸入自變數x的值。第二行為輸入語句,調用scanf函式,接受鍵盤上輸入的數並存入變數x中。第三行是調用sin函式並把函式值送到變數s中。第四行是用printf 函式輸出變數s的值,即x的正弦值。程式結束。 printf("input number: "); scanf("%lf",'C10F10&x); s=sin(x); printf("sine of %lf is %lf ",'C10F10x,s); 運行本程式時,首先在顯示器螢幕上給出提示串input number,這是由執行部分的第一行完成的。用戶在提示下從鍵盤上鍵入某一數,如5,按下回車鍵,接著在螢幕上給出計算結果。 輸入和輸出函式 在前兩個例子中用到了輸入和輸出函式scanf和 printf,在第三章中我們要詳細介紹。這裡我們先簡單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個函式分別稱為格式輸入函式和格式輸出函式。其意義是按指定的格式輸入輸出值。因此,這兩個函式在括弧中的參數表都由以下兩部分組成: “格式控制串”,參數表 格式控制串是一個字元串,必須用雙引號括起來,它表示了輸入輸出量的數據類型。各種類型的格式表示法可參閱第三章。在printf函式中還可以在格式控制串內出現非格式控制字元,這時在顯示螢幕上將原文照印。參數表中給出了輸入或輸出的量。當有多個量時,用逗號間隔。例如: printf("sine of %lf is %lf ",x,s); 其中%lf為格式字元,表示按雙精度浮點數處理。它在格式串中兩次現,對應了x和s兩個變數。其餘字元為非格式字元則照原樣輸出在螢幕上 int max(int a,int b); main(){ int x,y,z; printf("input two numbers: ");scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d",z); } int max(int a,int b){ if(a>b)return a;else return b; } 此函式的功能是輸入兩個整數,輸出其中的大數。 /*函式說明*/ /*主函式*/ /*變數說明*/ /*輸入x,y值*/ /*調用max函式*/ /*輸出*/ /*定義max函式*/ /*把結果返回主調函式*/ 上面例中程式的功能是由用戶輸入兩個整數,程式執行後輸出其中較大的數。本程式由兩個函式組成,主函式和max 函式。函式之間是並列關係。可從主函式中調用其它函式。max 函式的功能是比較兩個數,然後把較大的數返回給主函式。max 函式是一個用戶自定義函式。因此在主函式中要給出說明(程式第三行)。可見,在程式的說明部分中,不僅可以有變數說明,還可以有函式說明。關於函式的詳細內容將在第五章介紹。在程式的每行後用/*和*/括起來的內容為注釋部分,程式不執行注釋部分。
上例中程式的執行過程是,首先在螢幕上顯示提示串,請用戶輸入兩個數,回車後由scanf函式語句接收這兩個數送入變數x,y中,然後調用max函式,並把x,y 的值傳送給max函式的參數a,b。在max函式中比較a,b的大小,把大者返回給主函式的變數z,最後在螢幕上輸出z的值。 C源程式的結構特點 1.一個C語言源程式可以由一個或多個源檔案組成。 2.每個源檔案可由一個或多個函式組成。 3.一個源程式不論由多少個檔案組成,都有一個且只能有一個
main函式,即主函式。 4.源程式中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源檔案或源程式的最前面。 5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函式頭和花括弧“}”之後不能加分號。 6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。 書寫程式時應遵循的規則從書寫清晰,便於閱讀,理解,維護的角度出發,在書寫程式時 應遵循以下規則: 1.一個說明或一個語句占一行。 2.用{} 括起來的部分,通常表示了程式的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨占一行。 3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程式的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。 C語言的字元集 字元是組成語言的最基本的元素。C語言字元集由字母,數字,空格,標點和特殊字元組成。在字元常量,
字元串常量和注釋中還可以使用漢字或其它可表示的圖形符號。 1.字母 小寫字母a~z共26個,大寫字母A~Z共26個 2.數字 0~9共10個 3.空白符 空格符、制表符、換行符等統稱為空白符。空白符只在字元常量和字元串常量中起作用。在其它地方出現時,只起間隔作用, 編譯程式對它們忽略。因此在程式中使用空白符與否,對程式的編譯不發生影響,但在程式中適當的地方使用空白符將增加程式的清晰性和可讀性。 4.標點和特殊字元 C語言辭彙 在C語言中使用的辭彙分為六類:標識符,關鍵字,運算符,分隔設定,常量,注釋符等。 1.標識符 在程式中使用的變數名、函式名、標號等統稱為標識符。除庫函式的函式名由系統定義外,其餘都由用戶自定義。C 規定,標識符只能是字母(A~Z,a~z)、數字(0~9)、下劃線()組成的字元串,並且其第一個字元必須是字母或下劃線。 以下標識符是合法的: a,x, 3x,BOOK 1,sum5 以下標識符是非法的: 3s 以數字開頭 s*T 出現非法字元* -3x 以減號開頭 bowy-1 出現非法字元-(減號) 在使用標識符時還必須注意以下幾點: (1)標準C不限制標識符的長度,但它受各種版本的C 語言編譯系統限制,同時也受到具體機器的限制。例如在某版本C 中規定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。 (2)在標識符中,大小寫是有區別的。例如BOOK和book 是兩個不同的標識符。 (3)標識符雖然可由程式設計師隨意定義,但標識符是用於標識某個量的符號。因此,命名應儘量有相應的意義,以便閱讀理解,作到“顧名思義”。 2.關鍵字 關鍵字是由C語言規定的具有特定意義的字元串,通常也稱為保留字。用戶定義的標識符不應與關鍵字相同。C語言的關鍵字分為以下幾類: (1)類型說明符 用於定義、說明變數、函式或其它數據結構的類型。如前面例題中用到的int,double等 (2)語句定義符 用於表示一個語句的功能。如例1.3中用到的if else就是條件語句的語句定義符。 (3)預處理命令字 用於表示一個預處理命令。如前面各例中用到的include。 3.運算符 C語言中含有相當豐富的運算符。運算符與變數,函式一起組成表達式,表示各種運算功能。運算符由一個或多個字元組成。 4.分隔設定 在C語言中採用的分隔設定有逗號和空格兩種。逗號主要用在類型說明和函式參數表中,分隔各個變數。空格多用於語句各單詞之間,作間隔符。在關鍵字,標識符之間必須要有一個以上的空格符作間隔, 否則將會出現語法錯誤,例如把int a;寫成 inta;C編譯器會把inta當成一個標識符處理,其結果必然出錯。 5.常量 C語言中使用的常量可分為數字常量、字元常量、字元串常量、符號常量、轉義字元等多種。在第二章中將專門給予介紹。 6.注釋符 C 語言的注釋符是以“/*”開頭並以“*/”結尾的串。在“/*”和“*/”之間的即為注釋。程式編譯時,不對注釋作任何處理。注釋可出現在程式中的任何位置。注釋用來向用戶提示或解釋程式的意義。在調試程式中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調試結束後再去掉注釋符。
C語言的特點
C語言專業教程
![java與c java與c](/img/4/686/AZ2kjNyYTNkJzYmRDM1gTOwEjMwUWYjVWMkZzM3UGN1MWZidTZwkjYvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
C語言專業教程
1. 簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程式書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象彙編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。
2. 運算符豐富
C的運算符包含的範圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3. 數據結構豐富
C的數據類型有:整型、實型、字元型、數組類型、指針類型、
結構體類型、共用體類型等。能用來實現各種複雜的數據類型的運算。並引入了指針概念,使程式效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
4. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化,即程式的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程式層次清晰, 便於使用、維護以及調試。C語言是以函式形式提供給用戶的,這些函式可方便的調用,並具有多種循環、條件語句控制程式流向,從而使程式完全結構化。
5. C語法限制不太嚴格、程式設計自由度大
一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程式編寫者有較大的自由度。
6. C語言允許直接訪問物理地址,可以直接對硬體進行操作
因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象彙編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。
7. C語言程式生成代碼質量高,程式執行效率高
一般只比彙編程式生成的目標代碼效率低10へ20%。
8. C語言適用範圍大,可移植性好
C語言有一個突出的優點就是適合於多種作業系統, 如DOS、UNIX,也適用於多種機型。
與c語言比較
計算機語言之精華
![java與c java與c](/img/5/737/AZ2gjN1MTN4IjN1QmMjNGN4cDMygjYkdTZyYmMxQmNzcTZ0UzYlF2NvMWaw9SbvNmLz9mYlNmYu4GZj5yZtl2ai9yL6MHc0RHa.jpg)
計算機語言之精華
*Pascal、C和C 這些廣為編程人員熟悉的程式語言,為編程人員在實際開發工作中提供了理想的功能,和這些語言的功能相比,Java似乎更勝一籌。Java的結構無關性、真正的面向對象和與Internet的協
同工作等特性比上述任何一種語言更顯得完善。Java的許多術語來自於C ,其語法也來自於C 。Java比C/C 易學、易用,且有強大的內建功能。當Java在編程領域得到廣泛套用後,C 將可能退出歷史舞台
,因為Java能做C 的所有事情,同時,Java的代碼可以重用。Java的主要缺點是解釋執行,所以,C 的性能仍是較為突出的。然而,由於C
即時編譯器(Just-intime Compiler)的開發,這一性能的溝壑也隨之
填平了。下面我們討論Java和C/C 的詳細區別。
*指針
指針包含變數的地址,指針在C 編程過程中可能引起許多錯誤,容易造成記憶體崩潰。C 程式設計師構造動態數據時使用的複雜的指針算法造成許多複雜的錯誤,致使浪費了大量的時間。考慮到這種原因,Java的創造者取消了指針。指針的功能由參考(reference)所取代,通過參考,Java可以遍歷所有的對象和數組。Java並沒有因為缺乏指針而使得複雜數據結構的實現變得困難,實際上,在Java中這種複雜數據結構的實現更加容易,因為用對象和對象數組實現複雜的數據結構更為可靠。
*函式
Java沒有函式,但是Java的類和方法能夠實現C/C 用函式實現的任何任務。C語言編程人員希望在標準庫中找到的函式,Java用各種類 的靜態方法來實現。例如,三角函式是作為Math類的靜態方法來實現的,作為一種靜態方法,用戶不一定必須創建一個Math對象使用它們。
*多重繼承
雖然多重繼承是C或C 語言從多個父類中派生一個類的有效方法,但是由於這種派生很複雜,因而也很容易產生問題。正是由於這種原因,Java的開發者沒有採用多重繼承,Java的類似ObjectiveC協定的接口能夠完成C 中多重繼承能夠完成的所有任務。
*Goto語句
在Java中為了簡單也沒有採用C 語言中的goto語句,因此Java可以不關心與goto語句有關的規則。Java中的多重break和continue能夠實現C 語言中goto語句的功能。
*聯合和結構
在C 語言中有三種複雜的數據類型:聯合、結構和類;而在Java中只採用了類,其中在C 中用聯合和結構實現的工作,Java都用類來實現。
*字元串
Java將字元串作為一級對象、String和StringBuffer,這與缺乏 對文本字元串內建支持的C和C 是不同的。為了實現這種字元串,C或 C 的程式設計師通常採用字元串數組。Java的字元串更具有一致性和可 預測性,因為在Java中它們可以實現運行時檢測,更容易避免錯誤。
在Java中,程式設計師不再重載標準的算術操作符,操作符重載在C語言中是一個重要的特性,而在Java中通過類實現了創建並行功能(parallelfuntionality)。 *Typedef、define或預處理器Java原始碼很簡單,它不需要#define語句、預處理器或者typedef。Java語言去掉了typedef和define,但需要頭檔案。此外,Java語言派生了來自於源檔案的其他類及其方法的定義。與C和C 不同,有關Java一個類的信息必須包含在一個檔案中,而C和C 的有關類的信息可能分散在一個頭檔案及多個代碼檔案中。*數據類型自動強制轉換
*Java語言不允許數據類型的自動強制轉換。
在C 中編程人員可 以給一個變數賦值,但賦給該變數的值可能由於變數套用環境的不同 而導致丟失。在Java中強制一種類型的數據元素成為一種不太精確的數據類型需要編程人員採用預測方法。*命令行變數 Java運行時系統允許命令行變數的傳遞。這種語法和C語言的語法有些類似,但程式名並不在變數列表中,因為它的名字和它的類一樣.