學(xué)java需要先學(xué)c語言嗎?對于初學(xué)者來說,你可能經(jīng)常會聽到這樣的關(guān)于 Java 和 C 語言的問題。雖然很多人說C語言是基礎(chǔ),但是很多人還是在學(xué)習(xí)Java,所以我們來系統(tǒng)分析一下,Java和C語言有什么關(guān)系,初學(xué)者應(yīng)該如何選擇性地學(xué)習(xí)。
學(xué)java需要先學(xué)c語言嗎?
可以不要,Java是一門面向?qū)ο蟮恼Z言而C是一門面向過程的語言,有些人之所以選擇先學(xué)C再學(xué)Java,其主要是因?yàn)镴ava和C有許多語法相似的地方,如果C語言入門,學(xué)java就會簡單一點(diǎn)。
一直都說學(xué)Java要先學(xué)C語言,其實(shí)這不是必須的。先學(xué)C語言的原因大概有以下幾點(diǎn):
1、學(xué)C語言就是學(xué)Java,因?yàn)镃語言中至少80%的語法知識都是Java繼承的。 Java剛?cè)腴T的前半部分,比如數(shù)據(jù)類型、變量、流控、數(shù)組、函數(shù),這些知識幾乎和C語言一模一樣。
2、C語言是面向過程語言的代表。學(xué)好 C 語言有助于在 Java 中學(xué)習(xí)面向?qū)ο蟮乃枷搿H缜八觯绻阆胫朗裁词敲嫦蜻^程,什么是面向?qū)ο螅惚仨氂幸粋€比較。學(xué)完C語言,再學(xué)Java的函數(shù),你會發(fā)現(xiàn)它們的語法規(guī)則完全一樣,但用法卻完全不同。如果直接學(xué)Java,會覺得應(yīng)該那樣使用它,所以你將無法深入理解什么是面向?qū)ο蟆?/p>
3、C語言中最重要的就是指針。 C語言中有兩個知識點(diǎn)可以說是它獨(dú)有的,一個是函數(shù),一個是指針。 C語言中的指針是理解Java中“引用”的基礎(chǔ)! Java中引用的本質(zhì)是指針。如果你不了解指針,你可能對Java中的“引用”沒有深入的了解。
雖然我已經(jīng)說了很多先學(xué)習(xí)Java的好處,但我還是需要先學(xué)習(xí)C語言。但是不學(xué)C語言就學(xué)Java不好嗎?
其實(shí)不是。 C語言和Java是兩種完全不同的語言。一種是過程式編程,另一種是面向?qū)ο蟮木幊獭km然說如果前期學(xué)過C語言,說不定還能上手Java這更容易。畢竟接觸過編程,有些變量和函數(shù)(Java中稱為方法)是可以理解的。不過,即使沒有學(xué)過,也相對容易。可能是前期理解速度的差異,對于后者,沒有區(qū)別。
而且這個不會受到C語法的影響,因?yàn)镃語言和Java并不完全一樣,至少Java中沒有直接的指針(改名引用),學(xué)習(xí)C語言需要學(xué)習(xí)一些數(shù)據(jù)結(jié)構(gòu)的知識而且算法學(xué)Java也沒那么麻煩。你可以學(xué)一點(diǎn)。 Java 中的 API 將幫助您做好這件事。在C語言中,你需要通過一個函數(shù)來實(shí)現(xiàn)的函數(shù)可能是Java。只需調(diào)用 API 方法即可。如果想學(xué)Java,可以直接學(xué)。最好花更多的時間在同一種語言上,而不是學(xué)習(xí)兩種語言,這可能對每個人都學(xué)習(xí) Java 更好。
在小編看來,Java和C語言雖然有一些密切的關(guān)系,Java的底層是用C語言寫的,但是從另一個方面來說,兩者的關(guān)系并不是很大,語法不同,在語言在設(shè)計(jì)和不同專業(yè)領(lǐng)域也存在一些差異。那么學(xué)java需要先學(xué)c語言嗎?一般來說,學(xué)Java不一定要先學(xué)C語言,不學(xué)C語言也能學(xué)好Java。更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢想。