偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

五步學(xué)會(huì)任何編程語(yǔ)言

開(kāi)發(fā) 前端
只需一點(diǎn)編程經(jīng)驗(yàn),你就可以在短短幾天內(nèi)(有時(shí)更少)學(xué)會(huì)一種新編程語(yǔ)言。

有些人喜歡學(xué)習(xí)新的編程語(yǔ)言,也有一些人覺(jué)得學(xué)習(xí)一種都是可望不可及的事情。在本文中,我將向你展示如何像程序員一樣思考,這樣你就可以自信地學(xué)習(xí)任何一門(mén)你想要學(xué)習(xí)的編程語(yǔ)言。

[[353155]]

事實(shí)上,一旦你學(xué)會(huì)了如何編程,你使用的編程語(yǔ)言就不再是一個(gè)障礙,而更像是一種形式。實(shí)際上,這就是教育家們倡導(dǎo) 讓孩子盡早學(xué)習(xí)編程 的眾多原因之一。不管他們的入門(mén)語(yǔ)言有多簡(jiǎn)單,這種編程的邏輯和兒童們(或成人學(xué)習(xí)者)以后可能遇到的其他語(yǔ)言的邏輯有著想通之處。

只需有一點(diǎn)編程經(jīng)驗(yàn)(你可以從我們這里的幾篇介紹性文章中獲得),你就可以在短短幾天內(nèi)(有時(shí)更短)學(xué)習(xí)任何編程語(yǔ)言。這并不是魔法,你也確實(shí)要為此付出一些努力。誠(chéng)然,學(xué)習(xí)一種編程語(yǔ)言每個(gè)的可用庫(kù),或者學(xué)習(xí)打包代碼以及進(jìn)行交付的細(xì)微差別,需要的時(shí)間遠(yuǎn)遠(yuǎn)不止幾天。但是,就入門(mén)來(lái)說(shuō),比你想像中的要容易許多,剩下的則要通過(guò)不斷練習(xí)來(lái)完成。

當(dāng)有經(jīng)驗(yàn)的程序員靜下心來(lái)學(xué)習(xí)一門(mén)新的編程語(yǔ)言時(shí),他們會(huì)尋找五樣?xùn)|西。只要你知道了這五件事,你就可以開(kāi)始編碼了。

1. 語(yǔ)法

Syntax

語(yǔ)言的語(yǔ)法描述了代碼的結(jié)構(gòu)。這包括如何逐行編寫(xiě)代碼,以及用于構(gòu)造代碼語(yǔ)句的實(shí)際單詞。

例如,Python 以使用縮進(jìn)來(lái)指示一個(gè)代碼塊在哪里結(jié)束以及另一代碼塊在哪里開(kāi)始而聞名:

  1. while j < rows: 
  2.     while k < columns: 
  3.         tile = Tile(k * w) 
  4.         board.add(tile) 
  5.         k += 1 
  6.     j += 1 
  7.     k = 0 

Lua 只是使用關(guān)鍵字 end:

  1. for i,obj in ipairs(hit) do 
  2.   if obj.moving == 1 then 
  3.      obj.x,obj.y = v.mouse.getPosition() 
  4.   end 
  5. end 

Java、C、C++ 之類的編程語(yǔ)言使用花括號(hào):

  1. while (std::getline(e,r)) { 
  2.   wc++; 
  3.   } 

編程語(yǔ)言的語(yǔ)法還包括包括庫(kù)、設(shè)置變量和終止行等內(nèi)容。通過(guò)練習(xí),你將學(xué)會(huì)在閱讀示例代碼時(shí)下意識(shí)地識(shí)別語(yǔ)法需求(和慣例)。

實(shí)踐

當(dāng)學(xué)習(xí)一門(mén)新的編程語(yǔ)言時(shí),要努力理解它的語(yǔ)法。你不需要去記住它,只需要知道如果忘記了以后去哪里查找。使用好的 IDE 也很有幫助,因?yàn)楹芏?IDE 在出現(xiàn)語(yǔ)法錯(cuò)誤時(shí)會(huì)提醒你。

2. 內(nèi)置函數(shù)和條件

built-in words

就像自然語(yǔ)言一樣,編程語(yǔ)言可以識(shí)別的合法單詞是有限的。這個(gè)詞匯表可以使用其他庫(kù)進(jìn)行擴(kuò)展,但是核心語(yǔ)言知道一組特定的關(guān)鍵字。大多數(shù)語(yǔ)言并沒(méi)有你想的那么多關(guān)鍵字。即使在像 C 語(yǔ)言這樣非常低級(jí)的語(yǔ)言中,也只有 32 個(gè)關(guān)鍵字,比如 for、do、while、int、float、char、break 等等。

