前段時間接連更新了帶小白從入門到了解的幾篇博客:html
《Java匹馬行天下之編程常識知多少》程序員
《Java匹馬行天下之走進編程的殿堂》編程
《Java匹馬行天下之C國程序員的禿頭緣由》編程語言
我試着從不一樣的角度帶新手理解編程,但願能幫助一些真正須要的朋友進行學習,後面的三篇故事新手朋友就當真正看故事了,等你學了後面的知識,你就能理解了,如今留個簡單印象就能夠了。一個月前個人《Java匹馬行天下》spa
看過上面六篇博客的朋友如今應該已經知道要跟電腦溝通交流就要學那些編程語言,如今咱們要思考的問題是如何學編程語言。如何學?說句廢話,「該咋學咋學唄」,認真點,你想一想你小時候學漢語是怎麼學的,是否是先學的「聲母韻母」、「一聲平二聲揚三聲拐彎四聲降」、「嘴巴張大啊啊啊」,還有那些漢字的筆順筆畫,這些是學習漢語最基本的規則吧,等你學完了這些,你是否是才能組詞、造句,而後你就能看懂別人寫的優美的句子,寫做的時候能引用別人的句子,直到你能本身寫出更加優美的句子,再日後,你就能隨心所欲了,思想有多遠,世界舞臺就有多大,天高任你飛。是否是勾起你的回憶了,嗯,看看下面的圖片,感嘆一聲童年真好,再加一句時間真快,繼續咱們的編程語言吧。htm
其實編程語言的學習過程和學漢語差很少,首先就是要學習編程語言中最基本的「規則」,等學完這些規則,你才能作一些別的事,至於要作什麼那是後面的事,此篇我就只教你編程語言裏的「規則」,既然個人題目是Java匹馬行天下,我就以Java這門編程語言爲例了,此後的全部內容都是用Java。blog
首先我用最簡單的例子普及一下這些規則,平時上學咱們都離不開數學,學數學有時候真的很頭疼,如今我學高數可痛苦,那如今咱們看看計算機是如何「學數學」的。
第一種:
1+1=2
簡單吧,這都不用算,可是你發現了沒,加號兩邊的數1是固定的,1就是1,不能再改變了,這在編程語言中把1稱爲「常量」。
那你知道了,規則一就是讓你識別什麼是常量?
常量:指在程序運行過程當中其值不能改變的量。這是常量的官方定義,不難理解吧。
第二種:
X+Y=Z
看到這個你是否是想到了你學過的方程式了,沒錯,這就是方程式,你看,加號兩邊的X和Y你能夠給它們賦任意值,是能夠變化的,Z隨着X、Y的改變而改變,在數學中咱們把X、Y、Z叫未知數,但在編程語言中它們有個名字叫「變量」。
規則二:識別什麼是變量?
變量:用於存儲可變數據的容器。
變量的特色:
必需要有大小
存儲必定格式的可變數據
必需要有名字
好,明白了常量和變量,再看,上面的變量X和Y給它們賦值,咱們能夠賦整數,也能夠賦小數,這個整數和小數在編程語言中稱爲」數據類型「,整數和小數只是數據類型中的兩種。
規則三:數據類型有哪些?
數據類型分爲兩種:
一種是內置數據類型,另外一種是引用數據類型。
目前咱們先了解內置數據類型,引用數據類型在後面會提到。
內置數據類型有八種:
整數型: byte short int long
浮點型: float double
字符型: char
布爾型: boolean
這個數據類型要怎樣理解呢?其實也簡單,你把整數型、浮點型、字符型、布爾型分別當作是四個容器,生活中牛奶瓶中裝的是牛奶,飲料瓶中裝的是飲料,一樣的道理,整數型這個容器中裝的是整數,浮點型容器中裝的是小數,字符型容器中裝的是字符,布爾型容器是個特例,它裏面就裝了兩個東西,true和false.
咱們往牛奶瓶中倒牛奶的時候,若是牛奶不少,小牛奶瓶裝不了,咱們是否是要換一個大點的瓶子來裝牛奶,假如原本準備的是500ML的牛奶瓶,裝不了,又換了個1000ML的牛奶瓶。同理,整數型容器中裝的是整數,整數都有大小,byte、short、int、long就至關於容器的容量,byte最小,依次增大,這樣你就要注意了,之後在往整數型這個容器中「裝整數」的時候,要看所選整數的大小,特別小的數放多大的容量裏均可以,但最好是物盡其用,別浪費空間,大點的數就要根據實際狀況具體分析了,要作到不浪費空間,也要「裝得下,不遺漏」。
浮點型容器中裝的是小數,float和double也能夠當作是容器的容量,float叫單精度,double叫雙精度,理解同上。
二者的主要區別以下:
1.在內存中佔有的字節數不一樣
單精度浮點數在機內存佔4個字節
雙精度浮點數在機內存佔8個字節
2.有效數字位數不一樣
單精度浮點數有效數字8位
雙精度浮點數有效數字16位
3.數值取值範圍
單精度浮點數的表示範圍:-3.40E+38~3.40E+38
雙精度浮點數的表示範圍:-1.79E+308~-1.79E+308
4.在程序中處理速度不一樣
通常來講,CPU處理單精度浮點數的速度比處理雙精度浮點數快
若是不聲明,默認小數爲double類型,因此若是要用float的話,必須進行強轉
例如:float a=1.3; 會編譯報錯,正確的寫法 float a = (float)1.3;或者float a = 1.3f;(f或F均可以不區分大小寫)
注意:float是8位有效數字,第7位數字將會四捨五入
在上面我提到了一個詞叫強轉,我來解釋一下:
假如如今你分別有一個500ML和1000ML的牛奶瓶,而後你須要裝300ML牛奶,你先用500ML的牛奶瓶裝了那300ML牛奶,而後你又把裝在500ML牛奶瓶中的牛奶裝到了1000ML的牛奶瓶中,這個過程在編程語言中叫自動類型轉換(也叫隱式類型轉換),根據這個例子也能夠解釋爲把一個數賦值給更大數值範圍的變量,例如能夠將byte類型的整數賦值給short類型的整數,能夠將short類型的整數賦值給int類型的整數,能夠將int類型的整數賦值給long類型的整數。
好,如今再想,依舊有兩個分別是500ML和1000ML的牛奶瓶,而後你須要裝800ML牛奶,你先用1000ML的牛奶瓶裝了那800ML牛奶,而後你如今想把裝在1000ML牛奶瓶中的牛奶倒進500ML的牛奶瓶中,想一想會怎樣,若是你強行倒入,是否是會溢出牛奶啊,這個過程在編程語言中叫強制類型轉換(也叫顯式類型轉換)。
對應到編程語言中,能夠把byte 理解爲1兩的碗,short 2兩的碗,int 4兩的碗,long 8兩的碗。1兩碗的滿碗酒能夠倒入 2兩 4兩 8兩的碗中。可是 4兩碗的酒倒入1兩碗的酒就有一些問題。
上面介紹的都是編程語言中對數的理解,瞭解了這些以後終究離不開運算,運算離不開加減乘除,編程語言中把數學中的(+、-、*、/)叫運算符。
OK,學完上面這些其實咱們可讓計算機進行一些運算了,不過還沒那麼簡單,你要讓計算機運算,你怎麼告訴計算機你須要讓它運算什麼啊?難道就跟平時說話同樣問它1+1等於幾?哈哈,開玩笑的,別忘了計算機是死的,不會思考,就拿那個方程式來講吧,你給變量X賦一個數值,你得告訴它這個數值是什麼數據類型,計算機才能知道,才能進行相應的計算。這個過程在編程語言中叫變量的聲明和賦值。
例:int X =10;
好,下面咱們讓計算機作一道加法題吧,咱們在現實生活中寫做業是在筆記本上寫的吧,那在電腦上寫做業,你也得找個"筆記本",在編程語言中這個「筆記本」叫編譯器,而後你看你的筆記本上有畫的像四線三格那樣的各類線,老師讓你把做業寫到線裏面,不要亂寫,在編程中也同樣,電腦老師讓你把做業寫到筆記本的「四線三格」中(暫且這樣理解吧,等你學到後面以後就會有本身的理解了,目前就先按我說的這樣理解),下面我就開始在編譯器上寫加法題了:
public class AddDemo {
public static void main(String[] args) {
int X=10;
int Y=20;
System.out.println("X+Y的和爲:"+(X+Y));
}
}
我用的這個編譯器叫IDEA,也就是我寫做業的筆記本,下面圖片中的這個就至關於筆記本上的四線三格,你要把你的做業寫到這裏面電腦纔會看,你必須按老師說的作
下面這個已經不陌生了吧,這個就是上面講到的聲明變量和給變量賦值。
其實如今你看不懂的應該是下面這句
System.out.println()這是一個函數,函數我到後面會講到,暫時作個瞭解,你如今只須要知道,這個就跟生活中你跟老外說聲Hello,他就知道你在跟他問好同樣,你給電腦輸入System.out.println(),電腦就知道你要在屏幕上輸出東西,你只須要把你想要輸出到電腦屏幕上的東西寫道System.out.println()函數裏面便可,你看,我在函數裏面寫的是System.out.println("X+Y的和爲:"+(X+Y));電腦就會給我在屏幕上輸出X+Y的值,至於裏面爲何要那樣寫,後面我也會說,這就是編程語言裏面的一些規則,你只有會這些規則,你才能跟計算機進行溝通交流,讓計算機作你想作的事。
3500字了,先打住吧,寫半天了,寫這東西真耗時,不知不覺幾個小時過去了,我還沒見過有人像我這樣用大白話寫過Java基礎,我也不知道我這樣寫別人看了能不能接受,可是我說了,我已經作了,有決定總比沒決定好,喜歡的朋友不要吝嗇你手中的贊,該鼓勵的時候鼓勵一下,給我點動力,最好是也關注一下個人公衆號,我也不是拉顧客賺錢啥的,只能說是增長點人氣,不至於那麼冷清,能夠傳播一下,讓更多有須要的人去發現,讓這篇博客有它的價值,我就滿足了。
後面我會不按期更新,想追劇的朋友就點個關注吧!
【尊重原創】:本文出自博客園