java数据类型(8个基本数据类型+3个引用数据类型)与数据类型转换知识点

2023年2月15日12:57:41

前言必读:

 读者手册(必读)_云边的快乐猫的博客-CSDN博客

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

如果你觉得本篇文章对你有所帮助的,给个一键三连吧!!!

点赞关注收藏,抱拳了!

  • 作者:云边的快乐猫
  • 原文链接:https://blog.csdn.net/m0_52861000/article/details/125954790
    更新时间:2023年2月15日12:57:41 ,共 1744 字。