了解了這些關(guān)鍵字,你就可以編寫(xiě)基本的表達(dá)式,也就是構(gòu)建程序的代碼塊。許多內(nèi)置的關(guān)鍵字能幫助你構(gòu)建條件語(yǔ)句,這些條件語(yǔ)句影響整個(gè)程序的流程。例如,如果你想編寫(xiě)一個(gè)允許單擊和拖動(dòng)圖標(biāo)的程序,那么你的代碼就必須檢測(cè)用戶的鼠標(biāo)指針何時(shí)位于圖標(biāo)上。只有當(dāng)鼠標(biāo)光標(biāo)位于圖標(biāo)外部邊緣相同的坐標(biāo)時(shí),才執(zhí)行導(dǎo)致使鼠標(biāo)抓取圖標(biāo)的代碼。這是一個(gè)經(jīng)典的 if / then 語(yǔ)句,但不同的語(yǔ)言可以用不同的方式表達(dá)。

Python 使用 if、elif和 else 的組合來(lái)實(shí)現(xiàn)條件語(yǔ)句,但是并不顯式的關(guān)閉語(yǔ)句:

  1. if var == 1: 
  2.     # action 
  3. elif var == 2: 
  4.     # some action 
  5. else: 
  6.     # some other action 

Bash 使用 if、elif、else,并且使用 fi 來(lái)結(jié)束語(yǔ)句:

  1. if [ "$var" = "foo" ]; then 
  2.    # action 
  3. elif [ "$var" = "bar" ]; then 
  4.    # some action 
  5. else 
  6.    # some other action 
  7. fi 

然而 C 和 Java, 使用 if、else 和 else if,用花括號(hào)把它們括起來(lái):

  1. if (boolean) { 
  2.    // action 
  3. } else if (boolean) { 
  4.    // some action 
  5. } else { 
  6.    // some other action 

各種編程語(yǔ)言雖然在關(guān)鍵字的選擇和語(yǔ)法上有細(xì)微的變化,但基本是相同的。學(xué)習(xí)如何在編程語(yǔ)言中定義條件語(yǔ)句,包括 if / then、do...while 和 case 語(yǔ)句。

實(shí)踐

要熟悉編程語(yǔ)言能夠理解的關(guān)鍵字集。在實(shí)踐中,你的代碼將不僅僅包含編程語(yǔ)言的關(guān)鍵字,可以肯定的是,有包含很多簡(jiǎn)單函數(shù)的庫(kù)來(lái)幫助你做一些事情,諸如將輸出打印到屏幕或顯示窗口之類。然而,驅(qū)動(dòng)這些庫(kù)的邏輯始于編程語(yǔ)言的內(nèi)置關(guān)鍵字。

3. 數(shù)據(jù)類型

Data types代碼是用來(lái)處理數(shù)據(jù)的,因此你必須學(xué)習(xí)編程語(yǔ)言如何識(shí)別不同類型的數(shù)據(jù)。所有編程語(yǔ)言都能理解整數(shù),大多數(shù)的語(yǔ)言能理解小數(shù)和單個(gè)字符(a、b、c 等等)。它們通常被表示為 int、 float、double 和 char,當(dāng)然,語(yǔ)言的內(nèi)置詞匯表會(huì)告訴你如何引用這些實(shí)體。

有時(shí)候,在編程語(yǔ)言中內(nèi)置了一些額外的數(shù)據(jù)類型,也有時(shí)是通過(guò)引用庫(kù)來(lái)啟用復(fù)雜的數(shù)據(jù)類型。例如,Python 可以識(shí)別關(guān)鍵字為 str 的字符串,但是 C 語(yǔ)言的代碼中必須包含 string.h 頭文件才能實(shí)現(xiàn)字符串特性。

實(shí)踐

庫(kù)可以為你的代碼解鎖各種類型的數(shù)據(jù),但是學(xué)習(xí)編程語(yǔ)言中包含的基本數(shù)據(jù)類型是一個(gè)明智的起點(diǎn)。

4. 運(yùn)算符和解析器

Operators一旦你理解了編程語(yǔ)言可處理的數(shù)據(jù)類型,就可以學(xué)習(xí)如何分析這些數(shù)據(jù)了。幸運(yùn)的是,數(shù)學(xué)這門(mén)學(xué)科是相當(dāng)穩(wěn)定的,所以算數(shù)運(yùn)算符在許多語(yǔ)言中通常是相同的(或至少非常相似)。例如,兩個(gè)整數(shù)相加通常用 + 符號(hào)完成,而測(cè)試一個(gè)整數(shù)是否大于另一個(gè)整數(shù)通常用 > 符號(hào)完成。測(cè)試是否相等通常使用 == 來(lái)完成(是的,是兩個(gè)等號(hào),因?yàn)橥ǔR粋€(gè)等號(hào)用來(lái)賦值)。

