基本数据类型与标识符
基本数据类型+标识符
注释
单行注释:
// int a=1;
多行注释
/*
int a=1;
byte b=2;
*/
标识符
标识符一般用于类名,接口名,变量,方法名等
标识符由字母,数字,下划线,美元符组成
-
标识符不能由数字开头
-
标识符是严格区分大小写的
-
标识符不能使用Java中的关键字
-
标识符的命名还有一个默认的规定:驼峰规则
4.1 大驼峰 一般用于类名,接口名 例DaTuoFeng
4.2 小驼峰 一般用于方法名 例xiaoTuoFeng
变量
变量类型 变量名 变量值
- 变量名是一个合法的标识符
- 变量名不能使用Java关键字
- 变量名不能重复
局部变量必须手动初始化
成员变量无需手动初始化,都有其默认值
数据类型
java中有8种基本类型
数据类型 | 占用字节 | 数值范围 |
---|---|---|
byte | 1 | -128~127 |
short | 2 | -2^15 ~ -2^15-1 |
int | 4 | -2^31 ~ -2^31-1 |
long | 8 | -2^63 ~ -2^63-1 |
float | 4 | 对小数精确度要求不高 |
double | 8 | 对小数精度要求高 |
char | 2 | 0~65535 |
boolean | 1 | true/false |
整数默认是int类型的,小数默认为Double类型
隐式转换:小转大
示例
byte a=3;
int b=a;//a是byte类型 这里赋值的详细步骤为 int b=(int)a; 因为是byte转int,小转大,为隐式转换
显示转换:大转小
示例
int a=3;
byte b=(int)a; //这里这个类型转换就不可省略
字面值后缀
long的后缀值为 L
long a=1;//当整数值未超过int类型值范围时,后缀 L可以省略。 整数默认为int,这里可以省略是因为隐式转换
long b=10000000000000l;//当整数值超过int类型值范围时,后缀L就不可省略
float的后缀值为f
float a=1.1f; //float类型 后缀f不能省略 小数默认为double类型,所以必须要加后缀(显示转换)
double的后缀值是d
double a=1.1; //小数默认是double类型,所以这里后缀 d是可以省略的
运算规则
数值运算后结果的类型默认是大类型
byte a=1;
int b=2;
//a+b得出的值是什么类型的?
//这里的类型是int类型
int c=4;
double d=1.1;
//c+d得出的值是什么类型?
//得出的类型为double类型
byte,short,char类型的数据运算前会先转换为int类型
byte a=1;
byte b=2;
byte c=a+b;//这里运行会报错,a,b运算前会转换为int类型,所以算出的结果也是int类型
整数运算溢出
int a=1000000;
int b=200000;
int c=30000;
sout(a*b*c);//这里算出的结果有可能是个负数,整数运算,像是一个钟表,当转到最大时会再转到最小
浮点数运算不精确
sout(1-0.8); //结果为0.19999999999999996 可通过BigDecimal解决这个问题
浮点数中几个特殊的值
Infinity 无穷大 3.14/0
Nan not a number 非数字 0.0/0