九天學會Java,第一天,變量和數據類型,賦值和輸出

用9天入門三門編程語言,有可能嘛,尤爲是對沒有基礎的同窗來講?對於想學好的編程的人來講,不管從哪一門語言開始入手,語言的自己其實並非咱們最應該的關心的,至少不是做爲一個初學者首先關心的。html

網絡上,網友們爭論的哪一個語言是最好的語言在我看來是這個世界上最無聊的爭論。語言只是最基礎的工具,是爲咱們服務,爲業務服務的。若是你會編程,從A語言切換到B語言不會有太大的gap。之後我要寫的一系列文章,總結了如何快速入門一門新語言。核心思想是重視編程特性,而不是具體的語言。先把編程實現的特性拿出來,再看看某種語言是怎麼作到的。前端

先說編程特性,任意一門編程語言都會具備如下特性:java

  • 變量和數據類型,賦值和輸出
  • 算術運算
  • 選擇結構
  • 循環結構
  • 函數定義,函數調用
  • 變量做用域
  • 棧,程序運行的基石
  • 面向對象
  • 語言提供的公用包

若是你不一樣意,請給我留言!若是是零基礎的同窗,請把以上幾個關鍵字背下來。程序員

若是是已經有編程基礎的同窗,相信用不了9天,大概3天是徹底能夠入門一門新語言的。編程

後面我會講的三門語言的入門。先講Java,後講Python和JavaScript。講Java時只講Java的知識點,到後面講Python和JavaScript時會類比其餘語言,橫向作比較。後端

解釋一下爲何是Java,Python,JavaScript。Java是普遍使用的後端語言,Python是普遍使用的腳本語言,當膠水,作數據處理,作後端均可以。JavaScript是前端語言。這三門語言都是適合初學者入門,也是工業界普遍使用的,若是同時學這三門語言不難,之後學習其餘語言確定不會再有門檻。瀏覽器

在開始講語言入門以前,我再舉一個例子說明咱們爲何要先掌握編程特性。若是你要DIY一臺電腦,你確定要買CPU,內存,主板,硬盤,機箱,顯示器,鼠標鍵盤外設。這是一臺電腦的基本組成,這個基本組成能夠類比成我所說的編程特性。好了,當咱們瞭解這些基本特性以後,我可能會有一些選擇,好比CPU買Intel的仍是AMD的,對應的主板也會有不一樣的選擇。Intel仍是AMD就能夠類比成我要用Java仍是Python。網絡

因此呀,初學者千萬不要糾結學哪門語言,糾結來糾結去,時間都浪費了什麼都沒掌握。掌握了編程特性以後,隨着思考和實踐的深刻,學什麼語言用什麼語言是信手拈來的事。編程語言

我見過一些已經有工做經驗的工程師,用Java寫排序引擎,代碼一團亂,本身罵Java這很差那很差,宣稱用Go寫確定性能就好如何如何。我相信他不能用Java的基本特性作好一個工程,換一種語言也是於事無補的。可否寫出好代碼在於人,在於設計,在於實踐,不在於語言。ide

真正有經驗的程序員會如何學一門新語言呢,他確定不是去看磚頭厚的書籍學幾個月再出山。每每是碰到一個須要解決的問題,而後花幾分鐘瞭解一下這門語言的特性,參考例子代碼修改搗鼓,接着開始修改代碼,實現新需求。整個過程當中,他是利用編程特性解決本身的問題,而不是特地去學習一門語言。

說了半天,還沒講怎麼準備編程環境工具之類的。對於Java,網絡上不少安裝教程,just Google it,IDE(集成開發環境)我推薦使用Intellij idea。對於Python,安裝教程一樣不少,IDE推薦PyCharm,以上都是安裝社區版便可。對於JavaScript,不須要安裝什麼環境,咱們直接用瀏覽器執行。IDE(集成開發環境)推薦使用Sublime。

如今咱們開始說編程特性第一條「變量和數據類型,賦值和輸出」。從廣爲流傳的Hello World提及,

Hello World

  • 用Intellij Idea創建一個新的Java工程
  • 在src目錄建一個FirstLesson.java 文件
/**
 * 變量和數據類型,賦值和輸出
 */
public class FirstLesson {
    /**
    * 在java中,main()方法是java應用程序的入口方法。java虛擬機經過main方法找到須要啓動的運行程序
    */
    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賦值。

注意代碼裏我對這兩行代碼的說明。

下圖講解了變量在計算機裏是什麼意思

image

k是變量的名稱,3是變量的值,還有一個變量的地址,即內存的地址。變量名稱以及值的概念必定要記住,內存地址能夠暫時不理解。

image

"變量就像個盒子(佔用存儲空間),盒子有個名字(變量名),盒子能夠存放東西(存變量的值)"

變量基本類型

說到變量,就得說清楚變量都有什麼類型。若是我把全部的變量類型都羅列出來,恐怕太多了很差記。下面只列出經常使用的

  • 字節型(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就是一個最簡單的輸出

做業

  • 模仿Hello World 樣例,寫下你心愛的人的名字,讓計算機輸出你心愛的人的名字

完整章節

本文全部內容歸原創者凱威的講堂全部。請轉載時請遵循 「署名-非商業用途-保持一致」 的創做共用協議。不歡迎商業網站擅自複製內容,而且保留全部權利。

相關文章
相關標籤/搜索