Java的基本数据结构(详解)

Java的基本数据类型

文章目录

  • Java的基本数据类型
    • 1、Java数据类型图
    • 2、基本数据类型的分类
        • 注意事项:
    • 3、在编译器里的显示
    • 4、数据类型的转换
      • 1.自动类型转换
        • 基本概念:
        • 数据类型的取值范围大小:
        • 转换的规则:
      • 2、强制类型转换
        • 基本概念:
        • 格式:
        • 注意事项:


1、Java数据类型图

Java的基本数据结构(详解)_第1张图片

但今天,我们仅介绍基本数据类型。


2、基本数据类型的分类

类型 占用字节 位数 范围 默认值 举例说明
byte(字节型) 1 8 -128~127 0 byte b=10;
short(短整形) 2 16 -32768~32767 0 short a=2;
int(整型) 4 32 -231~231-1 0 int i=0;
long(长整型) 8 64 -263~263-1 0 long c=23L;
float(单精度浮点型) 4 32 3.4e-45~1.4e38(一般不关注) 0.0 float j=1.3f;
double(双精度浮点型) 8 64 4.9e-324~1.8e308(一般不关注) 0.0 double d=3.4;
char(字符型) 2 16 0~216-1 ‘\u0000’ char e=‘c’;
boolean(布尔类型) 无明确规定 无明确规定 true、false false boolean f=true;

注意事项:

  • 在Java中,不管编译器是多少位,数据类型所占字节不变。
  • 在Java中,没有所谓的无符号数字。
  • 在定义变量时,一定要记得初始化,否则会报错!!!
  • 当你赋值的字面值大于这个变量能够保存的最大值的时候,程序会编译报错。
  • 站在Java的角度,真:true,错:false。

3、在编译器里的显示

        byte b1=128;//报错是因为超出了范围
        byte b2=127;

        short s=345;

        int i=3;

        long l1=2200000000;
        long l2=2200000000l;//所赋的值超出了int类型的取值范围,后面必须加上字母l或者L;
        long l3=123;
        long l4=123l;//所赋的值未超出int类型的取值范围,后面可以选择加l或者不加l,大写L也行;
        
        float f1=1.2;
        float f2=1.2f;//为一个float类型的变量赋值,后面必须加上字母f或者F;
        
        double d1=2.3;
        double d2=2.3d;//为一个double类型的变量赋值,后面可以选择加上d或者不加d,大写D也行;
        
        boolean f=false;
        boolean e=true;

注:这里的写法与C语言有区别。


4、数据类型的转换

1.自动类型转换

基本概念:

在基本数据类型中,取值范围小的数据类型转换为取值范围大的数据类型,其也被称为隐式类型转换。

数据类型的取值范围大小:

byte < short < int < long < float < double

举例:

int a=10;
double d=20;
double c=a+b;//c的类型为double,int类型被自动转换为了double类型;
byte a=1;
byte b=2;
int c=a+b;//byte类型会先进行提升为int类型,再进行运算;

转换的规则:

  1. 取值范围小的和取值范围大的进行运算,小的会先提升为大的再进行运算。
  2. 当有byte、short、char这三种类型的数据在进行运算的时侯,它们都会直接提升为int类型,然后再进行运算。

2、强制类型转换

基本概念:

指两种数据类型之间的转换需要进行显示声明(取值范围大的数据类型转换为取值范围小的数据类型),也被称为显式类型转换。

格式:

目标数据类型 变量名=(目标数据类型) 被强制转换的数据。

举例:

int a=10;
byte b=(byte)a;

注意事项:

  1. 强制类型转换可能会造成数据的丢失,因为当转换前的数据过大,导致转换后的变量不能完全接收,就会溢出数据造成丢失。

  2. 浮点型强制转换成整型,小数部分会被删除。

你可能感兴趣的:(My_Java,java,数据结构,开发语言)