摘要:天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。
7天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。
網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)論的哪個(gè)語(yǔ)言是最好的語(yǔ)言在我看來是這個(gè)世界上最無(wú)聊的爭(zhēng)論。語(yǔ)言只是最基礎(chǔ)的工具,是為我們服務(wù),為業(yè)務(wù)服務(wù)的。如果你會(huì)編程,從A語(yǔ)言切換到B語(yǔ)言不會(huì)有太大的gap。以后我要寫的一系列文章,總結(jié)了如何快速入門一門新語(yǔ)言。核心思想是重視編程特性,而不是具體的語(yǔ)言。先把編程實(shí)現(xiàn)的特性拿出來,再看看某種語(yǔ)言是怎么做到的。
先說編程特性,任意一門編程語(yǔ)言都會(huì)具有以下特性:
變量和數(shù)據(jù)類型,賦值和輸出
算術(shù)運(yùn)算
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)
函數(shù)定義,函數(shù)調(diào)用
變量作用域
棧,程序運(yùn)行的基石
面向?qū)ο?/p>
指針/引用
異常處理
語(yǔ)言提供的公用包
如果你不同意,請(qǐng)給我留言!如果是零基礎(chǔ)的同學(xué),請(qǐng)把以上幾個(gè)關(guān)鍵字背下來。
后面我們要講的三門語(yǔ)言是Java,Python,JavaScript。Java是廣泛使用的后端語(yǔ)言,Python是廣泛使用的腳本語(yǔ)言,當(dāng)膠水,做數(shù)據(jù)處理,做后端都可以。JavaScript是前端語(yǔ)言。這三門語(yǔ)言都是適合初學(xué)者入門,也是工業(yè)界廣泛使用的,如果同時(shí)學(xué)這三門語(yǔ)言不難,以后學(xué)習(xí)其他語(yǔ)言肯定不會(huì)再有門檻。
在開始講語(yǔ)言入門之前,我再舉一個(gè)例子說明我們?yōu)槭裁匆日莆站幊烫匦浴H绻阋狣IY一臺(tái)電腦,你肯定要買CPU,內(nèi)存,主板,硬盤,機(jī)箱,顯示器,鼠標(biāo)鍵盤外設(shè)。這是一臺(tái)電腦的基本組成,這個(gè)基本組成可以類比成我所說的編程特性。好了,當(dāng)我們了解這些基本特性之后,我可能會(huì)有一些選擇,比如CPU買Intel的還是AMD的,對(duì)應(yīng)的主板也會(huì)有不同的選擇。Intel還是AMD就可以類比成我要用Java還是Python。
所以呀,初學(xué)者千萬(wàn)不要糾結(jié)學(xué)哪門語(yǔ)言,糾結(jié)來糾結(jié)去,時(shí)間都浪費(fèi)了什么都沒掌握。掌握了編程特性之后,隨著思考和實(shí)踐的深入,學(xué)什么語(yǔ)言用什么語(yǔ)言是信手拈來的事。
我見過一些已經(jīng)有工作經(jīng)驗(yàn)的工程師,用Java寫排序引擎,代碼一團(tuán)亂,自己罵Java這不好那不好,宣稱用Go寫肯定性能就好如何如何。我相信他不能用Java的基本特性做好一個(gè)工程,換一種語(yǔ)言也是于事無(wú)補(bǔ)的。能否寫出好代碼在于人,在于設(shè)計(jì),在于實(shí)踐,不在于語(yǔ)言。
真正有經(jīng)驗(yàn)的程序員會(huì)如何學(xué)一門新語(yǔ)言呢,他肯定不是去看磚頭厚的書籍學(xué)幾個(gè)月再出山。往往是碰到一個(gè)需要解決的問題,然后花幾分鐘了解一下這門語(yǔ)言的特性,參考例子代碼修改搗鼓,接著開始修改代碼,實(shí)現(xiàn)新需求。整個(gè)過程中,他是利用編程特性解決自己的問題,而不是特意去學(xué)習(xí)一門語(yǔ)言。
說了半天,還沒講怎么準(zhǔn)備編程環(huán)境工具之類的。對(duì)于Java,網(wǎng)絡(luò)上很多安裝教程,just Google it,IDE我推薦使用Intellij idea。對(duì)于Python,安裝教程同樣很多,IDE推薦PyCharm,以上都是安裝社區(qū)版即可。對(duì)于JavaScript,不需要安裝什么環(huán)境,我們直接用瀏覽器執(zhí)行。IDE推薦使用Sublime。
現(xiàn)在我們開始說編程特性第一條“變量和數(shù)據(jù)類型,賦值和輸出”。從廣為流傳的Hello World說起,
Java版本
用Intellij Idea建立一個(gè)新的Java工程
在src目錄建一個(gè)FirstLesson.java 文件
/** * 變量和數(shù)據(jù)類型,賦值和輸出 */ public class FirstLesson { public static void main(String[] args) { /** * variable就是一個(gè)變量 * 任何一門語(yǔ)言都會(huì)有變量的概念 * 計(jì)算機(jī)會(huì)在內(nèi)存留出一個(gè)區(qū)域存儲(chǔ)變量的值, * 然后使用變量名對(duì)變量進(jìn)行訪問,讀取變量的值,或者修改變量的值 */ String variable = "Hello World"; /** * 輸出variable,為什么是System.out,而不是其他方式 * System里封裝了很多基本的操作系統(tǒng)接口 */ System.out.println(variable); } }變量
String variable = "Hello World";
包含三個(gè)知識(shí)點(diǎn),(1)新建變量variable;(2)variable是字符串類型;(3)給變量variable賦值。
下圖講解了變量在計(jì)算機(jī)里是什么意思
k是變量的名稱,3是變量的值,還有一個(gè)變量的地址,即內(nèi)存的地址。變量名稱以及值的概念一定要記住,內(nèi)存地址可以暫時(shí)不理解。
注意代碼里我對(duì)這兩行代碼的說明。
變量基本類型說到變量,就得說清楚變量都有什么類型。如果我把所有的變量類型都羅列出來,恐怕太多了不好記。下面只列出常用的
字節(jié)型(byte,字節(jié)型是一種 8 位有正負(fù)的二進(jìn)制整數(shù)
最小值是 -128
最大值是 127
短整數(shù)(short)
最小值是 -32768
最大值是 32767
整數(shù)型(int)
最小值是 - 2,147,483,648
最大值是 2,147,483,647
長(zhǎng)整型(long)
長(zhǎng)整型是一種 64 位有正負(fù)的二進(jìn)制整數(shù)
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807 (2^63 -1)
浮點(diǎn)型(float)
浮點(diǎn)型數(shù)據(jù)是一種單精度的 32 位 IEEE 754 標(biāo)準(zhǔn)下的浮點(diǎn)數(shù)據(jù)。
雙精度型(double)
雙精度型數(shù)據(jù)是一種雙精度的 64 位 IEEE 754 標(biāo)準(zhǔn)下的浮點(diǎn)數(shù)據(jù)。
布爾型(boolean)
布爾型數(shù)據(jù)代表一個(gè)信息比特。
它只有兩個(gè)可能的值:真(true)和假(false)
賦值前面提到了,你在代碼里寫一個(gè)變量,計(jì)算機(jī)會(huì)在內(nèi)存給他留出一個(gè)空間存儲(chǔ)他的值。但是你得給他賦值啊,不然計(jì)算機(jī)怎么知道這個(gè)變量該存什么值。
在Java里面,賦值操作符就是=。直觀理解,就是把等號(hào)右邊的值,賦予左邊的變量。
輸出我們和計(jì)算機(jī)的交互過程就是一個(gè)輸入和輸出的鍵盤,我們操作鼠標(biāo),操作鍵盤即是輸入。顯示屏幕,音箱的輸出就是計(jì)算機(jī)的輸出。
System.out.println(variable);
就是一種最簡(jiǎn)單的輸出,Java調(diào)用系統(tǒng)函數(shù),告訴操作系統(tǒng)打印變量variable。這個(gè)輸出看起來不那么fancy,沒關(guān)系,你只要理解好他就是最簡(jiǎn)單的輸出即可。
總結(jié)任意編程語(yǔ)言都有變量
變量由變量名稱和值構(gòu)成
變量可以是字符串,整數(shù),布爾值,浮點(diǎn)數(shù)等
賦值是一個(gè)等號(hào),把等號(hào)右邊的值賦予左邊的變量
System.out.println就是一個(gè)最簡(jiǎn)單的輸出
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/45547.html
摘要:天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...
摘要:天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 7天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。 網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)...
摘要:現(xiàn)在我們開始說編程特性第一條變量和數(shù)據(jù)類型,賦值和輸出。從廣為流傳的說起,用建立一個(gè)新的工程在目錄建一個(gè)文件變量和數(shù)據(jù)類型,賦值和輸出在中,方法是應(yīng)用程序的入口方法。變量包含三個(gè)知識(shí)點(diǎn),新建變量是字符串類型給變量賦值。 用9天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一...
摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...
摘要:也可以補(bǔ)充好之前在這個(gè)最小物聯(lián)網(wǎng)系統(tǒng)缺失的那些東西,給那些正在開始試圖去解決編程問題的人。在線查看一步步搭建物聯(lián)網(wǎng)系統(tǒng)圖靈電子書版一步步搭建物聯(lián)網(wǎng)系統(tǒng) 某一天,正走在回學(xué)校的路上的我突然想到:未來將會(huì)是一個(gè)科技的時(shí)代——雖然現(xiàn)在也是——只是在未來,科技將會(huì)無(wú)處不在。如果我們依舊對(duì)周圍這些無(wú)處不在的代碼一無(wú)所知的話,或許我們會(huì)成為黑客帝國(guó)之中被控制的普通人。于是開始想著,有一天人們會(huì)像學(xué)...
閱讀 3268·2021-11-15 11:37
閱讀 1074·2021-11-02 14:45
閱讀 3898·2021-09-04 16:48
閱讀 3575·2019-08-30 15:55
閱讀 753·2019-08-23 17:53
閱讀 999·2019-08-23 17:03
閱讀 2029·2019-08-23 16:43
閱讀 2188·2019-08-23 16:22