在java中
Int 类型的变量占 4个字节
Long 类型的变量占8个字节
一个程序就是一个世界,变量是这个程序的基本单位。
Java基本数据类型
1、 整数类型
2、 小数(浮点数)类型
3、 布尔类型
4、 字符类型
整数类型
整数类型可以表示一个整数,常用的整数类型有:byte,short,int,long
Byte 一个字节 -128到127
注:0有两个表示0000 0000正零 1000 0000 负零,负零被作为 -128 1111 1111 -127
公式: -2^n-1 ~ 2^n-1 -1
Short 两个字节 -32768 到 32767
Int 四个字节 -2147483648 到 2147483647
Long 八个字节
二进制 十进制 1在的位数 0的个数
1 1 1 0
10 2 2 1
100 4 3 2
1000 8 4 3
10000 16 5 4
100000 32 6 5
1000000 64 7 6
10000000 128 8 7
100000000 256 9 8
1000000000 512 10 9
10000000000 1024 11 10 2^10 = 1024 (10个0)
小数(浮点数)类型
Float(单精度浮点数)
Double(双精度浮点数)
布尔类型
布尔类型可以表示 真 或者 假
Boolean
字符类型
字符类型可以表示 单个字符,字符类型是char,char是两个字节,1个char变量可以存放1个汉字。
多个字符我们称为字符串,在java中用String这种数据类型表示,但是String不是基本数据类型,而是类,类是复合数据类型。
Int test1=’a’+’b’; 输出:195
表示:将a对应的ASCII码数字与字符b对应的ASCII码数字相加,并作为数字存储在int类型变量test1中
Char test1=’a’+’b’; 输出:?(未找到)char test1='!'+'!'; 输出:B
表示:将a对应的ASCII码数字与字符b对应的ASCII码数字相加,并作为相加后数字对应的ASCII码存储在char类型变量test1中。
结论:在java中,对字符进行运算时,直接当做ASCII码或Unicode码对应的数字计算(加减),并保存为该变量对应的数据类型,如果是整形则保存数字,如果是字符型则保存数字对应的字符。
自动转换
数据类型可以自动从低精度转换到高精度,但不可以自动从高精度转换到低精度。
Float a = 3.4; 报错
Float a =3.4f; 不会报错,加f表示小数用float类型
注:java中的小数默认是double,因为是从高精度自动转换到低精度所以会报错。
强制转换
Int a = (int)1.2; 在数字前面写括号,括号中写强制转换的类型
int a = (int)1.2;
int b = (int)1.9;
System.out.println("a="+a+","+"b="+b); 输出:1,1
注:java中强制类型转换不会四舍五入,浮点数类型强制转换成整形会强制去掉小数点后面的数字。
Int a = 3;
Int b =a+3.4; 报错
int a = 3;
double b = 3.1;
b = a+b;
System.out.println(b); 输出:6.1
注:当一个低精度数字与一个高精度数字相运算时,低精度数字会往高精度转。