Java中的8种原始类型

几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的。 这样,初学者的内容就更容易消化。 首先,我要介绍有关Java的8种原始类型的所有信息。

Java基本类型

正如本文标题所暗示的,Java语言内置了8种原始类型。 在以下小节中,我们将不按特定顺序查看所有八个基本类型。 对于每种原始类型,我们将描述如何使用它以及它的局限性。

原始类型

首先,Java整数是32位带符号的值(表示正值或负值),并由int关键字表示:

 int someNumber = 10 ; 

当然,像所有基本类型一样,整数有其局限性。 由于它们是32位的,因此我们要查看的范围是-2,147,483,648到2,147,483,647。 有很多数字! 当然,我们可以使用DrJava的交互窗格中的便捷技巧来确认该范围:

 Integer.MAX_VALUE // Prints 2,147,483,647  Integer.MIN_VALUE // Prints -2,147,483,648 

自然, int可能是用于简单计算的最常见的整数类型。 如果您需要更多的范围内,看到long的下方。

双重原始类型

int不同,Java double是64位浮点值,它们由double关键字标记:

 double someNumber = 110.55 ; 

提醒一下,浮点数只是实数。 换句话说,当我们使用双精度时,我们可以访问小数点。

由于双精度数是64位的,因此与整数相比,我们可以访问的数字明显更多。 如果我们使用相同的“交互”窗格技巧,则可以找出潜在值范围的巨大程度:

 Double.MAX_VALUE // Prints 1.7976931348623157E308  Double.MIN_VALUE // Prints 4.9E-324 

请记住,负指数意味着极小的数字(与极度负的数字相对),因此我们并不是在寻找与整数相同的范围。

通常, double是Java中浮点值的默认选择。 替代方法是float

字符基本类型

正如我们已经看到的,Java字符代表16位字符,并用char关键字标记:

 char someCharacter = 'f' ; 

Java中的所有字符都使用单引号定义。 同时,双引号用于定义字符串-我们稍后会讨论。

像往常一样,我们可以使用以下代码片段找出字符范围:

 Character.MAX_VALUE // Prints '???'  Character.MIN_VALUE // Prints '' 

为了理解这个范围,我们总是可以将结果强制转换为整数(稍后会详细介绍):

 ( int ) Character.MAX_VALUE // Prints 65535  ( int ) Character.MIN_VALUE // Prints 0 

事实证明, char类型是Java中唯一的无符号类型。 换句话说,一个字符的范围可以从0到65,535,其中每个数字都映射到一个特定的字符。 为了创建此列表之外的字符,Java可以组合成对的字符。 请查看Java中的“反向字符串”示例。

字节原始类型

当我们谈论二进制时,我们谈到了一点概念。 好吧,一组八位组成一个字节,Java将其作为原始类型来支持。 byte类型本质上只是一个8位数字,范围为-128至127。如所期望的,字节由byte关键字表示:

 byte someByte = 20 ; 

与往常一样,我们可以使用以下代码片段来确认byte类型的范围:

 Byte.MAX_VALUE // Prints 127  Byte.MIN_VALUE // Prints -128 

以我的经验, byte类型对于读取和处理原始数据很有用。 但是,总的来说,由于电位值的范围太小,我们可能不会使用它。

短原始类型

short类型是另一个整数类型,但是它比int类型占用更少的空间。 实际上,它只占用16位的一半空间,并用short关键字标记:

 short someNumber = 11 ; 

就范围而言, short类型仅将整数的一半作为时钟输入,但是我们可以像往常一样确认这一点:

 Short.MAX_VALUE // Prints 32767  Short.MIN_VALUE // Prints -32768 

出于实际目的, short仅具有65,546个可能值。 当内存和磁盘空间不足时,通常同时使用byteshort byte 。 否则,使用int是安全的,因为在声明整数时它是默认类型。

长原始类型

在频谱的另一端是long原始类型。 该类型表示极大的整数,我们可能希望这些整数甚至大于int类型可以提供的值。 long类型是一个64位有符号整数,这意味着值的范围为5百亿分之一。

当然,我们表示与多头long关键字:

 long someBigNumber = 1013401346173L; 

为了演示一个64位值可以具有多大的范围,让我们看一下以下代码片段:

 Long.MAX_VALUE // Prints 9,223,372,036,854,775,807  Long.MIN_VALUE // Prints -9,223,372,036,854,775,808 

