導航:首頁 > 編程語言 > javac語言和c區別

javac語言和c區別

發布時間:2022-10-04 10:27:59

java/c跟c++可以同時學嗎

當然可以,但是不建議。
第一,C/C++和JAVA的語法的相似度很高,但是他們的運行機制是完全不一樣的。初學者很容易混淆。比如C/C++裡面有指針的概念,而且指針在不用的時候需要通過free或者delete來收回。但是Java有垃圾回收機制,而不必手動回收指針。(初學者很有可能受到JAVA的影響,在C/C++裡面申請了指針,而最後忘記回收)。
第二,C++和JAVA是面向對象的編程語言,而C是面向過程的。此二者之間的差異也會讓同時學習這三種語言的初學者感到迷茫。
第三,JAVA和C++已經封裝了好多基本數據結構(鏈表,棧,映射等)和基本演算法(排序等),而C只提供了最底層的功能。如果同時學習三者,在你需要用C語言寫程序而又需要用到一些數據結構和演算法的時候會感到不適應。

所以我的建議是,先學習和掌握C語言,再同時學習C++和JAVA。

Ⅱ java 和javac的區別

javac和java命令行中的-classpath選項
這是個很基礎的問題,但是因為基本上都是用現有的IDE工具 來開發java程序,所以很少有人意識到這一點。
javac
-classpath,設定要搜索類的路徑,可以是目錄,jar文件,zip文件(裡面都是class文件),會覆蓋掉所有在CLASSPATH裡面的設定。
-sourcepath, 設定要搜索編譯所需java 文件的路徑,可以是目錄,jar文件,zip文件(裡面都是java文件)。
所以一個完整的javac命令行應該是這樣的,
假設abc.java在路徑c:\src裡面,在任何的目錄的都可以執行以下命令來編譯。
javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java

表示編譯需要c:\classed下面的class文件,c:\jar\abc.jar裡面的class文件,c:\zip\abc.zip裡面的class文件
還需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar裡面的源文件,c:\source\project3\lib\src.zip裡面的源文件,
注意:jar,zip裡面的源文件不會有什麼改動,目錄下的源文件,有可能會被重新編譯。
java
-classpath, 設定要搜索的類的路徑,可以是目錄,jar文件,zip文件(裡面都是class文件),會覆蓋掉所有的CLASSPATH的設定。
由於所要執行的類也是要搜索的類的一部分,所以一定要把這個類的路徑也放到-classpath的設置裡面。
表現在,在要執行的類的路徑裡面執行java時,一定要添加上點號(.)標示本目錄也要搜索。

假設abc.class在路徑c:\src裡面
可以在任何路徑下執行以下命令
java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc

問題:如果main.class屬於c:\jar\abc.jar,並且在com.cnblogs.jeffchen這個包里,那麼執行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多個jar包呢?並且其他jar包中也有com.cnblogs.jeffchen會發生什麼情況?錯誤?

在windows下,
文件路徑的分割符為反斜杠 \
類或者java文件列表的分割符為分號 ;

linux
文件路徑的分隔符位斜杠 /
類或者java文件列表的分隔符為冒號 :

一個linux下編譯和運行的例子
/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java

/usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability

Ⅲ java 和javac的區別

javac是把你寫的java代碼編譯成計算機能識別的內部代碼。
java是執行這段內部代碼。

Ⅳ Java和C語言有什麼區別

從概念上看,C語言是一門面向過程、抽象化的通用程序設計語言;Java是一門面向對象編程語言,而Java語言是從C語言衍生而來,它吸收了C++語言的各種優點,並且摒棄了C++里難以理解的多繼承、指針等概念。從概念可以看出C語言相當於Java的基礎語言,學完C再學Java會更容易。

從應用領域上,C語言和Java的應用領域幾乎沒有重合。因為隨著這幾年Java、web、PHP等語言的出現,它們憑借比C更簡潔的、更安全的性能快速崛起,搶佔了大量的市場。目前因為Java有完善的框架,在多線程、高並發方面有著較好的穩定性,所以Java主要應用於企業級應用開發、大型系統開發等領域。而C語言由於編程的復雜性,退守到了系統級別語言,而且因為想要系統級軟體可以發揮出機器的功能,它的底層核心就需要用C/C++來編寫,所以C語言主要應用於軟體工業。

Ⅳ c語言和java哪個難

