Java 常量和变量

  • Post author:
  • Post category:java


常量:

常量在程序运行过程中,不能再次改变的值


作用:

①固定的值,代表计算过程中经常用到的值

便于程序计算

②用来代表一个含义

如1、2、3、4代表四个方向


什么样的值算是常量??




固定不变的值算作常量

1,4,‘a’,true

可认为所有基本类型的值  固定不变  是常量

②特殊的常量

’abc’——->String

String是一个引用数据类型,他的值很特殊,可以视为简单的常量

③自己创建的空间,存储一个值,把他固定起来,不能改变

final int a = 1;

变量

变量指的是 程序执行过程中可以改变的

变量是一个内存空间

变量空间在创建(声明)时的时候,必须指定数据类型 变量空间的名字

变量空间 里面只能存储一个内容

变量空间  里面只能存储一个内容(值 引用)

变量空间的内容可以改变


变量如何声明/创建?

数据类型  变量名字;

int a;


变量名

:首字母小写,两个以上的单词,之后的首字母大写

superPerson

所有名字见名知义


需要注意

变量时一个空间,可以只创建空间,里面不存放内容

变量空间创建后是没有默认的内容,空的

空的变量空间不能拿来使用,编译错误

byte a;  //声明一个名为a的变量空间,存储类型是byte

a = 100;//将1赋值给a


计算机底层做了什么??

1.x是什么? 变量空间   存在哪儿?———>栈内存内

2.1是什么? 1是常量  存在哪儿?———->常量缓冲区

3.= 是什么? =是赋值    做了什么?


计算机的硬件组成

主板 CPU 声卡 显卡 网卡  电源  内存  硬盘

1.硬盘上创建了一个文件 Test.java

2.文件中的内容是我们编写的源代码(跟计算机发送指令)

public class Test{
    public static void main(String[] args){
        byte x ; 
        x = 1;
    }
}

3.将Test.java源文件——->编译——–>Test.class

内容我们看不懂,字节码,留给计算机识别

4.执行——>内存中执行

将硬盘上的Test.class内容 加载到内存里


内存:

栈内存:所有的执行都在栈内存

(先进后出,后进先出)

堆内存(仓库):开辟的空间

方法区:所有的元素只有一份,不能改变

常量缓冲区(常量池)、方法区(存储类模板)、静态元素区(static)

字符(char–>基本数据类型,’a’)

字符(String—->引用数据类型,“a”,”abc”,null,””)  (羊肉串)

=============================================================================

float a = 3.4F

从double转化为float会有损失

3.4是存储在常量缓冲区的常量值,常量值以二进制的形式存储

long  b = 2147483648L;

-2147483648   -2147483647是int的取值范围

如果创建的常量值超过了以上范围,程序编译检测的时候会认为 数字过大



版权声明:本文为zsxdg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。