7天入門三門編程語言,有可能嘛,尤爲是對沒有基礎的同窗來講?對於想學好的編程的人來講,不管從哪一門語言開始入手,語言的自己其實並非咱們最應該的關心的,至少不是做爲一個初學者首先關心的。前端
網絡上,網友們爭論的哪一個語言是最好的語言在我看來是這個世界上最無聊的爭論。語言只是最基礎的工具,是爲咱們服務,爲業務服務的。若是你會編程,從A語言切換到B語言不會有太大的gap。之後我要寫的一系列文章,總結了如何快速入門一門新語言。核心思想是重視編程特性,而不是具體的語言。先把編程實現的特性拿出來,再看看某種語言是怎麼作到的。java
先說編程特性,任意一門編程語言都會具備如下特性:程序員
變量和數據類型,賦值和輸出編程
算術運算後端
選擇結構瀏覽器
循環結構網絡
函數定義,函數調用編程語言
變量做用域ide
棧,程序運行的基石函數
面向對象
指針/引用
異常處理
語言提供的公用包
若是你不一樣意,請給我留言!若是是零基礎的同窗,請把以上幾個關鍵字背下來。
後面咱們要講的三門語言是Java,Python,JavaScript。Java是普遍使用的後端語言,Python是普遍使用的腳本語言,當膠水,作數據處理,作後端均可以。JavaScript是前端語言。這三門語言都是適合初學者入門,也是工業界普遍使用的,若是同時學這三門語言不難,之後學習其餘語言確定不會再有門檻。
在開始講語言入門以前,我再舉一個例子說明咱們爲何要先掌握編程特性。若是你要DIY一臺電腦,你確定要買CPU,內存,主板,硬盤,機箱,顯示器,鼠標鍵盤外設。這是一臺電腦的基本組成,這個基本組成能夠類比成我所說的編程特性。好了,當咱們瞭解這些基本特性以後,我可能會有一些選擇,好比CPU買Intel的仍是AMD的,對應的主板也會有不一樣的選擇。Intel仍是AMD就能夠類比成我要用Java仍是Python。
因此呀,初學者千萬不要糾結學哪門語言,糾結來糾結去,時間都浪費了什麼都沒掌握。掌握了編程特性以後,隨着思考和實踐的深刻,學什麼語言用什麼語言是信手拈來的事。
我見過一些已經有工做經驗的工程師,用Java寫排序引擎,代碼一團亂,本身罵Java這很差那很差,宣稱用Go寫確定性能就好如何如何。我相信他不能用Java的基本特性作好一個工程,換一種語言也是於事無補的。可否寫出好代碼在於人,在於設計,在於實踐,不在於語言。
真正有經驗的程序員會如何學一門新語言呢,他確定不是去看磚頭厚的書籍學幾個月再出山。每每是碰到一個須要解決的問題,而後花幾分鐘瞭解一下這門語言的特性,參考例子代碼修改搗鼓,接着開始修改代碼,實現新需求。整個過程當中,他是利用編程特性解決本身的問題,而不是特地去學習一門語言。
說了半天,還沒講怎麼準備編程環境工具之類的。對於Java,網絡上不少安裝教程,just Google it,IDE我推薦使用Intellij idea。對於Python,安裝教程一樣不少,IDE推薦PyCharm,以上都是安裝社區版便可。對於JavaScript,不須要安裝什麼環境,咱們直接用瀏覽器執行。IDE推薦使用Sublime。
如今咱們開始說編程特性第一條「變量和數據類型,賦值和輸出」。從廣爲流傳的Hello World提及,
Java版本
用Intellij Idea創建一個新的Java工程
在src目錄建一個FirstLesson.java 文件
/** * 變量和數據類型,賦值和輸出 */ public class FirstLesson { public static void main(String[] args) { /** * variable就是一個變量 * 任何一門語言都會有變量的概念 * 計算機會在內存留出一個區域存儲變量的值, * 而後使用變量名對變量進行訪問,讀取變量的值,或者修改變量的值 */ String variable = "Hello World"; /** * 輸出variable,爲何是System.out,而不是其餘方式 * System裏封裝了不少基本的操做系統接口 */ System.out.println(variable); } }
String variable = "Hello World";
包含三個知識點,(1)新建變量variable;(2)variable是字符串類型;(3)給變量variable賦值。
下圖講解了變量在計算機裏是什麼意思
k是變量的名稱,3是變量的值,還有一個變量的地址,即內存的地址。變量名稱以及值的概念必定要記住,內存地址能夠暫時不理解。
注意代碼裏我對這兩行代碼的說明。
說到變量,就得說清楚變量都有什麼類型。若是我把全部的變量類型都羅列出來,恐怕太多了很差記。下面只列出經常使用的
字節型(byte,字節型是一種 8 位有正負的二進制整數
最小值是 -128
最大值是 127
短整數(short)
最小值是 -32768
最大值是 32767
整數型(int)
最小值是 - 2,147,483,648
最大值是 2,147,483,647
長整型(long)
長整型是一種 64 位有正負的二進制整數
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807 (2^63 -1)
浮點型(float)
浮點型數據是一種單精度的 32 位 IEEE 754 標準下的浮點數據。
雙精度型(double)
雙精度型數據是一種雙精度的 64 位 IEEE 754 標準下的浮點數據。
布爾型(boolean)
布爾型數據表明一個信息比特。
它只有兩個可能的值:真(true)和假(false)
前面提到了,你在代碼裏寫一個變量,計算機會在內存給他留出一個空間存儲他的值。可是你得給他賦值啊,否則計算機怎麼知道這個變量該存什麼值。
在Java裏面,賦值操做符就是=
。直觀理解,就是把等號右邊的值,賦予左邊的變量。
咱們和計算機的交互過程就是一個輸入和輸出的鍵盤,咱們操做鼠標,操做鍵盤便是輸入。顯示屏幕,音箱的輸出就是計算機的輸出。
System.out.println(variable);
就是一種最簡單的輸出,Java調用系統函數,告訴操做系統打印變量variable
。這個輸出看起來不那麼fancy,不要緊,你只要理解好他就是最簡單的輸出便可。
任意編程語言都有變量
變量由變量名稱和值構成
變量能夠是字符串,整數,布爾值,浮點數等
賦值是一個等號,把等號右邊的值賦予左邊的變量
System.out.println就是一個最簡單的輸出