Java的基本数据类型

文章目录

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

1、Java数据类型图

java 数结构 java基本的数据结构_java

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

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. 浮点型强制转换成整型,小数部分会被删除。