数据类型与变量
一、字面常量
常量即运行期间,固定不变的量叫常量。
字面常量的分类:
- 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。
- 整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000
- 浮点数常量:程序中直接写的小数,比如:3.14、0.49
- 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’
- 布尔常量:只有两种true和false
- 空常量:null
二、数据类型
在Java数据类型中主要有两大类:基本数据类型和引用数据类型。
基本数据类型有四类八种:
- 四类:整型、浮点型、字符型和布尔型。
- 八种:
注意:
- 不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节
- 整形和浮点型都是带有符号的
- 整型默认为int型,浮点型默认为double
- 字符串属于引用类型
三、变量
1、语法格式
数据类型 变量名 = 初始值;
例:数据类型 变量名 = 初始值;int a = 10; // 定义整形变量a,a是变量名也称为标识符,该变量中放置的值为10。
四、类型转换
Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验.
因为int 4个字节,long 8个字节。字节小的不能等于字节大的
1、自动类型转换(隐式)
自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。
特点:数据范围小的转为数据范围大的时会自动进行。
2、强制类型转换(显式)
强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。
特点:数据范围大的到数据范围小的。
注意事项:
- 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型
- 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
- 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
- 强制类型转换不一定能成功,不相干的类型不能互相转换
五、类型提升
1. 不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.