byte是什么数据类型_你了解Java数据类型吗?

你了解Java数据类型吗?

  • 你知道Java为什么会有数据类型吗?
  • 你知道Java有几种数据类型吗
  • 你知道Java每种数据类型的取值范围吗?
  • 你了解或熟悉每种数据类型吗?

一.为什么Java会有数据类型

在解决这个问题之前我们先来了解一个概念——强类型

什么是强类型呢,我们先来看看百度百科给出的解释

强类型指的是程序中表达的任何对象所从属的类型都必须能在编译时刻确定。

强类型——就是在编译器大哥编译的时候咱得告诉编译器大哥"123"是一个什么类型的变量,否则这位编译器大哥就会告诉你我不知道"123"是什么类型的,我不给你编译。

了解强类型之后,我们再来了解一下Java就是一门强类型的语言,这就意味着我们必须给每个变量声明一个类型,咱得告诉编译器大哥每个变量是什么类型的,编译器大哥才愿意给我们工作。所以Java会有数据类型,因为它是一门强类型语言。


二.Java有几种数据类型

再了解了Java为什么有数据类型之后,我们再来了解一下Java有几种数据类型

Java一共有8种基本类型,其中带头大哥整型包含4种基本类型,然后是二哥浮点型包含2种基本类型,接下来是小弟字符型包含1种基本类型,以及小弟布尔型也是包含1种基本类型,总共四类八种

(ps:这里的整型以及浮点型并不属于数据类型,而是他们包含的东西才是数据类型)

1.整型

了解了Java有几种数据类型之后,我们再来具体了解一下各种数据类型,首先出场的就是我们大哥整型所包含的4种数据类型。

  • int型

int型——用于定义整数的,编译器大哥不像我们人类这么聪明,我们看见"123"咱就知道这是一个整数,但编译器大哥不知道啊,你就得告诉它"123"是int型,现在编译器大哥就知道了"123"是一个整数。

int型存储需求——4字节,这又是意思呢,编译器大哥知道"123"是个int型整数后得找个地方给它存起来吧,也不能在内存中随便找个内存就给它存起来吧,这就需要给int型的整数划个地方,说你int型的整数就只能存在这么大内存中,就是4个字节的内存。

int型取值范围——"-2 147 483 647 ~ 2 147 483 647",大部分人不知道4字节到底能存储多少,换算为十进制数之后呢就是int型的取值范围,我的天,超过20亿了。

  • short型

short型——用于定义短整数的,这个算是int型的小弟,也是用于定义整数的

short型存储需求——2字节,既然是int型的小弟当然存储需求也得比int型小才对

short型取值范围——"-32 768 ~ 32 768",比起int型来说就弱了很多

  • byte型

byte型——这个也是用于定义整数的,它是short型的小弟

byte型存储需求——1字节,大哥也才2字节小弟自然只能有1字节了

byte型取值范围——"-128 ~ 127",确实是小弟的小弟

  • long型

long型——用于定义长整数的,这是整型中的大哥

long型存储需求——8字节,只看存储需求就知道大哥的位置稳了

long型取值范围——"-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 808",我的天我已经数不清楚了,你们自己去数吧

这里四类八种数据类型中的一类四种已经介绍了解完毕,对于编程的话,最常用的就是int类型了,其他三种相对来说也不是很常见,但我们还是得清楚他们得存在,防止数到用时不知多少。

2.浮点型

接下来我们出场的是二哥浮点型所包含的2种基本类型

  • float型

float型——用于定义小数

float型存储需求——4字节,与int型一样拥有4个字节的存储空间

float型取值范围——"大约 ± 3.402 523 47E+38F",看不懂,没事我也看不懂,那我们就记住它能表示6 ~ 7位小数吧

  • double型

double型——也是用于定义小数

double型存储需求——8字节,意味着他能比float型存储更多位的小数

double型取值范围——"大约 ± 1.797 693 134 862 315 70E+308",同样看不懂,记住它能表示15位小数就行

对于浮点型来说的话,常用的是double型,float由于精度较小通常不被使用。

3.字符型

这位小弟不太受大家的喜欢,作为八种基本类型中的一种却很少被使用,不过我们还是得对他进行一定得了解

  • char型

char型——用于描述UFT-16编码中的一个代码单元,可以存储任何字符

(ps:UTF-16是什么这里就做介绍了,给大家百度百科地址,感兴趣的朋友们可以自己研究:UTF-16)

char型存储需求——2字节

char型取值范围——"u0000 ~ uffff"

我们应该尽量少的使用char型,对于字符串的操作我们应该作为抽象数据类型来使用

4.布尔类型

作为最后一名出场的小弟,它相对来说比较简单

  • boolean类型

boolean型——用于判断真假,是一个很简单的小弟

boolean型存储需求——不确定,也许是1也许是4

boolean型取值范围——"true or false"

在Java语言中boolean类型不能与整型数之间进行相互转换


到这里我们已经介绍完四类八种数据类型了,我们可以来回答一下开头的问题了

  1. Java为什么会有数据类型

答:因为Java是一种强类型语言

2.Java有几种数据类型

答:总共有八种

3.Java每种数据类型的取值范围

482bcad8701b77a83db4f2020bedabfd.png

那么最后一个问题,你了解或熟悉各种数据类型了吗?