Java中的8种基本数据类型

本文详细介绍了Java中的8种基本数据类型,包括byte、short、int、long、float、double、boolean和char,以及它们的取值范围、内存占用和使用注意事项。特别指出整数字面量默认为int类型,浮点型字面量默认为double类型,以及如何通过后缀避免编译错误。此外,还强调了boolean类型的true/false和char类型存储单个字符的能力。
摘要由CSDN通过智能技术生成

贯穿整个高级语言中,数据类型也只有那么些,int、string、char、boolean这几种常用的,本篇内容将为你介绍java里的8种基本数据类型,不包括引用数据类型!

8种基本数据类型哪八种:
在这里插入图片描述
每种数据类型在底层占用的空间都是不一样的,上图中清楚的表示了8种数据所占空间的大小,主要了解的是单位以及每种数据类型所承受的值是什么。

首先说单位

  • 这里的单位是字节,1字节 = 8bit位 = 一个二进制位1/0

所有计算机都能够识别二进制位,这些基本的数据类型也都是经过了包装后形成的明显的关键字;

  • 实际上的底层依旧是以二进制来计算的。

      1(字节) = 10101010(二进制位)
    

负数在二进制中的解释:

  • 关于java中的数字类型,数字都是有正负之分的,所以在数字的二进制当中有一个二进制位被称位“符号位”。并且这个“符号位”在所有二进制的最左边,0表示正数,1表示负数。

byte类型:

  • Byte类型是8种数据类型中占用空间最小的结果是数值的类型,占用1个字节
  • Byte类型的取值范围处于[-128 ~ 127],超出范围将会编译报错

short类型:

  • Short类型使用不算多,他的取值范围是[-32768 ~ 32767];占用2个字节

int类型:

  • Int类型重点说明;在java中“整数型字面量”被默认当作int类型来处理!

    在问题发出前先说明int类型的取值范围:

    • [ -2147483648 ~ 2147483647],占用4个字节

    :下列声明是否有无问题?

long z = 2147483648;

结果是编译报错
在这里插入图片描述

  • 原因在一开始整数型字面量默认当作int类型处理,2147483648已经超出int类型的取值范围所以报错
  • 有人说:不是声明的long类型的z变量来接收数值吗?怎么会报错?
  • 因为是在一开始的时候就已经报错所以long声明的z无法进行 类型转换

请记住:java的运行一定是先编译,再进行运行!编译报错怎么样也无法运行!

如何解决这样的问题?

long z = 2147483648;// 错误 ×
long z = 2147483648L;// 解决错误 √

在字面量的后面加上L即可,这样就会在一开始的时候被识别为long类型;
也可以将值缩小让值在int类型的可承受范围内,这样java会自动帮你把类型转换

由于“整数型字面量”被默认当作int类型来处理并且int类型所可取的值也很大很广泛,所以int类型也是最常用的数值类型

long类型:

  • Long类型的取值范围:(-9223372036854774808~9223372036854774807)

    这个取值范围是不是很夸张?在底层占用8个字节,所以Long基本包括了程序员所需要的数值

    突破了千亿的取值范围还不包括负数,已经完完全全够了。
    如果还要大,在JAVA中有两个类BigIntegerBigDecimal分别表示大整数类和大浮点数类,具体作用上网搜搜用法就可以了;

float类型:
float是浮点类型中的单精度,占用4字节;

  • 需要注意的是:java中所有的浮点型字面值,默认被当作double类型来处理;
    所以在以下代码中是会编译报错的:
float z = 12.5;
  • 如果想该字面值以float类型来处理,需要在字面值后面添加F/f
float z = 12.5f;

double类型:

  • double类型占用8字节
  • 但是因为浮点型字面量都是默认当作double类型处理的,所以double类型用的还算挺多,因为省事?而相对来说,double的精度很低;
  • 在需要精度高的计算时,会使用BigDecimal

boolean类型:
在这里插入图片描述

  • Boolean类型只有两个值:true\false;占用1个字节
    因为占用空间很少而且更加直观,所以经常被用于if判断;

char类型:

  • 一个中文占用2个字节,char类型正好是2个字节
  • 所以java中的char类型变量可以存储一个中文字符

注:
以下声明报错: 123 属于字符串,该使用""双引号引起来

char k = '123';

以下声明报错: ** “a” 属于字符串,k变量是char类型**
这类型不兼容,编译错误;

char k = "a";

char类型正确声明方式:

char k = 'b';//可以是单个中文字符 '好'

结束语:请牢记这八种数据类型,在开发和学习中会经常的用到,应该说程序员工作的时间段都会用到!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值