MIT 6.005 Reading 2 Java基礎

變量、值,體會二者的關係

值分爲:基本值對象值,在工作中我們口語交流:這個變量是不是基本類型的呀?

我們可以創建一個變量,這個過程叫做:變量聲明。然後可以把變量和值關聯起來,這個過程叫做:賦值

變量和對象值的關係是:引用,在C語言中我們叫做指針,廣大程序員都對指針有恐懼感,故Java換了個名字叫做引用。

不可變的概念

如果變量自己是不變的,這時候叫做:不可變變量也叫常量
如果變量的值是不變的,這時候叫做:不可變值

國內學生都有C語言基礎,考大家下面代碼的區別:

const float PI = 3.1415;
float * a = Π
const float * b = Π
float const * c = Π
float * const d = Π
float const * const e = Π

同樣的問題換成Java來考如下(看來Java還真比C簡單):

int a = 5;
final int b = 5;

String s = "ab";
StringBuilder sb = new StringBuilder("ab");

快照圖(snapshot diagrams)

快照圖是MIT本科教育中,爲了便於理解而專門創造的一種圖。不僅僅是這門課,MIT後續課程中也都會沿用快照圖。下面看看快照圖如何幫助我們理解不可變的概念。
在這裏插入圖片描述

數組、集合類型

每個語言都有集合類型,用來存放一堆數據,集合類型有時也叫做容器類型(避免跟數學中的集合混淆)。容器類型大致分爲這幾種。

容器類型 Java Python
有序的 List list
無序的 Set set
鍵值對 Map dictionary

由於容器類型是很常用的,即使大家現在不掌握,以後也會反覆用到,不擔心大家學不會,這裏就不多介紹了。

字面量

這裏要體會“兩個世界”模型:程序員看到的世界、計算機內部的世界。

字面量位於程序員看到的世界,位於計算機內部是程序員看不到的。

Java中容器類型的字面量語法

並不是所有值都能用字面量來表示,Java的字面量表達能力比Python要弱上不少,這就導致Java代碼寫起來比Python更加麻煩。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章