Java程序员的日常——《编程思想》一切都是对象
今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思。从第二章开始,真正的开始讲解Java相关的内容,有了一定的开发经验后,再次阅读起来,感觉收获良多啊!
关于对象
与C这种面向过程的语言不同,Java是面向对象的,在它眼里一切都是对象。
在Java中不同的东西是存放在不同的地方的,比如:
- 通过new创建的对象,是存放在堆中的
- 方法区用于存储元信息和常量
- 本地方法栈存储了方法的调用链等信息
关于基本的数据类型
基本类型 | 大小 | 最小值|最大值|包装器
-----|------|----|----|----|----
boolean | - | -|-|Boolean
char|2字节 | Unicode 0 | Unicode 2^16-1|Character
byte|1字节|-128|127|Byte
short|2字节|-215|215-1|Short
int|4字节|-231|-231-1|Integer
long|8字节|-263|263-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 |