今天终于看完了第一章,哈哈,万事开头难....刚开始被编程思想的第一章给蒙住了,讲一堆理论,没什么意思。从第二章开始,真正的开始讲解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 |