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支持任意精度的定点数。