数据类型拓展.
0.大小范围
图片转自blibli-狂神说Java
1. 整数(int)
- 八进制 0数字
- 十六进制 0x数字
- 十进制 数字
2.浮点数(float , double)
浮点类型 | 使用须知 | 格式 |
---|---|---|
float | 大约性,有效,离散,有舍入误差 | float i = 16f; |
double | 较为精确 | double i = 16.0; |
-
两者不相等
-
银行数据都采用 BigDecimal类工具
3.字符(char)
- char c1 = ‘字’;
- char c2 = ‘符’;
- (int)c1
- 强制转换
-
格式
-
要转成的类型 变量名 = (原类型)变量值;
- 并非所有类型都能使用
-
所有字符本质都是数字
-
编码 Unicode 2字节 0-65536 相当于Excel 2 16 = 65536
- char c3 = ‘\u编码序列’;
- U0000 - UFFFF
- 16进制
-
转义字符
-
\t 制表符 Tab
-
\n 换行
System.out.println("Hello\nWrold"); System.out.println("Hello\tWrold"); ......
-
布尔值(boolean)
- boolean flag = true;
- 有 true 和 false 两个值
boolean flag = true;
if(flag==true){}
if(flag){}//两种含义相同
类型转换
- 低到高
int i = 128;
byte b =(byte) i;//内存溢出(超出范围)
double du = i;
//强制转换 (类型)变量名
//自动转换 低---高
System.out.println(i);
System.out.println(b);
/* 注意点
* 1.不能转换布尔值··
* 2.不能把对象类型转换为不相干的类
* 3.高---低 强制转换
* 4.注意内存溢出或精度问题
*
* */
System.out.println((int)23.7);
System.out.println((int)-45.89);
System.out.println("==============================");
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
-
注意点
//操作比较大的数时,注意溢出问题 //数字之间可以下划线隔开 int money = 10_0000_0000; int years = 20; int total = money*years;//-1474836480,计算是已经溢出 long total1= money*years;//转换前就溢出了 long total2=money*((long)years); System.out.println(total2);