常量
定义:指不能被改变的值
作用:
1、固定的值; 圆周率、e等
2、用来代表含义; 比如1234代表上下左右
什么样的值算常量
1、固定不变的值
所有基本类型的值 固定不变 是常量 1 3.14 'a' true
2、特殊的常量
String类型 "abc"
3、自己创建的空间
存储一个值 让他固定起来 final int UP=1;
变量
定义:在程序的执行中可以改变的,用我媳妇的话说,变量就是用来改变的
创建
创建必须指定数据类型,以及变量空间的名字,变量空间只能存储一个内容,变量的改变指的就是变量空间内的内容的改变。
byte a; a=1;
float b=2.2; //float b = 2.2F
long c = 2222222222; //long c = 2222222222L;
第一行代码
声明了一个变量空间、空间名字是a空间要存储的类型是byte型; 格式: 数据类型 变量名字;
java10引入了局部变量 var用于声明局部变量。示例:StringBuilder sb = new StringBuilder(); 等价
var sb = new StringBuilder();
第二行代码
给变量赋值,把1存储到a名字的空间进行存储
不赋值的变量是不可用的,在声明变量的时候最好给出一个初值,传说当今武林有两大绝学,变量声明和变量赋值,我用整整三十年时间将两招并成一招! int a =1;
变量声明在内存中
内存的分布只是粗略的画了一下,等学面向对象的时候会经常用到,这里推荐《深入理解Java虚拟机》这本书(非利益相关)
这里的数字,小数都是存在常量区的,小数用64bit来存储(double),整数用32bit来存储(int)。
当声明byte a = 1的时候,因为没有超过byte范围, 如果等号右边是常量则 = 会自动把int类型的1变成byte类型的1。00000000 00000000 00000000 00000001 ====> 00000001
当声明float b = 2.2的时候,因为float类型和double类型的算法机制不同(一个指数位8位,一个指数位11位),所以并不能直接去掉后面的位数转化,会提示从double转换到float可能会有损失,所以正常声明float类型的小数的时候要写成 float b=2.2F; 如果上面的解释没有看懂,就死记硬背下来吧。
当声明long c = 2222222222的时候,超出了int类型的取值范围2147483647的时候 必须加上L才好使
命名的规则和规约
规则:名称只能是字母、数字(0-9不允许做开头)、符号(_$)、中文
规约:首字母小写,如果两个以上的单词之后的首字母大写
注释
1、单行注释 //
2、多行注释 /* */
3、文档注释 //*
功能很简单,不做过多解释了,重要的是写代码的时候要养成写注释的好习惯。