摘要:現(xiàn)在我們開始說(shuō)編程特性第一條變量和數(shù)據(jù)類型,賦值和輸出。從廣為流傳的說(shuō)起,用建立一個(gè)新的工程在目錄建一個(gè)文件變量和數(shù)據(jù)類型,賦值和輸出在中,方法是應(yīng)用程序的入口方法。變量包含三個(gè)知識(shí)點(diǎn),新建變量是字符串類型給變量賦值。
用9天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門語(yǔ)言開始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一個(gè)初學(xué)者首先關(guān)心的。
網(wǎng)絡(luò)上,網(wǎng)友們爭(zhēng)論的哪個(gè)語(yǔ)言是最好的語(yǔ)言在我看來(lái)是這個(gè)世界上最無(wú)聊的爭(zhēng)論。語(yǔ)言只是最基礎(chǔ)的工具,是為我們服務(wù),為業(yè)務(wù)服務(wù)的。如果你會(huì)編程,從A語(yǔ)言切換到B語(yǔ)言不會(huì)有太大的gap。以后我要寫的一系列文章,總結(jié)了如何快速入門一門新語(yǔ)言。核心思想是重視編程特性,而不是具體的語(yǔ)言。先把編程實(shí)現(xiàn)的特性拿出來(lái),再看看某種語(yǔ)言是怎么做到的。
先說(shuō)編程特性,任意一門編程語(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)鍵字背下來(lái)。
如果是已經(jīng)有編程基礎(chǔ)的同學(xué),相信用不了9天,大概3天是完全可以入門一門新語(yǔ)言的。
后面我會(huì)講的三門語(yǔ)言的入門。先講Java,后講Python和JavaScript。講Java時(shí)只講Java的知識(shí)點(diǎn),到后面講Python和JavaScript時(shí)會(huì)類比其他語(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è)例子說(shuō)明我們?yōu)槭裁匆日莆站幊烫匦浴H绻阋狣IY一臺(tái)電腦,你肯定要買CPU,內(nèi)存,主板,硬盤,機(jī)箱,顯示器,鼠標(biāo)鍵盤外設(shè)。這是一臺(tái)電腦的基本組成,這個(gè)基本組成可以類比成我所說(shuō)的編程特性。好了,當(dāng)我們了解這些基本特性之后,我可能會(huì)有一些選擇,比如CPU買Intel的還是AMD的,對(duì)應(yīng)的主板也會(huì)有不同的選擇。Intel還是AMD就可以類比成我要用Java還是Python。
所以呀,初學(xué)者千萬(wàn)不要糾結(jié)學(xué)哪門語(yǔ)言,糾結(jié)來(lái)糾結(jié)去,時(shí)間都浪費(fèi)了什么都沒(méi)掌握。掌握了編程特性之后,隨著思考和實(shí)踐的深入,學(xué)什么語(yǔ)言用什么語(yǔ)言是信手拈來(lái)的事。
我見過(guò)一些已經(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è)需要解決的問(wèn)題,然后花幾分鐘了解一下這門語(yǔ)言的特性,參考例子代碼修改搗鼓,接著開始修改代碼,實(shí)現(xiàn)新需求。整個(gè)過(guò)程中,他是利用編程特性解決自己的問(wèn)題,而不是特意去學(xué)習(xí)一門語(yǔ)言。
說(shuō)了半天,還沒(méi)講怎么準(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)在我們開始說(shuō)編程特性第一條“變量和數(shù)據(jù)類型,賦值和輸出”。從廣為流傳的Hello World說(shuō)起,
Hello World用Intellij Idea建立一個(gè)新的Java工程
在src目錄建一個(gè)FirstLesson.java 文件
/** * 變量和數(shù)據(jù)類型,賦值和輸出 */ public class FirstLesson { /** * 在java中,main()方法是java應(yīng)用程序的入口方法。java虛擬機(jī)通過(guò)main方法找到需要啟動(dòng)的運(yùn)行程序 */ public static void main(String[] args) { /** * variable就是一個(gè)變量 * 任何一門語(yǔ)言都會(huì)有變量的概念 * 計(jì)算機(jī)會(huì)在內(nèi)存留出一個(gè)區(qū)域存儲(chǔ)變量的值, * 然后使用變量名對(duì)變量進(jìn)行訪問(wèn),讀取變量的值,或者修改變量的值 */ String variable = "Hello World"; /** * 輸出variable,為什么是System.out,而不是其他方式 * System里封裝了很多基本的操作系統(tǒng)接口 */ System.out.println(variable); } }
/**/ 內(nèi)包含的文本是注釋,注釋即輔助你理解程序說(shuō)明,但編譯器不會(huì)去編譯的文字段。
變量String variable = "Hello World";
包含三個(gè)知識(shí)點(diǎn),(1)新建變量variable;(2)variable是字符串類型;(3)給變量variable賦值。
注意代碼里我對(duì)這兩行代碼的說(shuō)明。
下圖講解了變量在計(jì)算機(jī)里是什么意思
k是變量的名稱,3是變量的值,還有一個(gè)變量的地址,即內(nèi)存的地址。變量名稱以及值的概念一定要記住,內(nèi)存地址可以暫時(shí)不理解。
"變量就像個(gè)盒子(占用存儲(chǔ)空間),盒子有個(gè)名字(變量名),盒子可以存放東西(存變量的值)"
變量基本類型說(shuō)到變量,就得說(shuō)清楚變量都有什么類型。如果我把所有的變量類型都羅列出來(lái),恐怕太多了不好記。下面只列出常用的
字節(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ī)的交互過(guò)程就是一個(gè)輸入和輸出的鍵盤,我們操作鼠標(biāo),操作鍵盤即是輸入。顯示屏幕,音箱的輸出就是計(jì)算機(jī)的輸出。
System.out.println(variable);
就是一種最簡(jiǎn)單的輸出,Java調(diào)用系統(tǒng)函數(shù),告訴操作系統(tǒng)打印變量variable。這個(gè)輸出看起來(lái)不那么fancy,沒(méi)關(guān)系,你只要理解好他就是最簡(jiǎn)單的輸出即可。
總結(jié)任意編程語(yǔ)言都有變量
變量由變量名稱和值構(gòu)成
變量可以是字符串,整數(shù),布爾值,浮點(diǎn)數(shù)等
賦值是一個(gè)等號(hào),把等號(hào)右邊的值賦予左邊的變量
System.out.println就是一個(gè)最簡(jiǎn)單的輸出
作業(yè)模仿Hello World 樣例,寫下你心愛的人的名字,讓計(jì)算機(jī)輸出你心愛的人的名字
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70249.html
摘要:選擇結(jié)構(gòu)變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z(yǔ)言提供的公用包上一節(jié)介紹了的算術(shù)運(yùn)算,如加減乘除等,的運(yùn)算規(guī)則跟四則運(yùn)算一樣。 選擇結(jié)構(gòu) 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) = 60) { System.out.println(You have passed the exam...
摘要:變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z(yǔ)言提供的公用包這次我們講的循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)在編程中廣泛使用,所以一定要了解好循環(huán)結(jié)構(gòu)是怎么用的。正確的寫法,是用循環(huán)結(jié)構(gòu)。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 變量作用域 棧,程序運(yùn)行的基石 面向?qū)ο?異常處理 語(yǔ)言提供的公用包...
摘要:那么這種封裝的形式就叫做函數(shù)函數(shù)的格式修飾符返回值類型函數(shù)名參數(shù)類型形式參數(shù),參數(shù)類型形式參數(shù),執(zhí)行語(yǔ)句返回值有可能有,有可能無(wú)函數(shù)的定義我們參考函數(shù)的格式定義幾個(gè)函數(shù)因?yàn)槲覀円谥姓{(diào)用函數(shù),所以函數(shù)也要定義成。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 max) { max = b; } ...
摘要:那么這種封裝的形式就叫做函數(shù)函數(shù)的格式修飾符返回值類型函數(shù)名參數(shù)類型形式參數(shù),參數(shù)類型形式參數(shù),執(zhí)行語(yǔ)句返回值有可能有,有可能無(wú)函數(shù)的定義我們參考函數(shù)的格式定義幾個(gè)函數(shù)因?yàn)槲覀円谥姓{(diào)用函數(shù),所以函數(shù)也要定義成。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 max) { max = b; } ...
摘要:從函數(shù)看局部變量作用域函數(shù)內(nèi)定義的變量被稱為局部變量。局部變量的作用范圍從聲明開始,直到包含它的塊結(jié)束塊就是內(nèi)的代碼。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 變量作用域 = 3) { /* 進(jìn)入代碼塊 */ int j = 10; /* j從這里到 } 都能訪問(wèn) */ System.out.println(i); /* 可以訪問(wèn)...
閱讀 1993·2023-04-26 01:41
閱讀 2477·2021-11-24 09:39
閱讀 1930·2021-11-24 09:38
閱讀 1954·2021-11-19 09:40
閱讀 3773·2021-11-11 11:02
閱讀 3300·2021-10-20 13:48
閱讀 3172·2021-10-14 09:43
閱讀 4390·2021-09-02 15:11