目录
7:50-8:00学习打卡
10:00-12:00:看Java疯狂讲义
2:00-5:30:看视频
7:00-9:00看视频和书
整型
类型 | 所占字节 | 范围 |
byte | 1(8位) | -128(-2^7)~127(2^7-1) |
short | 2(16位) | -2^15~2^15-1 |
int | 4(32位) | -2^31~2^31-1 |
long | 8(64位) | -2^63~2^63-1 |
直接给出一个整数值默认就是int类型
注意事项:
- 如果直接将一个较小的整数值(在byte、short或char类型的表数范围内)赋给一个byte、short或char变量,系统会自动把这个整数值当成byte、short或char类型来处理
- 如果使用一个整数值(已经超过了int类型的表述范围)时,Java不会自动把这个整数值当成long类型来处理。如果希望系统把一个整数值当成long类型来处理,应当在整数值后面加l或L作为后缀
整数的四种表示方式
进制 | 标志 |
二进制 | 0b或0B |
八进制 | 0 |
十进制 | 无 |
十六进制 | 0x或0X |
字符型
字符数值必须用单引号括起来,占用两个字节,编码从0~65535
字符型值的三种表示形式:
- 直接通过单个字符来指定字符型值,例如'a','5'等
- 通过转义字符表示特殊字符型值,例如'\t','\n'等
- 直接使用Unicode值来表示字符型值,格式是'\uXXXX',其中XXXX代表一个十六进制的整数(范围'\u0000'~'\uFFFF')
注:字符串通过String类来表示,需要用双引号括起来,属于引用数据类型
浮点型
字节 | 范围 | |
float(单精度) | 4(32位) | -3.403E38~3.403E38 |
double(双精度) | 8(64位) | -1.798E308~1.798E308 |
注意事项:
Java语言的浮点类型一般默认为double类型,如果希望希望把一个浮点类型值当成float类型来处理,需要加f或F作为后缀
三个特殊的浮点数值:
表示 | |||
正无穷大 | POSITIVE_INFINITY | 正整数或浮点数 | 0.0或0 |
负无穷大 | NEGATIVE_INFINITY | 负整数或浮点数 | 0.0或0 |
非数 | NaN | 0.0或负数开根 | 0.0 |
所有正负无穷大都是相等的,非数不与任何数相等
在Java中可以在数值中添加下划线
float a=2.3_456_678;
布尔型
占用一个(在数组中使用)或四个字节(单独使用)
数值只能是true或false
布尔型可以转化为字符串类型,字符串不可以转化为布尔型
boolean b1=true;
String str=""+b1;
使用var定义变量
使用var定义局部变量时,必须在定义局部变量的同时指定初始值,否则编译器无法推断该变量的类型
var a=20;//a为int类型
var b=2.0;//b为double类型
a=4.0;//错误,a为int类型
使用var定义的变量不仅可以是基本类型,也可以是字符串等引用类型
表达式类型的自动提升
- 所有的byte类型、short类型、char类型都自动提升至int类型
- 整个算数表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型
int a=8;
int b=100000000;
//long c=a*b;错误,会溢出,先为int类型,后转为long类型
long c=1L*a*b;//或long c=(long)a*b;
'+':不仅仅代表加法运算,还可以用作字符串的连接运算符
常数
常数通常指一个固定的值,例如:1、2、3、4、'a'、true等
在Java中,主要是利用final来定义一个常量,常量一旦被初始化后不能更改其值。
final double PI=3.14;
为了更好的区分与表述,一般将1、2、3、'a'、true等称为字符常量,而使用final修饰的PI等称为符号常量。