常量和变量

一.什么是常量:

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

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

2.自己定义的常量。

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

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

3.特殊的常量。

String str="abc";

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

二.常量有什么用:

1.参与过程运算。

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

2.代表特殊的含义。

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

三.什么是变量:

1.变量

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

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

变量只能存储一个值;

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

2.变量的声明(创建):

数据类型+变量名

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

3.变量命名简单回顾:

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

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

4.变量名与类名的区分:

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

例如: 类名:      Test          PracticeEnglish

           变量名:    super       superMan

四。底层实现

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

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

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

=是什么:

1.计算机硬件:

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

2.硬盘,内存:

举例:

public class practice{

                public static void main(String [] args){

                  int a;

                  a=1;

                }

}

(1)硬盘存储:

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

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

(2)JVM开辟内存条

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

(3)执行字节码文件

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

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

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

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

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

五.数据类型的默认值

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

float:4个字节

int :4个字节

byte:1个字节

 

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

1,整数二进制存储

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

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

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

2,小数二进制存储

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

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

六.注释

单行注释;//(增强代码可读性)

多行注释;/*   */(增强代码可读性)

文本注释:/**  */(放在类或方法的前面解释其作用,可单独生成为某个文件);

七.忠告

1.代码要有层次感;

2.命名规范;

3.注释要详细,并尽可能的多;

写了好久,自己也收获了好多知识,回头再理理吧!

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值