JAVA的数据类型
1、JAVA数据分为基本类型和引用类型。
2、基本类型分为八种:
byte short int long float
double char boolean
①、整数类型 byte、short、int、long
整数都是有符号的整数
byte 8bit -128 ~ +127
short 16bit -32768 ~ +32767
int 32bit -2G ~ 2G - 1-2^31 ~ 2^31 - 1
long 64bit -2^63 ~ 2^63 - 1
建议使用int, 很少使用short
使用int要注意取值范围,int的值不大!
JAVA的内存中,没有真正意义上的byte和short时,我们在用byte和short时,java是将其用int保存的。性能和存储空间都和int一样。
直接量(字面量),JAVA中所有整数的直接量默认都是int类型。可以直接使用int给byte和short赋值,但是不要超过byte和short的范围。
但是整数变量不能给byte和short赋值。
②、浮点数:float,double
a、double 是64位,float 是32位
double比float精确
b、默认的浮点字面量是:double类型的
字面量后缀:d/D f/F
③、字符型:char
④、布尔类型:boolean
3、强类型转换
package day01;
public class VarDemo {
public static void main(String[] args) {
int age; // 变量声明
// System.out.println(age);//错误,读取了未初始化的变量
age = 16;// 变量初始化。初始化:第一次赋值。
age = 15;// 变量赋值
System.out.println(age);// 输出:15 访问,读取变量的值
int score = 100;// 直接声明并且初始化
System.out.println(score);
// int score = 200;//错误,不能重复定义(声明)
score = 200;// 变量赋值
System.out.println(score);
if (score > 80) {
int iq = 100;
System.out.println(iq);
}// 变量iq的作用域在if括号内,离开if括号,iq被回收
// System.out.println(iq);//错误
int iq = 200;
System.out.println(iq);
}
}
package day01;
public class IntegerDemo {
public static void main(String[] args) {
int size = 1024*1024*1024*2;
System.out.println(size);//上溢。int的最大值为2G-1,这里把最后一个1上溢到符号位。JAVA不检查上溢的错误。
//直接量
long l = 1;
// l = 22000000000;//错
l = 22000000000L;//用L做后缀才是long类型
//1和1L在内存中也不一样,1为32位,1L为64位
int a = 127;
// byte bx = a;//错误,不能使用变量直接给小类型赋值
l = 1024L*1024L*1024*4;
int i = (int)l;
System.out.println(i);
System.out.println(Integer.toBinaryString(i));
}
}
package day01;
public class FloatDemo {
public static void main(String[] args) {
int a = 0x7fffffff;
int b = 0x7ffffff0;
float af = a;
float bf = b;
System.out.println(af);
System.out.println(bf);
}
}