对于计算给定时间范围内的光线传播距离,也许很long时间有用。 一秒钟后,光传播约3亿米。 如果我们编写了一个程序来实时跟踪光的距离,则int类型将在大约7秒后消失,而长类型可以计算出大约975年。 不相信我吗? 检查一下整个计算过程中的要点 。

浮点原始类型

虽然我们经常使用double ,它是64位浮点数类型,但Java支持另一种浮点数类型,称为float 。 但是,像int一样,Java默认将浮点值double 。 无论如何,我们可以使用float关键字表示32位浮点数:

 float someNumber = 11 .4f; 

为了了解float的范围,让我们再次使用技巧:

 Float.MAX_VALUE // Prints 3.4028235E38  Float.MIN_VALUE // Prints 1.4E-45 

如我们所见,32位确实减少了我们的范围和精度。 如果要在使用一半空格的同时使用精度不如double的十进制值,则可以选择float类型。

布尔基元类型

最后,我们可以介绍boolean类型。 要声明一个boolean ,我们可以使用boolean关键字:

 boolean isBool = true ; 

布尔值有点独特,因为它们不像所有其他原始类型一样代表数字值。 实际上,我们的MAX_VALUEMIN_VALUE小技巧在这里不起作用。 取而代之的是,布尔值表示true还是false ,我们可以从上一堂逻辑课中回顾出来。

我们现在不会花很多时间,因为它将成为我们在Java中所做的几乎所有事情的一部分。 也就是说,我们通常不会像这样明确声明它们。 相反,它们是比较的结果,这些比较驱动代码中的逻辑。 请查看下面的布尔运算符部分以获取更多信息。

想了解更多?

如前所述,该信息可以在Java的基本类型和变量文章中找到。 当然,现在该文章更容易阅读。

无论如何,再次感谢您的支持。 下次见!

翻译自: https://www.javacodegeeks.com/2019/08/8-primitive-types-java.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

协议转换器的特点有哪些?

现如今,随着计算机网络技术的迅猛发展,我们建立了大量的多种多样的网络系统,导致各种网络之间如何互连的问题。一个办法是推行国际标准,051网络体系结构及通信协议的国际标准已越来越成熟。但是,要把大量已存在的非051…

协议转换器的作用有哪些?

协议转换器一般用一个ASIC芯片就可以完成,成本低,体积小。它可以将IEEE802.3协议的以太网或V.35数据接口同标准G.703协议的2M接口之间进行相互转换。也可以在232/485/422串口和E1、CAN接口及2M接口进行转换,那么协议转换器的作用有哪些呢&…

协议转换器主要是应用在哪些地方?

协议转换器也叫接口转换器,它能使处于通信网上采用不同高层协议的主机仍然互相合作,完成各种分布式应用,它工作在传输层或更高。那么,协议转换器的作用有哪些呢?主要是应用在什么地方的呢?接下来就跟随飞畅…

java中布尔值做比较_Java中的三态布尔值

java中布尔值做比较我不时地错过Java中SQL的三值BOOLEAN语义。 在SQL中,我们有: TRUE FALSE UNKNOWN (也称为NULL ) 时不时地,我希望自己也可以用Java表达这种UNKNOWN或UNINITIALISED语义,而普通的true…

Spring Bean范围

介绍: Spring核心容器实例化bean并管理其生命周期。 在定义bean时,我们可以提供其范围。 除非明确提供,否则单例是Spring容器中Bean的默认范围。 Spring提供了五种类型的bean作用域。 在本教程中,我们将探讨它们中的每一个。 1.…

协议转换器指示灯的含义

很多对协议转换器了解不是很深的朋友,对协议转换器上面的各个指示灯可能会区分不清,很多情况下会搞不清各个指示灯的含义,接下来杭州飞畅科技的小编就来带大家详细了解下协议转换器上各个指示灯的含义,一起来看看吧! …

V.35协议转换器指示灯告警常见故障以及排除方法解析

我们在使用协议转换器的时候,可能常常会遇到一些故障问题,这个可能会困扰到很多朋友,在这里,杭州飞畅的小编专门整理了V.35系列协议转换器在使用过程中的一些常见的故障问题及解决方法,感兴趣的朋友可以一起来看看吧&a…

