一、常量

1.定义

程序在运行过程中,固定不变的值。

2.作用

1.程序在运行过程中,经常使用,便于计算
2.代表某一个含义
3.常量存在于常量缓冲区,且只有一份

3.可以作为常量

1.所有基本类型的值,可以作为常量
2.特殊的常量(String值)
3.自己创建的空间,空间存有值,值保持不变

二、变量

1.定义

程序执行过程中,可以改变的值

2.注意

变量是一个内存空间,在创建(声明)时,需指定数据类型,变量的名称;
变量只能存储一个内容(值&引用),内容可变;
创建变量时需注意变量命名问题

变量是一个空间,可以只创建空间不存放内容
变量空间创建后没有默认的内容(空的),空的变量空间不能使用。——-编译时错误

3.创建变量(声明)

格式:数据类型 变量名;
int a;

4.声明变量底层原理

1.硬盘上创建了一个文件,文件内容为源代码(跟计算机发送指令)
3.将.java源文件——>编译——>.class
4.执行——>内存中执行(将硬盘上的.class内容加载到内存里)
5.我们写好的指令 执行内存的空间 赋值 变化
源码编译执行 内存空间问题.jpg

5.double—->float有损失

例:float a = 5.3
1.存储在常量缓存区中
2.常量值的存储形式不是十进制,而是以计算机可识别的二进制进行存储
3.整数—->32bit(相当于int) 小数—->64bit(相当于double)
4.解决办法:加F/f
float a = 5.3f
拓展:byte a = 1
1—->32bit
a—->8bit
在赋值时自动进行了转化

  1. long a = 2147483648<br />当整数数值超过int的取值范围时,会出现编译错误(认为数字过大),如果需要那么大的数字,可在数字后面加L/l解决