當(dāng)然也有一些例外,比如像 Lisp 和 Bash 語(yǔ)言算數(shù)運(yùn)算符就不是如此,但與其他語(yǔ)言一樣,這只是一個(gè)心理翻譯的問(wèn)題。一旦你了解了表達(dá)方式有何不同,很快就可以適應(yīng)它??焖贋g覽一下一門(mén)編程語(yǔ)言的算數(shù)運(yùn)算符通常足以讓你了解算數(shù)操作是如何完成的。

你還需要知道如何比較和操作非數(shù)值數(shù)據(jù),比如字符和字符串。這些通常是通過(guò)編程語(yǔ)言的核心庫(kù)來(lái)進(jìn)行的的。例如,Python 提供了 split() 方法,而 C 語(yǔ)言需要引入頭文件 string.h 來(lái)提供 strtok() 函數(shù)。

實(shí)踐

了解用于處理基本數(shù)據(jù)類型的基本函數(shù)和關(guān)鍵字,并尋找可幫助你完成復(fù)雜操作的核心庫(kù)。

5. 函數(shù)

Class代碼不只是計(jì)算機(jī)的待辦清單。通常情況下,在編寫(xiě)代碼時(shí)你往往希望向計(jì)算機(jī)提供一組理論條件和一組操作指令,當(dāng)滿足每個(gè)條件時(shí)計(jì)算機(jī)就會(huì)采取這些操作。盡管使用條件語(yǔ)句以及數(shù)學(xué)和邏輯運(yùn)算符進(jìn)行流控制可以做很多事情,但是引入了函數(shù)和類之后,代碼會(huì)變得更加高效,因?yàn)樗鼈兪鼓憧梢远x子程序。例如,如果應(yīng)用程序非常頻繁地需要一個(gè)確認(rèn)對(duì)話框,那么將其作為類的實(shí)例編寫(xiě)一次要比每次需要它時(shí)重新編寫(xiě)實(shí)現(xiàn)起來(lái)要容易得多。

你需要學(xué)習(xí)如何在編程語(yǔ)言中定義類和函數(shù)。更準(zhǔn)確地說(shuō),你首先需要了解編程語(yǔ)言中是否支持類和函數(shù)。大多數(shù)現(xiàn)代語(yǔ)言都支持函數(shù),但是類是面向?qū)ο蟮木幊陶Z(yǔ)言中所特有的。

實(shí)踐

學(xué)習(xí)語(yǔ)言中可用的結(jié)構(gòu),這些結(jié)構(gòu)可以幫助你高效地編寫(xiě)和使用代碼。

你可以學(xué)到任何東西

學(xué)習(xí)編程語(yǔ)言,就其本身而言,是一種編碼過(guò)程中的子程序。一旦理解了代碼如何工作,你所使用的語(yǔ)言就只是一種傳遞邏輯的媒介。學(xué)習(xí)一門(mén)新編程語(yǔ)言的過(guò)程幾乎都是一樣的:通過(guò)簡(jiǎn)單的練習(xí)來(lái)學(xué)習(xí)語(yǔ)法,通過(guò)學(xué)習(xí)詞匯來(lái)積累進(jìn)行復(fù)雜動(dòng)作的能力,然后練習(xí)、練習(xí)、再練習(xí)。

 

責(zé)任編輯:趙寧寧 來(lái)源: Linux中國(guó)
相關(guān)推薦

2009-02-04 09:45:05

Java SocketSocket APIJava編程

2017-12-17 21:05:41

編程語(yǔ)言DevOps庫(kù)

2013-03-20 10:22:51

編程語(yǔ)言編程開(kāi)發(fā)語(yǔ)言

2014-12-03 09:48:36

編程語(yǔ)言

2009-11-04 13:12:33

VB.NET面向?qū)ο缶?/a>

2010-11-04 10:55:24

編程語(yǔ)言

2010-07-14 17:03:52

編程語(yǔ)言

2020-06-01 08:35:36

編程語(yǔ)言JavaPython

2009-12-10 09:33:30

Linux驅(qū)動(dòng)開(kāi)發(fā)

2021-02-04 09:37:41

C語(yǔ)言天賦編程

2023-08-01 19:16:01

Spring編程瀏覽器

2017-12-06 08:01:52

程序員編程代碼

2020-11-09 09:59:50

Ajax技術(shù)

2011-07-22 10:02:07

java

2011-08-24 09:13:40

編程

2022-03-08 08:39:22

gRPC協(xié)議云原生

2021-12-16 15:40:35

編程語(yǔ)言微軟語(yǔ)言

2019-10-18 15:55:52

編程語(yǔ)言PythonJava

2021-12-30 10:36:12

編程語(yǔ)言RubyFlahs

2022-02-19 22:47:46

編程語(yǔ)言開(kāi)發(fā)C++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)