java基于c++,但是是更加纯粹的面向对象的程序设计语言。
目录
1.java通过引用控制对象
2.java数据的储存地点
3.基本类型和其对应的包装器类型
1.java通过引用控制对象
java语言的标识符实际上是一个引用,像是一个过渡,我们操纵他,他再操纵对象。具体的引用就像
string a;
int b;
就像是c或者c++里的一个变量,但是这样定义完成后并没有与对象关联,我们只是创建了一个引用,而且没有初始化。会产生运行时的错误,所以我们更安全的做法是在创建时就初始化;
string a = "ndsc";
int b = 100;
像这样之后我们就完成了初始化,而且java语言中很方便的是可以直接用带引号的文本初始化,同时也可以使他与一个新对象关联,我们使用new关键字。他的意思是“给我一个新对象”这时我们可以写。
string a =new string “ndsc”
2.java数据的储存地点
1.寄存器:最快的存储区,位于处理器内部,但是数量极其有限,也不能随意控制。
2.堆栈:位于通用RAM(随机访问存储器),可以从处理器获得支持,通过堆栈指针的上下移动来控制内存,速度仅次于寄存器,但是java系统必须知道其中所有项的生命周期,从而限制了他的灵活性。
3.堆:也位于RAM中,存放java的所有对象,而且不需要知道存储周期,用new关键字创建的对象就存储在其中,同时需要的时间比堆栈长。
4.常量存储:常量值通常直接存储在程序代码内部,因为他们永远不会改变。
5.非RAM存储:如果数据完全存在于程序之外,那么它可以不受程序控制,在程序不运行时也存在,相当于存储在外界,但是需要时会变成RAM的对象。
3.基本类型和其对应的包装器类型
当我们使用new来创建对象时,我们会知道创建的对象存储在堆中,但是在堆中需要的时间会长,所以当我们只是想使用一个简单的变量的时候,我们可以不使用new,而是直接创建一个变量,变量存在于堆栈中,所以时间需要的少
int a = 1;
char c = "csdn";
Java中的基本变量以及他对应的包装器类型:
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
boolean | _ | _ | _ | Boolean |
char | 16-bit | Unicode o | Unicode 2的16次方-1 | Character |
byte | 8 bits | -128 | +127 | Byte |
short | 16 bits | -2的15次方 | +2的15次方-1 | Short |
int | 32 bits | -2的31次方 | +2的31次方-1 | Integer |
long | 64 bits | -2的64次方 | +2的64次方-1 | Long |
float | 32 bits | IEEE754 | IEEE754 | Float |
double | 64 bits | IEEE754 | IEEE754 | Double |
void | _ | _ | _ | Void |
boolean没有具体的大小,只有字面值的true和false。
同时java提供了2个高精度数字,BigInteger和BigDecimal,他们时包装器类型,但是这两个没有对应的基本类型,但是他们的操作类似于int和float。其中BigInteger支持任意精度的整数,BigDecimal支持任意精度的定点数。