Java匹馬行天下之教你用學漢語式方法學程式語言

  • 2019 年 10 月 12 日
  • 筆記

Java匹馬行天下之教你用學漢語式方法學程式語言

前言:

前段時間接連更新了帶小白從入門到了解的幾篇部落格:

Java匹馬行天下之編程常識知多少

《Java匹馬行天下之走進編程的殿堂

Java匹馬行天下之高級語言大鍋燴

Java匹馬行天下之C國程式設計師的禿頭原因

Java匹馬行天下之Java國出了個Java

Java匹馬行天下之Java帝國的崛起

我試著從不同的角度帶新手理解編程,希望能幫助一些真正需要的朋友進行學習,後面的三篇故事新手朋友就當真正看故事了,等你學了後面的知識,你就能理解了,現在留個簡單印象就可以了。一個月前我的《Java匹馬行天下其實已經更新到Spring框架了,但是我沒有繼續更新下去,因為又有一屆大一新生步入了軟體這個大家庭,作為“學長”,為了彌補自己內心的一絲遺憾,我毅然停下來我前進的腳步,決定再回過頭去重新帶他們走一遍,跟我一起行天下。或許我寫的不都是對的,但我保證每一篇都是用我自己的理解認真去寫的,是真的站到了作為小白的立場去寫的,我也不知道我這樣做的意義何在,或許是感恩,也或許是善良,也或許是自作多情,不管是什麼吧,都不重要,重要的是我已經做了,那就堅持並做好,別的都讓時間去解釋吧。我最近註冊了公眾號,為了方便大家查看,我把文章發布到公眾號上了,部落格中因為還有別的文章,所以順序有點亂,建議關注我的公眾號,我做了系統的整理,方便你按順序查看,公眾號二維碼在文章末尾有,自行關注。

用學漢語式方法學編程

看過上面六篇部落格的朋友現在應該已經知道要跟電腦溝通交流就要學那些程式語言,現在我們要思考的問題是如何學程式語言。如何學?說句廢話,“該咋學咋學唄”,認真點,你想想你小時候學漢語是怎麼學的,是不是先學的“聲母韻母”、“一聲平二聲揚三聲拐彎四聲降”、“嘴巴張大啊啊啊”,還有那些漢字的筆順筆畫,這些是學習漢語最基本的規則吧,等你學完了這些,你是不是才能組詞、造句,然後你就能看懂別人寫的優美的句子,寫作的時候能引用別人的句子,直到你能自己寫出更加優美的句子,再往後,你就能為所欲為了,思想有多遠,世界舞台就有多大,天高任你飛。是不是勾起你的回憶了,嗯,看看下面的圖片,感嘆一聲童年真好,再加一句時間真快,繼續我們的程式語言吧。

其實程式語言的學習過程和學漢語差不多,首先就是要學習程式語言中最基本的“規則”,等學完這些規則,你才能做一些別的事,至於要做什麼那是後面的事,此篇我就只教你程式語言里的“規則”,既然我的題目是Java匹馬行天下,我就以Java這門程式語言為例了,此後的所有內容都是用Java。

Java的規則

首先我用最簡單的例子普及一下這些規則,平時上學我們都離不開數學,學數學有時候真的很頭疼,現在我學高數可痛苦,那現在我們看看電腦是如何“學數學”的。

常量

第一種:

1+1=2

簡單吧,這都不用算,但是你發現了沒,加號兩邊的數1是固定的,1就是1,不能再改變了,這在程式語言中把1稱為“常量”。

那你知道了,規則一就是讓你識別什麼是常量?

常量:指在程式運行過程中其值不能改變的量。這是常量的官方定義,不難理解吧。

變數

第二種:

X+Y=Z

看到這個你是不是想到了你學過的方程式了,沒錯,這就是方程式,你看,加號兩邊的X和Y你可以給它們賦任意值,是可以變化的,Z隨著X、Y的改變而改變,在數學中我們把X、Y、Z叫未知數,但在程式語言中它們有個名字叫“變數”。

規則二:識別什麼是變數?

變數:用於存儲可變數據的容器。

變數的特點:

  1. 必須要有大小

  2. 存儲一定格式的可變數據

  3. 必須要有名字

數據類型

好,明白了常量和變數,再看,上面的變數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基礎,我也不知道我這樣寫別人看了能不能接受,但是我說了,我已經做了,有決定總比沒決定好,喜歡的朋友不要吝嗇你手中的贊,該鼓勵的時候鼓勵一下,給我點動力,最好是也關注一下我的公眾號,我也不是拉顧客賺錢啥的,只能說是增加點人氣,不至於那麼冷清,可以傳播一下,讓更多有需要的人去發現,讓這篇部落格有它的價值,我就知足了。

後面我會不定期更新,想追劇的朋友就點個關注吧!

【尊重原創】:本文出自部落格園https://www.cnblogs.com/zyx110/