一、常量
1. 概念
常量:程序运行中,固定不变的量
2.分类
-
字符串常量
"a"、"ab"、"中"、""
等 -
整数常量 整数
-
小数常量 小数
-
字符
'a'、'5'、'B'、'中'
等 -
boolean常量
boolean值true和false
-
空常量
空值,什么都没有 值为null
(直接输出会报空指针异常)
二、数据类型
1.概念
Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的,分为:
- 基本数据类型
- 引用数据类型
2.基本数据类型
类型 | 长度(bit) | 长度(字节) | 最小值 | 最大值 | 备注 | |
---|---|---|---|---|---|---|
整型(默认int) | 字节型byte | 8位 | 1 | -128 | 127 | |
短整型short | 16位 | 2 | -32768 | 32767 | ||
整数型int | 32位 | 4 | -2^31 | 2^31-1 | 最大21亿 | |
整数型long | 64位 | 8 | -2^63 | 2^63-1 | L | |
浮点型(默认double) | 单精度float | 32位 | 4 | F(精确7位) | ||
双精度double | 64位 | 8 | ||||
字符型(默认null) | 字符型char | 16位 | 2 | Unicode、ascll码表 | ||
布尔型(默认false) | 布尔型boolean | 8位 | 1 | true、false |
3.引用数据类型
除了八种基本出具类型都是引用数据类型
如:字符串(String)、数组、类、接口、Lambda等等
4.小结
- 字符串是引用数据类型 不是基本数据类型
- 浮点数可能只是一个近似值,并非精确值
- 数据范围与字节数不一定相关,例如4字节的float数据范围比8字节的long更广泛
- 浮点数默认double,想要使用float类型加后缀F
整数默认int,想要使用long类型需要加后缀L
推荐大写
三、变量
1.概念
- 变量:在程序运行过程中,其值可以发生改变的量
从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化
2.定义格式
1. // 第一种:声明变量并赋值
数据类型 变量名 = 初始化值;
int age = 18;
2. // 第二种:先声明,后赋值(使用前赋值即可)
数据类型 变量名;
变量名 = 初始化值;
double money;
money = 55.5;
3. // 第三种:定义int类型的变量a和b,中间使用逗号隔开
int a = 10, b = 20;
int c,d; // 声明int类型的变量c和d,中间使用逗号隔开
c = 30;
d = 40;
3.小结注意
1. 在作用域内,创建的多个变量不能重名
2. 变量如果没有赋值,不能直接使用,如果想使用必须先赋值
3. 变量的作用域
作用域:变量定义在哪个代码块中只能在哪里只用,
超出所属大括号范围就失效
4. 全局变量和局部变量
全局变量:父级块申明变量,子级可以使用,无法重复申明
局部变量:子级块之间(程序块{
}区分)申明变量互不干扰
四、数据类型转换
1.概念
-
数据类型转换:当数据类型不同时,将会发生类型转换
-
分类
- 自动类型转换(隐式)
- 强制类型转换(显式)
2.自动类型转换
自动转换(隐式)
- 特点:自动完成
- 规则:数据范围从小到大
3.强制类型转换
-
特点:代码需要进行特殊的格式处理,不能自动完成
-
格式:范围小类型 范围小变量名 =(范围小类型) 范围大数据
-
注意事项
-
强制类型转换一般不推荐使用,有可能发生精度损失、数据溢出
-
byte、short、char
这三种类型都可以发生数学运算,
例如"+"、"-"
,在运算时都会被首先提升为int类型,然后再计算 -
boolean类型不能发生数据类型转换
-
按ascll码表和UniCode表
0-127同ASCLL码表,后面有多个字符
48—'0'
65—'A'
97—'a'
-