数据类型,跟JS感觉差异不是很大,但是有个String不是很一样的样子
数据类型分为 基本数据类型和复合数据类型
- 基本数据类型分为下面三种
数值类型
1.整数类型:byte,short,int,long
2.浮点数类型:float,double
字符类型 char
布尔类型 true false - 复合数据类型 也是三种
类类型
数组
接口类型:interface
搞一些例子来
int a = 1;
char m = 'm';
String str = "string";
- 我的理解:前两个是基本数据类型,值存在栈里,后面那个String,跟JS就不一样了,JAVA中这个东西是存在堆里的,就跟我们说的那个 引用类型是差不多的感觉。
基本数据类型的占用位数和取值范围
数制,就是 十进制、八进制、十六进制
特点
- 十进制数 以1-9开头
- 八进制数 以0开头
- 十六进制数 以0x开头
结合 数制 以及 基本数据类型的占用位数和取值范围,我们可以举例子
- int a = 1;
1 就是int类型的十进制数字,32位保存 - int b = 077;
077 就是八进制整数77,等于十进制数63,32位保存 - int c = 0xBABE;
0xBABE 就是十六进制整数BABE,等于十进制数字47806,32位保存
长整型long示例(这个不知道是干嘛用的哦)
- 2l或者2L表示十进制数2,64位保存。
- 077L或077l表示八进制数77,64位保存。
- 0xBABEL或0xBABEl表示十六进制整数BABE,64位保存。
浮点数示例
- 1.23d 或者 1.23D 或者 1.23 都是代表双精度浮点数,64位保存
- 1.23f 或者 1.23F 代表单精度浮点数,32位保存
字符示例
- char类型要用单引号
char a = 'a'; - '\t' 表示tab按键
- '\u????' 表示一个Unicode字符,????是4位十六进制的数字