學(xué)習(xí)C語言就是在學(xué)習(xí)Java,因為C語言中至少80%的語法知識都被Java繼承了。Java剛開始的前半部分,如數(shù)據(jù)類型、變量、流程控制、數(shù)組、函數(shù),這些知識同C語言幾乎是一模一樣的。
學(xué)Java需要c語言基礎(chǔ)嗎?對于初學(xué)者來說可能常常聽到關(guān)于Java和C語言這樣疑問。雖然很多人都說C語言是基礎(chǔ),但是照樣有很多人是從Java學(xué)起的,那么下面小編來系統(tǒng)分析一下,Java和C語言到底是什么關(guān)系,初學(xué)者又該怎樣選擇性的學(xué)習(xí)?一直有人說,學(xué)Java需要先學(xué)C語言。這也不是沒有道理的,先學(xué)C語言的理由大概如下:
1、學(xué)習(xí)C語言就是在學(xué)習(xí)Java,因為C語言中至少80%的語法知識都被Java繼承了。Java剛開始的前半部分,如數(shù)據(jù)類型、變量、流程控制、數(shù)組、函數(shù),這些知識同C語言幾乎是一模一樣的。
2、C語言是面向過程語言的代表,學(xué)好C語言有助于學(xué)習(xí)Java中面向?qū)ο蟮乃枷?。前面說過,要想知道什么是面向過程、什么是面向?qū)ο缶捅仨氁斜容^。你將C語言學(xué)完之后,再學(xué)習(xí)Java中函數(shù)的時候就會發(fā)現(xiàn),它們的語法規(guī)則是一模一樣的,但用法完全不一樣。如果大家直接學(xué)習(xí)Java,就會覺得本應(yīng)該那么使用,這樣就無法深刻體會什么是面向?qū)ο罅恕?br />
3、C語言中*重要的是指針。C語言中有兩個知識點可以說是其所獨有的,一個是函數(shù),另一個是指針。C語言中的指針是理解Java中“引用”的基礎(chǔ)!Java中引用的本質(zhì)就是指針。如果不懂指針就可能對Java中的“引用”沒有太深刻的理解。
雖然前面講了那么多關(guān)于學(xué)Java需要先學(xué)C語言的好處。但是不學(xué)C語言學(xué)不好Java嗎?其實不然,C語言和Java完全是不同的兩種語言,一種是面向過程編程的,一種是面對對象編程的,雖然說如果大家前期學(xué)過C語言,對于Java的入門可能比較容易些,畢竟接觸過編程,一些變量,函數(shù)(Java中叫方法)等都有所理解,但是,即使大家沒學(xué)過,也是比較容易的,學(xué)沒學(xué)過可能就是前期理解的快慢的區(qū)別,針對后期來說,都是沒差別的。
而且這樣還不會受到C語法的一些影響,因為C語言和Java并非完全相同的,至少一點Java中沒有直接的指針(改了個名叫引用),而且學(xué)C語言還要學(xué)一些數(shù)據(jù)結(jié)構(gòu)和算法方面的知識,學(xué)Java就沒那么麻煩了,大家稍學(xué)些就行了,Java中的API都幫你做好了,在C語言中你要通過一個函數(shù)實現(xiàn)的功能可能Java中就只需要你調(diào)用一個API方法就行了。如果大家是想學(xué)Java的話可以直接學(xué),與其發(fā)學(xué)兩門語言的時間還不如把更多的時間發(fā)在同一門語言上,這樣對大家學(xué)Java可能要好很多。在小編看來,Java和C語言雖然有著一些比較密切的關(guān)系,Java的底層是C語言編寫的,但是從另一個方面來看,兩者關(guān)系不是很大,語法不同,在語言設(shè)計上也有著一些不同,所擅長的領(lǐng)域也不同,綜合上來講,學(xué)Java之前不一定需要學(xué)C語言,不學(xué)C語言也可以學(xué)好Java。