為什么都說(shuō)java比較容易入門(mén)?
說(shuō)java比較容易入門(mén)的人,應(yīng)該都是正常的人,因?yàn)橄啾戎?,java有著不可比擬的優(yōu)勢(shì),對(duì)于編程新手來(lái)說(shuō)這個(gè)優(yōu)勢(shì),可以讓他們更快的用java語(yǔ)言寫(xiě)出他們自己的東西,而且bug不多,并且不容易出現(xiàn)致命的問(wèn)題;
那么java到底有什么優(yōu)勢(shì)呢?說(shuō)到優(yōu)勢(shì),我們就需要再看看與之相對(duì)比的語(yǔ)言看看他的優(yōu)勢(shì)到底是什么?
先來(lái)說(shuō)說(shuō)當(dāng)下的主流開(kāi)發(fā)語(yǔ)言:
C,C++,JAVA
那么以上這三種都是高級(jí)語(yǔ)言了,但是相比之下c是一個(gè)高級(jí)語(yǔ)言中的低級(jí)語(yǔ)言,他就好像183的身高站在了NBA的隊(duì)員里,單拿出來(lái)是挺高但是在這里面就是低的了;
先來(lái)看看,C語(yǔ)言的特性吧:
1.有方法,沒(méi)有類(lèi)的概念;
2.具有強(qiáng)數(shù)據(jù)類(lèi)型的概念;
3.具有強(qiáng)正負(fù)號(hào)的概念;
4.具有強(qiáng)大小寫(xiě)的概念;
5.指針與內(nèi)存管理的概念;
6.編譯型語(yǔ)言;
那么這個(gè)就是一入門(mén)就必須要會(huì)的東西,因?yàn)椴粫?huì)這些東西這個(gè)語(yǔ)言不算入門(mén);不會(huì)這些東西也不能開(kāi)發(fā)出東西來(lái),還有什么多線(xiàn)程等概念這些不屬與入門(mén)級(jí)別的;也就是說(shuō)這個(gè)語(yǔ)言只是一些基礎(chǔ)的語(yǔ)言,沒(méi)有提供特別多的庫(kù)方法共開(kāi)發(fā)者使用;
下面在來(lái)看看C++的特性:
1.有方法,有類(lèi)的概念(有類(lèi)就有多態(tài),繼承與封裝);
2.具有強(qiáng)數(shù)據(jù)類(lèi)型的概念;
3.具有強(qiáng)正負(fù)號(hào)的概念;
4.具有強(qiáng)大小寫(xiě)的概念;
5.指針與內(nèi)存管理的概念;
6.編譯型語(yǔ)言;
那么c++入門(mén)也需要會(huì)上面東西,當(dāng)然他能做的東西開(kāi)發(fā)速度就會(huì)比c強(qiáng)一些,因?yàn)橛蓄?lèi)的概念所以,而且提供的類(lèi)庫(kù)也比c強(qiáng)很多,所以他相對(duì)c來(lái)說(shuō)更像一個(gè)正常的人開(kāi)發(fā)出來(lái)的東西,但是小編認(rèn)為c++要比c難一些因?yàn)?,他相?duì)與c來(lái)說(shuō)需要學(xué)的東西只增不減;
最后再來(lái)看看java的特性:
1.有方法,有類(lèi)的概念(有類(lèi)就有多態(tài),繼承與封裝);
2.具有強(qiáng)數(shù)據(jù)類(lèi)型的概念;
3.具有強(qiáng)正負(fù)號(hào)的概念;
4.具有強(qiáng)大小寫(xiě)的概念;
5沒(méi)有指針與內(nèi)存管理;
6.多了虛擬機(jī)的概念;
7.編譯型語(yǔ)言;
那么java看看他的優(yōu)勢(shì)相對(duì)與c或c++是什么呢?一對(duì)比就看出來(lái)了,沒(méi)有指針的概念;多了一個(gè)虛擬機(jī)的概念;那么也就是這兩個(gè)概念讓java徹底的把門(mén)檻降低了,為什么?首先來(lái)說(shuō)說(shuō)指針。
指針的概念:指針是指向計(jì)算機(jī)內(nèi)存中的地址的名字,他操作的是內(nèi)存,學(xué)習(xí)編程的人都知道指針的難學(xué)程度不亞于 高中物理的三場(chǎng)混合應(yīng)用題;讓人頭疼不已,而且要命的是用不好很容易出現(xiàn)內(nèi)存泄漏,野指針,讓程序出現(xiàn)各種各樣的問(wèn)題;不要說(shuō)新手一些工作了幾年的人對(duì)指針的問(wèn)題想想頭就疼;那么在java中沒(méi)有了取而代之的是虛擬機(jī),什么事都由虛擬機(jī)來(lái)做,內(nèi)存的分配與管理都是他的活;而且有了虛擬機(jī),可以讓你的程序之編譯一次就可以在不同平臺(tái)運(yùn)行,不像前兩個(gè)需要換平臺(tái)就要重新編譯,對(duì)編譯器也有一定的要求,而且編譯的時(shí)候出現(xiàn)的問(wèn)題也是很郁悶的;
所以正常的說(shuō)來(lái),Java就是比c與c++要入門(mén)一些,而且可以做的事情也很多,但是針無(wú)兩頭利,java也有弊端,就是他的速度運(yùn)行速度相對(duì)c++與c就差一些了,與硬件的要求就相對(duì)高一些;總之呀越容易上手的語(yǔ)言運(yùn)行速度就相對(duì)要慢,因?yàn)樗麄兌际侨f(wàn)變不離其中,到最后寄存器中都是00101010101010,這個(gè)東西,像java給人用的是java 中間就要經(jīng)過(guò) c++,c,匯編,最后到01001010101,所以他的速度要慢;還有更容易上手的語(yǔ)言js他簡(jiǎn)單到,沒(méi)有數(shù)據(jù)類(lèi)型的概念,沒(méi)有編譯的概念, 寫(xiě)就是說(shuō)寫(xiě)完就可以直接運(yùn)行;當(dāng)然速度也是不快;
好了說(shuō)了這么多,相信我已經(jīng)跟朋友解釋明白了為什么java好入門(mén)的原因了,至于朋友們要學(xué)什么語(yǔ)言還是要根據(jù)自己的愛(ài)好,有的人就是喜歡玩指針覺(jué)得很帥,自己寫(xiě)的代碼別人看不懂,多酷當(dāng)然也不是不可,條條大路通羅馬,各位看官自己把握吧;
相關(guān)文章:
1. 使用vue-cli創(chuàng)建項(xiàng)目并webpack打包的操作方法2. 在vue中獲取wangeditor的html和text的操作3. Python用K-means聚類(lèi)算法進(jìn)行客戶(hù)分群的實(shí)現(xiàn)4. python mysql 字段與關(guān)鍵字沖突的解決方式5. python編寫(xiě)五子棋游戲6. Java xml數(shù)據(jù)格式返回實(shí)現(xiàn)操作7. 解決Android Studio Design界面不顯示layout控件的問(wèn)題8. vue style width a href動(dòng)態(tài)拼接問(wèn)題的解決9. Java源碼解析之接口List10. python讀取中文路徑時(shí)出錯(cuò)(2種解決方案)
