常量:在程序中,运行过程中不会改变的数据
常量:整数常量,小数常量带小数点,字符常量,字符串常量"" 随便写
布尔常量(boolean):true false 空常量 null 代表数据不存在,不可以直接使用
变量:在程序中,运行过程中值会发生改变的数据
作用:储存数据,一次只能存储一个
定义格式:数据类型 变量名 = 值
数据类型:四类八种:整型:byte short int long
浮点型: float(单精度) double(双精度)
字符型;char
布尔型:boolean
引用数据类型:数组 类 接口 注解 枚举
整数默认类型:int 小数则是:double
标识符
概述:我们自己给类,方法,变量取的名字
硬性规定:
-标识符可以包括英文数字26个,0-9,$和_.//int a_b = 10
-标识符不可以以数字开头.int a1 = 10 int 1a = 100(x)
-标识符不能是关键字. int static = 10 (x) int staticpubilc = 100
软性建议:
给类取名: 每一个单词的首字母都大写 public class DenmoTest
给方式取名字: 从第二个单词开始往后(包括第二个单词)首字母大写(小驼峰)
给变量取名字: 从第二个单词开始往后(包括第二个单词)首字母大写 (小驼峰)
数据类型 | 关键字 | 内存占用 | 取值范围 |
字节型 | byte | 1 | -128_127 |
短整型 | short | 2 | -32768_32767 |
整型 | int(默认) | 4 | -2^31^到2^63^-1 |
长整型 | long | 8 | -2^63_2^63^! |
单精度浮点数 | float | 4 | 1.4013E-45_3.4028E+38 |
双精度浮点数 | double | 8 | 4.9E-324_1.7977E+308 |
字符型 | char | 2 | 0_2^16^-1 |
布尔类型 | boolean | 1 | true,false |
注意事项:
1.变量没有定义不能直接使用,变量没有初始化(第一次给变量赋值)不能直接使用
2.在同一个作用域中,不能重复定义相同名字的变量
3.不同的作用域之间尽量不要互相访问
数据类型转换
1.什么时候发生数据类型转换:等号左右两边不一致的时候
2.分类
自动类型转换
强制类型转换
3.按照取值范围从小到大排序
byte short char>int >long >float>double
自动类型转换
1.什么时候发生:
a.取值范围大的数据类型 变量名 = 取值范围小的数据类型
b.取值范围小的数据类型遇到了取值范围大的数据类型
double b = 10+2.5
2.怎么自动类型转换:
小类型的自动提升为大类型
****重点:强制类型转换:
1.什么时候需要强制类型转换
取值范围小的数据类型 变量名 = 取值范围大的数据类型>报错
2.怎么强转呢?
取值范围小的数据类型 变量名 = (取值范围小的数据类下)取值范围大的数据类型
li:float num = (float)2.5;