前言必读:
读者手册(必读)_云边的快乐猫的博客
java数据类型分为基本数据类型和引用数据类型
一、八大基本数据类型(变量名指向具体的数值):
boolean bl = true;//1字节
byte b = 1;//1字节
char c = '2';//2字节,不可转
short s =3;//2字节
int i = 4;//4字节
float f =5;//4字节
double d = 6;//8字节
long l = 7;//8字节
1.数值型
(整数):byte、short、int、long
byte(字节型)
默认值:0
short(短整型)
默认值:0
int(整形)
默认值:0
long(长整型)
默认值:0L
(浮点):float、double
float(单精度浮点型)
默认值:0.0F
double(双精度浮点型)
默认值:0.0
2.字符型
char(字符型)
默认值:‘\u0’
3.布尔类型(boolean):
booolean(布尔型)
默认值:false
具体占用多少字节视情况而定,true和false占1位
或者
数据类型转换
1.转化从低级到高级:byte,short,char(三者同级)—> int —> long—> float —> double
小数优先于整数
2.低级—> 高级:自动类型转换 高级—> 低级:强制类型转换
3.强制类型转换可能找出数据丢失,内存溢出,精度问题,不能对布尔进行转换
4.整形转换为字符型char,都要强制类型转换。
5.整数之间进行转换,不管什么类型,最后都默认为int。除了有long在,就为long
直白解释强制转换:本来就是高级的,想要转成低级的
强制数据转换例子:(高—>低)
强制转换方法:在要转换的字符前要加上(要转换的类型)
运行结果
超过值范围:导致内存溢出就会发生补码
运行结果
自动类型转换例子:(低—>高)
自动转换方法:转换不用加(要转换的数据类型)
自己本身低级,想要变成高级的
运行结果
默认转换大全
package learn;
public class WrongCode {
public static void main(String[] args) {
byte b = 1;//1字节
short s = 2;//2字节
int i = 3;//4字节
long l =4;//8字节
float f = 5F;//4字节
double d = 6;//8字节
//byte转其他类型
short s1 =b;
int i1 = b;
long l1 =b;
float f1 =b;
double d1 =b;
//short转其他类型
int i2=s;
long l2=s;
float f2=s;
double d2=s;
//int转其他类型
long l3 = i;
float f3 = i;
double d3 = i;
//long转其他类型
float f4 =l;
double d4 =l;
//float转其他类型
double d5 = f;
//double转其他类型
}
}
强制转换大全
package learn;
public class WrongCode {
public static void main(String[] args) {
byte b = 1;//1字节
short s = 2;//2字节
int i = 3;//4字节
long l =4;//8字节
float f = 5F;//4字节
double d = 6;//8字节
//byte转其他类型
//short转其他类型
byte s2 =(byte)s;
//int转其他类型
byte b3 = (byte) i;
short s3 = (short) i;
//long转其他类型
byte b4 = (byte) l;
short s4 = (short) l;
int i4= (int) l;
//float转其他类型
byte b5 = (byte) f;
short s5= (short) f;
int i5 = (int) f;
long l5 = (long) f;
//double转其他类型
byte b6 = (byte) d;
short s6 = (short) d;
int i6 = (int) d;
long l6 = (long) d;
float f6 = (float) d;
}
}
二、 引用数据类型(指向存数据的内存地址):
默认值都为null
1.数组
2.接口
3.类
注意:String类型也属于类(引用数据类型)
String
如果你觉得本篇文章对你有所帮助的,给个一键三连吧!!!
点赞关注收藏,抱拳了!