Ⅰ 學JAVA前一定要先學c語言嗎
沒必要先學c。
java作為一個在語法上深受c語言影響的高級語言,你先學了一些c語言,再學java,對語法的學習更快。但如果你深入的學了c,或者說對c學的越來越多,越來越好,而你的java則會越來越不好。為什麼呢,因為這兩個語言僅僅是語法上有一些相似,卻是不同的兩門語言,在編程思想上就完全不同。隨著你的思維越來越靠近c語言的編程思想,你的java編程思想就會越來越偏離。要知道c語言是面向過程的。而java則是純面向對象的。雖然說c裡面的結構體已經有了面向對象的雛形,但仍然差別很大。其它如內存管理,設計模式,位元組碼,運行平台等等,都是完全不同的。
我個人兩種語言都會,最初寫c,後來寫java時,各種想法跟不上。但在長時間寫java後,再回去寫c,就會感覺到各種的不爽。所以,我覺得,如果你對c語言還有興趣,並且以後可能會用的到的話,可以稍稍看看c語言的知識。但如果你想要以java為主的話,我建議c語言不需要深入的學習。
我對這兩門語言並沒有任何的偏見,c作為一個對後代語言影響深遠的語言,其強大之處是不可否定的。現在主要在做底層開發;java語言作為一個站在語言使用率頭榜10數年的霸主,其強大的特性與類庫,也是顯而易見的。現在java語言目前99%都是做web開發上。而且拿來做桌面小應用也非常合適。
綜上,你想學java,不先學c是完全可行的。當然稍微學一點,再學java可能會快一點,但你學c的時間也足以抵消這點優勢了。我個人認為不先學c不會有任何的影響。
純手打,以上僅代表我個人觀點。
Ⅱ 學java需要學習c語言嗎
當然是有用的,c是基礎語言,是地基,可以先學c
Ⅲ 學JAVA還需要有C語言和C++的基礎嗎
不需要,基礎都差不多
Ⅳ 我想學JAVA,請問需要什麼基礎我學過C語言。
每門新的語言都是新的開始,就好像我問你學C要什麼基礎你該怎麼回答?如果真的要我說的話,要3個基礎:
第一,多動手
第二,要勤奮
第三,能堅定信念,也就是你下定決心就不要回頭,有些新手聽說XX流行就學XX,過了段時間又聽說AA有前途然後就轉向AA
Ⅳ 為什麼學習JAVA一定要有C語言基礎,沒有C基礎可以學不
沒有關系的,只要知道最基本的if else 等語法基礎就行了.其他跟c沒什麼大的聯系.c是面向過程的語言,而java是面向對象的語言.放心學吧
Ⅵ 學JAVA應該怎麼學,要先學C語言嗎
優勢:
有c的基礎再學java,java的基本的語法部分基本可以跳過,直接進入面向對象的學習。
c語言學的好的話,對os,computer arch,compiler都會有些研究。對整個計算機基礎知識的理解都會有很大幫助。對日後能系統性的解決問題也有很大幫助。其實,這也跟c和java本身適合的場景不同有關系。我用c主要是直接操作硬體或者是os,所以也必須要去理解arch,os, networki的東西。但是java就很少能碰到這些需求。
c對於初學者來說,學習曲線還是很陡峭的。剛入坑的小夥伴理解指針就要花好久時間。我自己也是寫了個內存管理器之後才對指針比較有把握。
Java 面向對象的語言,你可以一開始寫代碼的時候就培養software engineering的思想。相比之下,寫c的話,這方面可能更需要自己覺悟或者有人帶領了。
Java 相對來說完成一個小問題會更輕鬆些,只是不會大把時間花在內存泄漏的調試上。
劣勢:
所以吧,先學c的優勢要你學的時間比較長而且學的很深入才能體現出來。你可看看現在自己的狀態,能不能支付的起這個時間成本。要不然還是先解決手中的問題是王道。沒學c拉下東西以後再補唄(雖然也不一定有機會)。
Ⅶ 0基礎自學先學java好還是c語言好
這個要看你的具體情況,本人大學學過C語言,也自學過java,具體來說:入門來說,學C語言比較簡單,而且容易理解,它的每個指令都是很明確的,除了個別概念容易混淆外,其他基本都是比較容易理解的,但是如果要深入的話,就要麻煩了,C語言通常更適合用在系統編碼上,或者是在單片機,嵌入式系統中更合適;而java,應該說語法也不難,但是要學很多的函數,對象;C語言雖然也有很多函數方法,但是沒有java的全面;總的來說就是:前期C語言簡單,後期java簡單;舉個例子,如果你現在需要一個冰箱,那麼用C語言的方式,你需要買來一堆原材料,各種工具等等,從頭開始製造冰箱;而java的方式則是,你只需要買來成型的壓縮機,冰箱門,抽屜等等然後組裝起來就行了。所以C語言用在那種一旦完成能持續應用並較少修改的項目工程中,如系統;而java則用在各種個性化網路編程的工程中,用來對前後台系統進行增刪改查。
純手工打造,就這樣了
Ⅷ 學習java需要先學習C語言么
一般學校的課程是這樣的.這是因為牽扯到演算法,數據結構等問題.雖然java是面向對象的,但是最基礎的構成還是棧,堆什麼的.學了C以後好入門
Ⅸ 可以直接學JAVA么 學編程必須學C語言嗎
java可以零基礎學,學過c語言學在學java速度會特別快。
Ⅹ 我想學習java需要先學習c語言嗎因為我基本上是零基礎的!
可以不一定要學習C語言,首先C語言和Java完全是不同的兩種語言,一種是面向過程編程的,一種是面對對象編程的。只不過你學習C語言以後會對你學習java有幫助,畢竟你有過編程的經驗。
拓展資料
java的語言特點java
簡單性
Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。
面向對象
Java是一個面向對象的語言。對程序員來說,這意味著要注意應中的數據和操縱數據的方法,而不是嚴格地用過程來思考。在一個面向對象的系統中,類是數據和操作數據的方法的集合。數據和方法一起描述對象的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。
分布性
Java設計成支持在網路上應用,它是分布式語言。Java程序只要編寫一次,就可到處運行。
編譯和解釋性
Java編譯程序生成位元組碼(byte-code),而不是通常的機器碼。Java位元組碼提供對體系結構中性的目標文件格式,代碼設計成可有效地傳送程序到多個平台。Java程序可以在任何實現了Java解釋程序和運行系統(run-time system)的系統上運行。
穩健性
Java原來是用作編寫消費類家用電子產品軟體的語言,所以它是被設計成寫高可靠和穩健軟體的。Java消除了某些編程錯誤,使得用它寫可靠軟體相當容易。
安全性
Java的存儲分配模型是它防禦惡意代碼的主要方法之一。Java沒有指針,所以程序員不能得到隱蔽起來的內幕和偽造指針去指向存儲器。更重要的是,Java編譯程序不處理存儲安排決策,所以程序員不能通過查看聲明去猜測類的實際存儲安排。編譯的Java代碼中的存儲引用在運行時由Java解釋程序決定實際存儲地址。
可移植性
Java使得語言聲明不依賴於實現的方面。例如,Java顯式說明每個基本數據類型的大小和它的運算行為(這些數據類型由Java語法描述)。Java環境本身對新的硬體平台和操作系統是可移植的。Java編譯程序也用Java編寫,而Java運行系統用ANSIC語言編寫。
高性能
Java是一種先編譯後解釋的語言,所以它不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設計者製作了「及時」編譯程序,它能在運行時把Java位元組碼翻譯成特定CPU(中央處理器)的機器代碼,也就是實現全編譯了。
多線索性
Java是多線索語言,它提供支持多線索的執行(也稱為輕便過程),能處理不同任務,使具有線索的程序設計很容易。Java的lang包提供一個Thread類,它支持開始線索、運行線索、停止線索和檢查線索狀態的方法。
動態性
Java語言設計成適應於變化的環境,它是一個動態的語言。例如,Java中的類是根據需要載入的,甚至有些是通過網路獲取的。