常量和变量

目录

1. 常量概述

2. 常量使用  

3. 变量概述

4. 声明变量

5.变量命名简单回顾:

6. 区分变量名/类名

7. 底层实现

7.1 计算机硬件

7.2 硬盘,内存

8. 数据类型的默认值

8.1 整数二进制存储

8.2 小数二进制存储


1. 常量概述

1.固定的值,都可以算作常量。

如1,‘a’,3.14,true,可以认为基本类型的值均为常量;

2.自己定义的常量。

自己创建空间,存储一个值,让他固定起来,

如 后面学到的 final int a=11; 

3.特殊的常量。

String str="abc";

String是一个类,属于引用数据类型,创建字符串变量后,值不能修改,可以当作常量来使用;


2. 常量使用  

1.参与过程运算。

作为固定的值,参与过程运算,使过程更加简便,如Π=3,14;

2.代表特殊的含义。

如在制作小游戏的过程中,1,2,3,4可用来对应up,down,right,left

3. 变量概述

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

变量空间里的内容可以改变;

变量只能存储一个值;

变量是一个内存空间(类似小容器);

4. 声明变量

数据类型+变量名

如 int a(告诉计算机,我要开辟一个空间 a,存储 一个 整数);

5.变量命名简单回顾:

变量名可由数字,字母,下划线,美元符($)组成;

数字不能当作命名的开头;严格区分大小写;

6. 区分变量名/类名

举一个例子就很好解释了.

例如: 类名:      Test          PracticeEnglish

           变量名:    super       superMan

7. 底层实现

我们提出以下问题:计算机底层做了哪些事情?

a 是什么?a 是变量名,存储在哪儿?

1 是什么?1 是常量,存储在哪儿?

= 是什么:

7.1 计算机硬件

主板,cpu, 显卡,网卡,声卡,电池,硬盘,内存:

7.2 硬盘,内存

举例:

public class practice{

                public static void main(String [] args){

                  int a;

                  a=1;

                }

}

硬盘存储:

硬盘会存储“.java”的源文件和“.class”的字节码文件。

首先根据 javac practice.java  指令,Java编译器在硬盘中将源文件编译为字节码文件,

JVM开辟内存条

接着,JVM会在内存中开辟部分空间用于运行;

执行字节码文件

类加载器(ClassLeader)将字节码文件信息搬运到JVM开辟的内存中;

之后,在栈内存中执行,根据 先进后出 原则,

public static void main(String [] args):main 方法先入栈,(最后出栈)

int a:开辟空间 a,存储 int 类型整数(前面说变量类似于一个容器);

将常量 1 存储在常量池中(转化为二进制存储,由于是 int 型,共有 32 bit ),再复制到栈内存中;

8. 数据类型的默认值

double:8个字节,浮点型默认为double型,因其精度较高,被广泛使用;

float:4个字节        int :4个字节        byte:1个字节

为什么同样是字节数多的转向字节数少的,int 可以转向 byte ,double 却不可以转向 float ?

8.1 整数二进制存储

前面说过,这些常量存储在栈内存的方法区,而且是以计算机能看懂的二进制形式存储的,

如 1:  0 0000000 00000000 00000000 00000001(int,32bit);

存储在byte类型的空间内,只能舍去前面的 0 0000001(byte,8bit),而如果超过byte的范围,即前面舍去的部分不均为零,不可以自动转换

8.2 小数二进制存储

而浮点型3.14二进制存储形式:

0 000000000 0000000...(第一位表示符号(正或负),第二到十位表示整数部分,其余均表示小数部分),不同于整数的二进制表示方式;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值