<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > 如何學(xué)編程語(yǔ)言?好菜鳥(niǎo)學(xué)習編程語(yǔ)言的步驟

如何學(xué)編程語(yǔ)言?好菜鳥(niǎo)學(xué)習編程語(yǔ)言的步驟

作者: 時(shí)間:2018-05-03 來(lái)源:網(wǎng)絡(luò ) 收藏

  很多人喜歡爭論什么什么語(yǔ)言好,我認為這個(gè)話(huà)題如果不限定應用范圍,就毫無(wú)意義。

本文引用地址:http://dyxdggzs.com/article/201805/379381.htm

  每種語(yǔ)言必然有其優(yōu)點(diǎn)和缺點(diǎn),這也決定了它有適合的應用場(chǎng)景和不適合的應用場(chǎng)景?,F代軟件行業(yè),想一門(mén)語(yǔ)言包打天下是不現實(shí)的。這中現狀也造成了一種現象,一個(gè)程序員往往要掌握多種編程語(yǔ)言。

  學(xué)習任何一門(mén)編程語(yǔ)言,都會(huì )面臨的第一個(gè)問(wèn)題都是:如何學(xué)習 XX 語(yǔ)言?

  我不想說(shuō)什么多看、多學(xué)、多寫(xiě)、多練之類(lèi)的廢話(huà)。世上事有難易乎?無(wú)他,唯手熟爾。誰(shuí)不知道熟能生巧的道理?

  我覺(jué)得有必要談?wù)劦氖牵喝绾斡蓽\入深的學(xué)習一門(mén)編程語(yǔ)言?學(xué)習所有編程語(yǔ)言有沒(méi)有一個(gè)相對統一的學(xué)習方法?

  曾幾何時(shí),當我還是一名小菜鳥(niǎo)時(shí),總是嘆服那些大神掌握多門(mén)編程語(yǔ)言。后來(lái),在多年編程工作和學(xué)習中,我陸陸續續也接觸過(guò)不少編程語(yǔ)言:、++、Java、#、Javascript、shell 等等。每次學(xué)習一門(mén)新的編程語(yǔ)言,掌握程度或深或淺,但是學(xué)習的曲線(xiàn)卻大抵相似。

  下面,我按照個(gè)人的學(xué)習經(jīng)驗總結一下,學(xué)習編程語(yǔ)言的基本步驟。

  學(xué)習編程語(yǔ)言的步驟

  基本語(yǔ)法

  首先當然是了解語(yǔ)言的最基本語(yǔ)法。

  控制臺輸出,如 C 的 printf,Java 的 System.out.println 等。

  普通程序員的第一行代碼一般都是輸出 “Hello World” 吧。

  ? 基本數據類(lèi)型

  不同編程語(yǔ)言的基本數據類(lèi)型不同?;緮祿?lèi)型是的申請內存空間變得方便、規范化。

  ? 變量

  不同編程語(yǔ)言的聲明變量方式有很大不同。有的如 Java 、C++ 需要明確指定變量數據類(lèi)型,這種叫強類(lèi)型定義語(yǔ)言。有的語(yǔ)言(主要是腳本語(yǔ)言),如 Javascript、Shell 等,不需要明確指定數據類(lèi)型,這種叫若類(lèi)型定義語(yǔ)言。

  還需要注意的一點(diǎn)是變量的作用域范圍和生命周期。不同語(yǔ)言變量的作用域范圍和生命周期不一定一樣,這個(gè)需要在代碼中細細體會(huì ),有時(shí)會(huì )為此埋雷。

  ? 邏輯控制語(yǔ)句

  編程語(yǔ)言都會(huì )有邏輯控制語(yǔ)句,哪怕是匯編語(yǔ)言。

  掌握條件語(yǔ)句、循環(huán)語(yǔ)句、中斷循環(huán)語(yǔ)句(break、conTInue)、選擇語(yǔ)句。一般區別僅僅在于關(guān)鍵字、語(yǔ)法格式略有不同。

  ? 運算符

  掌握基本運算符,如算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符等。

  有些語(yǔ)言還提供位運算符、特殊運算符,視情節掌握。

  ? 注釋(沒(méi)啥好說(shuō)的)

  ? 函數

  編程語(yǔ)言基本都有函數。注意語(yǔ)法格式:是否支持出參;支持哪些數據作為入參,有些語(yǔ)言允許將函數作為參數傳入另一個(gè)參數(即回調);返回值;如何退出函數(如 Java、C++的 return,)。

  數組、枚舉、集合

  枚舉只有部分編程語(yǔ)言有,如 Java、C++、C#。

  但是數組和集合(有些語(yǔ)言叫容器)一般編程語(yǔ)言都有,只是有的編程語(yǔ)言提供的集合比較豐富。使用方法基本類(lèi)似。

  常用類(lèi)

  比較常用的類(lèi)(當然有些語(yǔ)言中不叫類(lèi),叫對象或者其他什么,這個(gè)不重要,領(lǐng)會(huì )精神)請了解其 API 用法,如:字符串、日期、數學(xué)計算等等。

  語(yǔ)言特性

  語(yǔ)言特性這個(gè)特字反映的就是各個(gè)編程語(yǔ)言自身的"獨特個(gè)性",這涉及的點(diǎn)比較多,簡(jiǎn)單列舉一些。

  ? 編程模式

  比較流行的編程模式大概有:

  面向對象編程,主要是封裝、繼承、多態(tài);函數式編程,主要是應用 Lambda;過(guò)程式編程,可以理解為實(shí)現需求功能的特定步驟。

  每種編程模式都有一定的道理,我從不認為只有面向對象編程才是王道。

  Java 是面向對象語(yǔ)言,從 Java8 開(kāi)始也支持函數編程(引入 Lambda 表達式);C++ 可以算是半面向對象,半面向過(guò)程式語(yǔ)言。

  ? 語(yǔ)言自身特性

  每個(gè)語(yǔ)言自身都有一些重要特性需要了解。例如,學(xué)習 C、C++,你必須了解內存的申請和釋放,了解指針、引用。而學(xué)習 Java,你需要了解 JVM,垃圾回收機制。學(xué)習 Javascript,你需要了解 DOM 操作等。

  代碼組織、模塊加載、庫管理

  一個(gè)程序一般都有很多個(gè)源代碼文件。這就會(huì )引入這些問(wèn)題:如何將代碼文件組織起來(lái)?如何根據業(yè)務(wù)需要,選擇將部分模塊啟動(dòng)時(shí)進(jìn)行加載,部分模塊使用懶加載(或者熱加載)?

  最基本的引用文件就不提了,如C、C++的#include,Java 的 import 等。

  針對代碼組織、模塊加載、庫管理這些問(wèn)題,不同語(yǔ)言會(huì )有不同的解決方案。



關(guān)鍵詞: 編程 C

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>