什么是变量?
百度词条等官方解释说的很高大上,就个人而言,简单来说,就是程序运行中,他的值是可以改变的量。
什么时常量?
常量可以看成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。一般用final关键字修饰。
变量三元素:变量类型,变量名,变量值。
先说变量名,上一篇已经讲过标识符是给变量,类,方法等命名的符号,那变量名的命名规则简单来说和标识符一样,尽量简单,见名知意,长度不限,变量有多个单词组成时第一个单词小写,其余首字母大写。
变量的数据类型
数据类型主要分为两类:基本数据类型和引用数据类型
数据类型 | 说明 | 所占字节 | 位 | 范围 | 默认值 |
byte | 字节型 | 1 | 8 | -2^7 ~ 2^7-1 | 0 |
short | 短整型 | 2 | 16 | -2^15 ~ 2^15-1 | 0 |
int | 整型 | 4 | 32 | -2^31 ~ 2^31-1 | 0 |
long | 长整形 | 8 | 64 | -2^63 ~ 2^63-1 | 0 |
float | 单季度浮点型 | 4 | 32 | 3.402823e+38 ~ 1.401298e-45 | 0.0 |
double | 双精度浮点型 | 8 | 64 | 1.797693e+308~ 4.9000000e-324 | 0.0 |
char | 字符型 | 2 | 16 | 采用Unicode编码 | 一个空字符,即"\u0000" |
boolean | 布尔型 | 1 | 8 | 只有true和false | false |
引用数据类型的默认初始值为null;
Unicode编码
char c = '\u003d';
//unicode表示,在值前加"\u"
类型转换:1、boolean不能和其他类型相互转换
2、隐式转换也叫作自动类型转换, 由系统自动完成.从存储范围小的类型到存储范围大的类型.
无信息丢失: byte ->short->int->long;char->int;float->double;int->double
可能存在精度丢失:int->float;long->float;long->double
3、显示类型转换也叫作强制类型转换, 如果A类型的数据表示范围比B类型大,则将A类型的值赋给B类型,需要强制类型转换,此时可能会丢失精度,double→float→long→int→short(char)→byte
如:
int a = 4; //int类型的范围比byte类型的大
byte b = (byte)a; //转为byte类型的强制转换
引用数据类型:包括类(class)接口(interface)数组(array)
变量的声明:
格式:数据类型 变量名;
int a;
int c,d;
int b = 5;//声明时赋值