Java基本数据类型与类型转换
Java的数据类型有两大类
1.基本类型
数值类型包括整数类型,浮点类型,字符类型。
boolean类型,就是布尔类型。
类型 | 说明 |
---|---|
byte | 占1个字节 范围:-128-127 |
short | 占2个字节 范围 -32768-32767 |
int | 占4个字节 范围 -2147483648-2147483647 |
long | 占8个字节 范围 -9223372036854775808-9223372036854775807 |
float | 占4个字节 |
double | 占8个字节 |
char | 占两个字节 |
boolean | 只有true和false两个 |
`
public class Deom02 {
public static void main(String[] args) {
/*强类型语言:要求变量的使用要严格符合规定,
所有变量都必须定义后才能使用,下面的类型全部都属于强类型语言,
除了强类型语言之外还有弱类型语言*/
//整数
int num1 = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 40L;//注意,在使用long类型的时候要加L
//小数,浮点数
//注意,不要使用浮点类型的变量去比较大小,这个以后再深入了解
float num5 = 3.1F;//float类型要在后面加一个F
double num6 = 3.141592635897;
//字符类型
char name = '程';//字符只是单个的字符
//字符串类型,String不是关键字,是一个类
String name2 = "shengyi";
//布尔类型
//注意 boolean类型只有true和false
boolean k = true;
boolean f = false;
}
}
2.类型转换
`
public class Demo4 {
public static void main(String[] args) {
int num1 = 128;
//高容量->低容量需要进行强制转换 (类型)变量名
byte num2 = (byte)num1;
//128超出了byte的-128-127的范围
System.out.println(num1);//128
System.out.println(num2);//-128
//低容量->高容量不需要强制转换,是自动转换
double num3 = num1;
System.out.println(num3);//128.0
/*
* 注意:
* 1.不能对布尔类型进行转换
* 2.在进行转换的时候要注意范围溢出的情况
* 3.在浮点数转换为整数的时候要注意精度的问题
* 4.也可以对字符类型进行转换*/
System.out.println((int)99.9);//99
System.out.println((int)123.4f);//123
char s = 'a';
System.out.println(s);//a
System.out.println((int)s);//97
int s1 = s+1;
System.out.println(s1);//98
System.out.println((char)s1);//b
int num_1 = 1000000000;
int num_2 = 66;
int total1 = num_1*num_2;
System.out.println(total1);//1575490560 溢出
long total2 = num_1*num_2;//默认的是int类型
System.out.println(total2);//1575490560
long total3 = num_1*((long)num_2);//在进行运算的时候就强制类型转换,可以避免这个问题
System.out.println(total3);//66000000000
}
}