数据类型
整数型
i、整数的赋值范围表
类型名称 | 数据类型 | 所占空间 | 表数范围 |
字节型 | byte | 1个字节 | -128–+127 |
短整型 | short | 2个字节 | -215—+215-1(±3w) |
整型 | int | 4个字节 | -231—+231-1(±21亿) |
长整型 | long | 8个字节 | -263—263-1(非常大) |
注意:遇到比long类型还大的数赋值可以使用BigInteger。
ii、整数的注意事项
- 在java中所有整数的默认类型都是int类型,如果给一个超过int类型的范围的long类型的整数赋值,需要在后面加“l”或“L”。
int a = 12345678910L;//“L”可以小写
- 在java中如果给byte和short类型的整数赋值时,只要数值没超过byte和short类型的范围就可以正常赋值。
ii、i整数的赋值方式
- 二进制赋值
以0b、0B开头后跟二进制数。
//二进制的赋值方式
int num = 0B101; //"0B"的”B“可以小写
注意:二进制赋值方式是从jdk1.7之后才出现的
- 八进制赋值
以0开头后跟八进制数。
//八进制赋值
int num = 027;
- 十进制赋值
正常赋值,我们常用的就是十进制赋值。
//十进制赋值
int num = 100;
- 十六进制赋值
以0x或0X开头后跟十六进制的数。
//十六进制赋值
int num = 0XA;//"0X"de "X"可以小写
注意:十六进制中A代表10,B代表11,依次类推
浮点数型
i、小数的取值范围
类型名称 | 数据类型 | 所占空间 | 精度 |
单精度 | float | 4个字节 | 6—7位 |
双精度 | double | 8个字节 | 15—16位 |
ii、小数的注意事项
- 在java中小数的默认类型都是double类型的,如果把一个小数赋值给float变量时要在小数后面要加”f“或”F“。
- 在计算机中小数的储存时近似值,尽量不要使用小数进行四则运算,用BigDecima来处理小数问题。
- 在java中有小数有三个特别的值。
System.out.println(1/0.0); //输出结果是 Infinity
System.out.println(-1/0.0); //输出结果是 -Infinity
System.out.println(0.0/0.0);//输出结果是 NaN(not a number) 自己和自己比较都不相等的数。
iii、小数的赋值方式
- 正常赋值
//正常给一个小数赋值
double num = 0.0056;
- 科学计数法
格式:尾数E整数
举例:科学计数法表示314159.26=》3.1415926E5
//科学计数法表示小数314159.26
double num = 3.1415926E5;
注意:E前面的数一定是个大于0小于10的数(0,10)之间,E也可以小写
逻辑型(布尔型)
i、布尔型的范围
- boolean实际只占一个字节,会按照byte给他分配的1个字节存储,一个是true一个是flase。
ii、布尔型的注意事项
- boolean类型的值只有两个,一个是true一个是flase
- 实际存储中,1代表true,0代表flase。
- java中不能通过0和1直接给boolean类型赋值。
iii、布尔型的赋值方式
//声明一个变量存放boolean值
boolean num = true;
字符型
i、字符型的取值范围
数据名称 | 数据类型 | 所占空间 | 表示范围 |
字符型 | char | 2个字节 | [0,65535] |
ii、字符型的注意事项
- 通过一组单引号引起来的单个字符(不能是0个字符,也不能是多个字符更不能是双引号)。
- 通过一个数字赋值(一个字符对应一个数字)字符的存储是按照字符集合中字符对应的数字进行存储的(A–65,a–97依次类推)。
- char类型可以进行四则运算。
iii、字符型的赋值方式
- 直接赋值
通过一组单引号引起来的单个字符
char num = 'A';
- 数字赋值
通过字符集合表中字符对应的数字来赋值
char num = 97;//97=a
- Unicode赋值
\u加二进制数
char num = '\u0000';
转义字符
定义
java中通过”\“将一个字符本身的含义改变。
转义字符可以给char类型变量赋值也可以在字符串中使用
常见的转义字符
- "\t"空格 (一个制表符位8个空格)
要注意会和前面的字符累加看是否有8位,如果不够用空格填充(一个汉字两个字符)
System.out.println("abcdefg");
System.out.println("ab\tcdefg");
System.out.println("abcde\tfg");
System.out.println("abcdef张三\tg");
- "\n"换行
System.out.print("你好,\n");
System.out.print("我的祖国");
- "\"利用它来进行原样输出
System.out.print("\\");//输出结果是 \
System.out.print("\"");//输出结果是 "
进制转化和计算
转化
i、二进制和十进制之间的转化
ii、二进制和八进制之间的转化
他们之间的转化和二进制和十进制转化方法一样
二进制转八进制时也可以,二进制的数每三个一组(不够前面用o添),分别求出每三个数的对应的8进制数,在依次连接。
iii、二进制和十六进制之间转化
原理和二进制转十进制、八进制一样。参照解决。
计算
i、原码表示法
ii、反码表示法(计算负数时推算出)
iii、补码表示法
计算时出现 -0和+0情况,所以使用补码计算**