你了解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类型不能与整型数之间进行相互转换

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

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

2.Java有几种数据类型

答:总共有八种

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

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

java为什么有基本类型_你了解Java数据类型吗?相关推荐

  1. java方法区对象类型_浅谈Java内存区域与对象创建过程

    一.java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则 ...

  2. java返回object的类型_为什么标准java类的clone()返回Object而不是实际的类型

    在 java中允许指定函数返回的类型,例如下面的代码 public class Test { static class Dad { Dad me() { return this; } } static ...

  3. java中什么是类型_什么是Java中的“SAM类型”?

    总结的情况下,the link Jon posted它曾经出现故障,"SAM"代表"单一抽象方法"和"SAM型"是指接口,如Runnable ...

  4. java包装类和基本类型_你知道Java中基本类型和包装类的区别吗

    前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...

  5. java中什么是类型_什么是Java中基本数据类型?

    Java中除了二进制文件和使用文本文件外还有基于Data的数据操作,这里的Data指的是Java的基本数据类型和String.基本数据类型包括byte.int.char.long.float.doub ...

  6. sql server java类型_使用基本 JDBC 数据类型 - SQL Server | Microsoft Docs

    使用基本数据类型Using basic data types 01/29/2021 本文内容 Microsoft JDBC Driver for SQL ServerMicrosoft JDBC Dr ...

  7. java byte 无符号类型_获取java byte的无符号数值

    byte a = (byte)234; System.out.println(a); 上面的代码,结果是-22,因为java中byte是有符号的,byte范围是-128~127. 如果想输出234,该 ...

  8. java 获取 反射 方法 名_乐字节Java反射之一:反射概念与获取反射源头Class

    一.Java反射机制概念 "程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言",如Python, Ruby是动态语言:显然C++,Java,C#不是动态语言,但是JAV ...

  9. java 知乎面试题_面试题|Java基础17道常见面试题

    1. JDK 和 JRE 有什么区别? 面向人群不同: JDK是面向开发人员使用的SDK. JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者. ...

最新文章

  1. jquery后学什么_我在训练营两年后学到了什么
  2. Python+selenium自动化测试中Windows窗口跳转方法
  3. LeetCode Merge k Sorted Lists(有序单链表数组的合并)
  4. Django开发—如何重置migration
  5. mysql开创_MySQL创始人打造MariaDB 全面兼容MySQL 5.1
  6. 构造可靠数据传输协议
  7. python 类和对象_面向对象的编程思想和Python的类,访问和属性,继承
  8. 今日恐慌与贪婪指数为78 贪婪程度有所上升
  9. python数据结构之图深度优先和广度优先
  10. 推导pca的降维损失_这应该是最全的PCA原理总结了(上)
  11. 微信小程序底部导航栏小效果
  12. hsql mysql_HSQL简介
  13. PHP获取域名及域名IP的方法
  14. php 公众号多图文消息,微信公众号怎么发布号多图文消息?微信公众号发布号多图文消息的方法...
  15. MATLAB图像处理学习日记之图像的自定义裁剪imcrop操作
  16. Word删除单独页页眉与分节处理
  17. Java课设 2048小游戏
  18. BZOJ1123BLO Tarjan割点
  19. ExpandableListView的箭头问题
  20. oracle 官网邮箱和密码是什么,我是如何进入21cn内网的(可能获取用户邮箱密码)...

热门文章

  1. Markdown中空格和换行
  2. Linux多功能下载机(Arias2)
  3. 查看网段内所有ip设备
  4. CogColorExtractorTool工具功能
  5. 解决iOS下拉回弹方法二
  6. 致我最亲爱的CSDN博友们
  7. 西安电子科大版《计算机操作系统》第四版共读——第十一章 多媒体操作系统
  8. android8关机界面,修改android 的关机界面
  9. Win10系统安装CUDA10.0和cuDNN
  10. 机械设备行业专题研究:各家电池片技术路线差异几何?