肯定是JAVA比較實用啦。。 學JAVA是為了要去開發東西了,比較實用。。而用C來開發是很少的。。而且很難。。 而且C是面向過程的語言。。對現實生活的處理與我們正常處理的思路不是很一致。。所以用來開發東西很難。。而JAVA是面向對象的。。與我們處理生活的思路相同。。開發東西也較好。 這么比喻:學C只是讓你知道什麼叫編程。。讓你大概懂得編程的基本思想。。。 但是從C轉到JAVA也不是那麼容易的。。最難改變的就是從過程到對象的改變。。而能不能學好JAVA也是看你能不能適應面向對象的開發。。。 但是你如果沒有學C。。就一下子學JAVA。。相對來說會比較吃力一點。。 建議你去先學C..第一,C就基礎知識來說,比JAVA簡單。。學C只要學他個大概。。基本語法了解一下就可以了。。不用學的很精。。 相信我。。先學C也相當於在學JAVA。。絕對不是白學。。因為JAVA和C的語法很相似。。。 最後。。祝你成功咯~~~加油!!

Ⅵ javac與java的區別是什麼

javac 可以將java源文件編譯為class位元組碼文件
如 javac HelloWorld.java

運行javac命令後,如果成功編譯沒有錯誤的話,會出現一個HelloWorld.class的文件。

java 可以運行class位元組碼文件
如 java HelloWorld

注意java命令後面不要加.class

Ⅶ Java和C的區別

Java和C都是指令式語言(Imperative Language),不同的是Java有面向對象(OO)成分在裡面,而C是完全面向過程的,C的高級版本C++、C#支持面向對象。

另外一個不同是,Java跨平台,既不同的操作系統都可以通過JVM來解釋Java程序,而C、C++、C#則是與平台相關的,有些指令只在某些操作系統中才能執行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然後放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然後才能運行。

再一個不同是,Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平台的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什麼Java中只有線程(Thread)概念而沒有進程(Process)概念,而C兩者均有。

再者,Java無法對內存進行控制,而C則可以通過指針對內存進行人為分配。
還有一點,Java有Gabbage Collection機制,可以自動回收不再使用的空間,而C則要用free()函數釋放空間。

Ⅷ 問javac java jdk jdbc的區別

javac 是java程序編譯器,就是一個普通的可執行文件

java 是一門開發語言。。
JDK 是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一堆Java工具和Java基礎的類庫(rt.jar)。
JDBC, 全稱為Java DataBase Connectivity standard, 它是一個面向對象的應用程序介面(API), 通過它可訪問各類關系資料庫。JDBC也是java核心類庫的一部分。

回答完畢,滿意請採納,謝謝。

Ⅸ Java和C++在編譯和運行上有什麼區別

在語法層面上,C++與Java十分相似,Java語言的設計與C++有著很密切的聯系。
但卻有著許多的不同,最大的不同,可以說是編譯和運行了。
高級語言寫出來的代碼,最終都會變為機器碼,計算機才能識別。
匯編與機器碼最接近,C++與Java都會直接或間接編程匯編以後,再運行。
C++經編譯器(Unix下CC命令,Windows下CL命令)把源碼直接編譯成計算機可以認識的機器碼,如exe,dll等文件。

Java源文件都需要用javac命令將源碼編譯為class文件,但是這個class文件無法被計算機直接識別,但可以被JVM即Java虛擬機識別。
運行Java程序時,先啟動一個虛擬機,虛擬機載入class文件,方可執行。
這樣,同樣的代碼被編譯為同樣的class文件,也稱作位元組碼,在不同的平台上,運行同樣的位元組碼,這樣,Java跨平台的特性就顯示出來了!而C++則辦不到。

Ⅹ javac與java的區別

javac用來編譯java文件,java用來執行。
1,javac命令用來編譯java文件,例如編寫一個Test.java文件,使用javac Test.java可以執行編譯操作,將生成一個Test.class文件。

2,java命令可以執行生成的class文件,使用java Test可以執行編寫的代碼。

閱讀全文

與javac語言和c區別相關的資料

熱點內容
加好友伺服器繁忙是怎麼回事 瀏覽:377
怎麼解綁app的支付寶賬號 瀏覽:911
ip地址伺服器不可用怎麼解決方法 瀏覽:183
為什麼軟體需要伺服器 瀏覽:63
redis操作命令大全 瀏覽:597
python字元串重復索引 瀏覽:961
為什麼香信新版本連接不上伺服器 瀏覽:50
元旦程序員打羽毛球 瀏覽:614
otc焊接機器人離線編程教學 瀏覽:412
51單片機的ea引腳有何用途 瀏覽:207
centos查看用戶命令 瀏覽:840
程序員臉胖 瀏覽:744
hdfs在主目錄下創建文件夾 瀏覽:800
股票選股器源碼公式如何弄 瀏覽:31
伺服器如何使用在微信上 瀏覽:328
app登不了是怎麼回事 瀏覽:254
dd命令u盤 瀏覽:570
單片機生日快樂程序 瀏覽:893
安卓手機連車載的叫什麼 瀏覽:223
怎麼讓自己的手機鍵盤變得好看app 瀏覽:53