变量是指在程序执行过程中,其值会发生变化的值。与其相对的,常量是指在程序执行过程中,值不会发生变化的量。
变量的三要素:1)数据类型 2)变量名 3)初值。
1)数据类型
1.基本数据类型:
整数类型:(默认使用int类型)
byte (字节类型) 所占字节数: 1
short (短整型) 2
int (整型) 4
long (长整型) 8
浮点类型:(默认使用double类型)
float(单精度) 4
double(双精度) 8
字符类型:
char 2
布尔类型:
boolean 1
定义long类型的变量:由于整数类型默认是int类型 ,所有在long类型变量值后面加上一个标记:L或者l ,建议使用L。
2.引用类型(到数组再分析)2)变量名
定义变量的注意事项:
1.不能是数据中的关键字
2.不能以数字开头
3.一个变量名不能重复定义
3)变量中的一些问题
1.在进行变量间的运算时,最好是同一类型的数据,如果不是同一类型,可能会有自动类型提升或者强制类型转换。
自动类型提升:byte,short,char之间相互不转化,一旦参与运算,将自动提升为int类型
强制类型转换:目标数据类型 变量名 = (目标数据类型)(变量值)
面试题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;哪一句编译出错?为什么?
正如上面提到的,byte,short,char之间相互不转化,但一旦参与运算,自动提升为int类型,所以b1+b2的值变为int型,将int类型数据赋值给byte类型将会编译出错!此时如果要修改,则要将b1+b2强制类型转换,b=(byte)(b1+b2);变量相加是先看数据类型!第二句编译通过,常量相加是先运算,看当前结果是否在数据范围之内!
4)常量的分类
1.字面值常量
a.字符串常量 “hello”
b.字符常量 ‘a’
c.整数常量 100
d.小数常量 3.14
e.布尔常量 true
f.空常量 null
2.自定义常量(以后讲)
5)Java中的标识符
标识符命名规则:(不能以数字开头)
1.英文字母
2.数字
3.$和_
包的命名方法:
字母全都小写
类和接口的命名方法:
每个字母首字母大写
方法的命名方法:
第一个单词全小写,后来的单词首字母大写
常量的命名方法:
字母全都大写,字母与字母之间以_下划线隔开。