前言:
前段時間接連更新了帶小白從入門到了解的幾篇博客:
我試着從不同的角度帶新手理解編程,希望能幫助一些真正需要的朋友進行學習,后面的三篇故事新手朋友就當真正看故事了,等你學了后面的知識,你就能理解了,現在留個簡單印象就可以了。一個月前我的《Java匹馬行天下》
用學漢語式方法學編程
看過上面六篇博客的朋友現在應該已經知道要跟電腦溝通交流就要學那些編程語言,現在我們要思考的問題是如何學編程語言。如何學?說句廢話,“該咋學咋學唄”,認真點,你想想你小時候學漢語是怎么學的,是不是先學的“聲母韻母”、“一聲平二聲揚三聲拐彎四聲降”、“嘴巴張大啊啊啊”,還有那些漢字的筆順筆畫,這些是學習漢語最基本的規則吧,等你學完了這些,你是不是才能組詞、造句,然后你就能看懂別人寫的優美的句子,寫作的時候能引用別人的句子,直到你能自己寫出更加優美的句子,再往后,你就能為所欲為了,思想有多遠,世界舞台就有多大,天高任你飛。是不是勾起你的回憶了,嗯,看看下面的圖片,感嘆一聲童年真好,再加一句時間真快,繼續我們的編程語言吧。
其實編程語言的學習過程和學漢語差不多,首先就是要學習編程語言中最基本的“規則”,等學完這些規則,你才能做一些別的事,至於要做什么那是后面的事,此篇我就只教你編程語言里的“規則”,既然我的題目是Java匹馬行天下,我就以Java這門編程語言為例了,此后的所有內容都是用Java。
Java的規則
首先我用最簡單的例子普及一下這些規則,平時上學我們都離不開數學,學數學有時候真的很頭疼,現在我學高數可痛苦,那現在我們看看計算機是如何“學數學”的。
常量
第一種:
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基礎,我也不知道我這樣寫別人看了能不能接受,但是我說了,我已經做了,有決定總比沒決定好,喜歡的朋友不要吝嗇你手中的贊,該鼓勵的時候鼓勵一下,給我點動力,最好是也關注一下我的公眾號,我也不是拉顧客賺錢啥的,只能說是增加點人氣,不至於那么冷清,可以傳播一下,讓更多有需要的人去發現,讓這篇博客有它的價值,我就知足了。
后面我會不定期更新,想追劇的朋友就點個關注吧!
【尊重原創】:本文出自博客園