博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA知识(一):java中的八大基本数据类型
阅读量:3916 次
发布时间:2019-05-23

本文共 2094 字,大约阅读时间需要 6 分钟。

导读:

          java好学吗?no!java很难吗?no! 鲁迅曾经说过一句话,世界上本身就没有路,人走的多了便成了路。一样的道理,世界上本来就没有容易的东西,只有你去理解了它才变得熟能生巧以至于存在你深刻的记忆之中。我和你都是一步一步的努力往上走的,大家为了未来的程序之路稳而健,底层的核心知识一定要打好。好了,废话不多说,从此刻开始,奋斗吧!!!?


                                                   java和js的数据类型对比

         首先我们知道java是一门强类型的语言,js是弱类型的语言,强类型和弱类型的对比最简单的就是:java有八种数据类型而js只有var类型。也就是说,java在声明变量的类型的时候是相对于js声明var类型更加准确,var类型在定义变量的时候是系统自动去判断变量被赋于的值才赋予类型,当然操作都是计算机自己来处理的,所以一旦代码量大,js中容易出现很多问题;而java一开始就声明了准确的数据类型,所以在程序的运行过程中没有那么多的问题出现。


  一、java之八大基本数据类型

      一、整型类

            

Java整型类
 整型 存储需求                                                取值范围
   int    4字节                      -2 147483648~2 147483647(-2^31~2^32-1)
 short    2字节                               -32768~32767(-2^15~2^15-1)
  long     8字节      -9 223372036854775808~9 223372036854775807(-2^63~2^63-1)
  byte    1字节                                    -128~127(-2^7~2^7-1)

        由上表可以看的出int类型完完全全够表示中国人口数了对吧,long类型是超级超级大的一个基本类型,这时候很多人就会问:为什么long类型这么大了,我可以用它来处理很多数据了,还需要其他类型的存在呢?很简单,首先我们的计算机内存不是无限大的,再怎么大的内存它也是有限的,这就说明了我们在进行内存的分配的时候也都还是有限的,我们程序所占的内存永远都不能大于计算机内存,如果你计算的数只有1-100之间,如果用long类型完完全全就是一种内存资源浪费。所以为了防止资源浪费,我们应该在使用数据类型之前就得估计值的大小,这样我们就避免了内存资源浪费的情况发生

       这里还需要注意的是,我们定义长整型数值后缀有着一个L或l,十六进制有一个前缀0x或者0X,二进制是0b或者0B

long a = 6254l;//后缀l或者Llong b = 0xADFEL;//十六进制long c = 0b1001L;//二进制

      二、浮点类

Java浮点类型
     类型 存储需求                                 取值范围
     float    4字节  约 -3.40282347E+38F~3.40282347E+38F(有效位数6~7位)
    double    8字节 约 +(-)1.79769313486231570E+308(有效位数15位)

               一般来说double的数值精度是float类型的两倍,float被称为单精度数值,double被称为双精度数值。因为一般float类型精度很难满足需求,所以程序员大多数都是用double来构建数据类型。这里说明一下取值范围,拿float和int来说,为什么同样是四个字节,int比float描述的数据更加的精确是因为int用31位去描述数值,float只有23位,如图所示

                                        

 int 类型
 1 位符号位                                    31位数值位

 

float类型
  1位符号位        8位阶码位                      23位数值位

 

              不难看出int比float的数值位高出8位,也就是说int较精确的数值表示,而float的精度远远不够它。double也是如此,所以说在数值类型的转换过程中会丢失精度,int和float都可以被double给吸收,但是如果是double和int转换给float就会丢失精度,导致数值被“约等于化”。我们都希望数值是被精确的,输入和输出和预想的结果基本类似,后期会引入一个概念叫大数值——BigInger,它可以表示任何数值的精度,也就是说超过long类型也可以表示的出来,这是运用了一些数学和模型来实现的。

              同时,这里稍作补充,众所周知float类型有效位数是6-7位,这个是什么意思呢?就是底数为10的有效位数6-7位,而不是二进制的位数,很多人都以为是2进制,只能说在考虑有效位数的时候只想到了字节位数的转换,这个是不正确的。这个有效位数就是科学记数法10为底的合理数计算。

             

      三、char类

          char类型的字面量值要用单引号括起来。例如:'A'代表ASCII码中的十进制65所对应的字符常量。(注意,"A"和'A'不同,"A"是包含一个字符A的字符串.)。Unicode字符则需要两个char值。Unicode的介绍请点击。同时一般都说char类型的代表Unicode码也是很常见的。

      四、boolean类

          boolean类型是用来判断的,有两个值:false和true。同时整型值和布尔值之间不能够相互转换。java中boolean值不能够用1来表示true,但是c++可以,这是java和别的语言不同的原因,大家务必记住。

 


   以上就是java八大基本数据类型介绍,谢谢大家❤

转载地址:http://tjtrn.baihongyu.com/

你可能感兴趣的文章
如何利用.NETCore向Azure EventHubs准实时批量发送数据?
查看>>
WPF 框架全构建环境虚拟机硬盘分享
查看>>
ABP框架 v3.0 已发布!
查看>>
使用.Net Core实现的一个图形验证码
查看>>
.NET 开源项目 StreamJsonRpc 介绍[中篇]
查看>>
Blazor带我重玩前端(三)
查看>>
基于.NetCore3.1系列 —— 认证授权方案之授权揭秘 (下篇)
查看>>
实现业务数据的同步迁移 · 思路一
查看>>
龙芯开源社区上线.NET主页
查看>>
eShopOnContainers 知多少[11]:服务间通信之gRPC
查看>>
闲谈设计模式
查看>>
平台or职位,你怎么选?
查看>>
骚年快答 | 技术中台与业务中台都是啥?
查看>>
骚年快答 | 微服务架构中的BFF到底是啥?
查看>>
设计模式之适配器模式
查看>>
如何利用Gitlab-CI持续部署到远程机器?
查看>>
.NET Core + K8S + Loki 玩转日志聚合
查看>>
ASP.NET Core中的分布式缓存
查看>>
在ASP.NET Core中创建自定义端点可视化图
查看>>
继续分享 5 个实用的 vs 调试技巧
查看>>