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的取值范围

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

猜你喜欢

转载自blog.csdn.net/zsxdg/article/details/107911447