飞畅科技V.35协议转换器指示灯告警说明详细介绍

飞畅V.35系列协议转换器实现了E1接口与V.35接口之间的相互转换,是杭州飞畅科技推出的又一款广泛使用、备受好评的设备。此转换器的E1接口支持成帧和透明两种模式,广泛应用于计算机网络互连、DDN数据网接入、移动电话网的传输优化和基于E1的PCM网络的各种…

计算机图形学论文_论图计算

计算机图形学论文自从机械计算开始以来,图形概念就已经存在,并且在纯数学领域已经存在了数十年。 由于数据库的黄金时代,图形在软件工程中变得越来越流行。 图形数据库提供了一种持久化和处理图形数据的方法。 但是,图形数据库并不…

2M线路保护实现与应用

由于传输电路是出于最底层的物理传送平面,目前这些传输电路调度工作仍然停留在手工调度,即耗费大量的人力物力,又花费大量的宝贵时间,尤其在紧急故障发生的时候,严重影响故障的抢修速度,从而影响通信网络恢…

只能在测试中注射吗?

本文是关于测试设计和可测试性的一些想法。 我们与我的儿子讨论了一些问题,他的儿子是Java的初级开发人员,目前在匈牙利的EPAM(我工作的同一家公司,但在另一家子公司)工作和学习。 本文中的所有内容都是不错的旧知识&a…

E1倒换保护设备知识详解

E1倒换是一款针对于国内重要部门而开发的保护设备,针对某些重要用户要求,E1倒换设备除了可以满足主、备两个传输路由间无损伤自动切换外,还可以满足主、备用户设备间自动切换。那么,什么是E1倒换,E1倒换保护怎么分类&a…

E1 PCM复用设备常见故障及处理方法

目前国内PCM设备技术发展非常迅速,PCM设备在通信系统中也是使用最多最常用到的。但是不少用户在使用PCM设备时会遇到各种故障,那么,我们该如何解决呢?接下来就由飞畅科技的小编来为大家介绍下E1 PCM复用设备常见故障及处理方法。 …

jooq中record_在Spring中使用jOOQ:CRUD

jooq中recordjOOQ是一个库,可帮助我们重新控制SQL。 它可以从我们的数据库生成代码,并允许我们使用其流畅的API来构建类型安全的数据库查询。 本教程前面的部分向我们介绍了如何配置示例应用程序的应用程序上下文以及如何从数据库中生成代码。 现在&am…

E1 PCM复用设备作用

Pulse Code Modulation(PCM),中文称脉码调制或PCM复用设备,PCM复用设备的目的就是使交换机之间一条中继线不是只传送一条电话信号。 PCM复用设备也就是将语音,数据信号复接成2M信号的设备,直白一点就是将如…

变色龙功能

在《神秘博士》中,卡梅利恩(Kamelion)角色是可以采取任何形式的机器人。 据称,他们使用的物理道具非常麻烦,只有其创建者才能理解,而该创建者并没有帮助纠正它。 因此,Chamelion功能... 考虑以…

E1常见问题介绍

1. E1与CE1是由谁控制,电信还是互连的两侧的用户设备?用户侧肯定要求支持他们,电信又是如何分别实现的? 答:首先由电信决定,电信可提供E1和CE1两种线路,但一般用户的E1线路都是CE1,除非你特别要…

MSTP多业务传输平台对设备接口的要求有哪些?

MSTP(Multi-Service Transfer Platform)(基于SDH 的多业务传送平台)是指基于SDH 平台同时实现TDM、ATM、以太网等业务的接入、处理和传送,提供统一网管的多业务节点。 MSTP的实现基础是充分利用SDH技术对传输业务数据…

jibx_Jibx Jersey2集成

jibxJersey2为Jackson和JAXB提供内置支持。 但是默认情况下不支持Jibx。 要将Jibx与Jersey2结合使用,我们将XML输入作为流,并在接收到请求之后,使用Jibx对其进行解析。 但是实际上,有更好的方法可以使用MessageBodyReader和Messag…

PCM复用设备的安装和使用注意事项

PCM设备在通信系统中的是一种很常用的设备,但是不少用户在购买了PCM设备后,都不懂怎么去安装使用PCM复用设备。下面,飞畅科技的小编来为大家详细介绍下PCM复用设备的安装和使用注意事项,一起来看看吧! PCM复用设备的安…