java变量与常量的区别
java常量与变量的区别
一、常量
用final修饰(也称最终变量)
常量在声明时必须赋初值,赋值后不能再修改值
常量名通常用全大写字母表示
声明时需要添加final或static final类型修饰符,例如:private final int PI=3.141596; //常量,类加载时确定或者更靠后确定值
private static final int PI=3.14159;//静态常量(编译期常量),编译时就确定值(编译为class文件)
二、变量
1、变量类型不同,分配的内存类型也不同
2、无初始化成员变量的默认值
3、变量的自动算术运算转换
两个数据类型不同的变量做算术运算时,需要先进行数据类型转换
系统的自动类型转换按由低到高的精度进行
数据类型自动转换规则:
数据转换示例//两个byte型数据相加
public class Add_two_byte{
public static void main(String args[]){
byte a = 5;
byte b = 3;
//byte c = a+b; 错误,两个操作数都转成int型
int c = a+b; //正确操作
System.out.println(a+"+"+b+"="+c);