今天終於看完了第一章,哈哈,萬事開頭難....剛開始被編程思想的第一章給矇住了,講一堆理論,沒什麼意思。從第二章開始,真正的開始講解Java相關的內容,有了一定的開發經驗後,再次閱讀起來,感覺收穫良多啊! 關於對象 與C這種面向過程的語言不通,Java是面向對象的,在它眼裡一切都是對象。 在Java ...
今天終於看完了第一章,哈哈,萬事開頭難....剛開始被編程思想的第一章給矇住了,講一堆理論,沒什麼意思。從第二章開始,真正的開始講解Java相關的內容,有了一定的開發經驗後,再次閱讀起來,感覺收穫良多啊!
關於對象
與C這種面向過程的語言不通,Java是面向對象的,在它眼裡一切都是對象。
在Java中不同的東西是存放在不同的地方的,比如:
- 通過new創建的對象,是存放在堆中的
- 方法區用於存儲元信息和常量
- 本地方法棧存儲了方法的調用鏈等信息
關於基本的數據類型
基本類型 | 大小 | 最小值 | 最大值 | 包裝器 |
---|---|---|---|---|
boolean | - | - | - | Boolean |
char | 2位元組 | Unicode 0 | Unicode 2^16-1 | Character |
byte | 1位元組 | -128 | 127 | Byte |
short | 2位元組 | -2^15 | 2^15-1 | Short |
int | 4位元組 | -2^31 | -2^31-1 | Integer |
long | 8位元組 | -2^63 | 2^63-1 | Long |
float | 4位元組 | IEEE754 | IEEE754 | Float |
double | 8位元組 | IEEE754 | IEEE754 | Double |
void | - | - | - | Void |
基本類型可以提升為包裝器:
char c = 'a';
Character ch = new Character(c);
也可以降低為基本類型:
char ccc = ch;
作用域
在C、C++、Java中作用域都是通過{}控制。
但是在Java中是不可以重覆聲明的,比如:
{
int x = 1;
{
int x = 2;
}
}
而且對於new出來的對象作用域是不同的。通過new創建的對象,作用域之外,這個對象仍然存活,只能通過JVM進行銷毀。
關於類
在Java中類可以包含一些基本的類型,在創建類的對象時,會自動進行初始化。
比如:
class Test{
int i;
float j;
}
初始化的規則如下:
基本類型 | 預設值 |
---|---|
boolean | false |
char | null |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |