首页 > 编程语言 >Java千问:Java语言各种数字的“非常规”写法你都会吗?

Java千问:Java语言各种数字的“非常规”写法你都会吗?

时间:2022-12-17 10:04:53浏览次数:39  
标签:非常规 Java 千问 下划线 浮点数 整数 写法 数字


Java程序中总是会出现一些数字。我们通常都是用常规的方式来表示这些数字,如以下代码所示

int a = 1;

double b = 1.5;

但是数字也可以有非常规写法,在这里我们用一篇短文简单总结一下

整数的非十进制写法

首先强调一下,这里所说的整数并不是单指int类型,而是包含了int、byte、short和long这4种整数类型。在Java语言中,除了可以用十进制的形式表示整数以外,还可以用二进制、八进制和十六进制的方式表示整数。如果用十六进制的形式表示一个整数,数字要以0X开头,如果用八进制表示,则用0开头,而用二进制表示,用0B开头,如以下代码所示

byte n1 = 0B1011;//二进制表示法,换算等于十进制的11

int n2 = 072;//八进制表示法,换算等于十进制的58

long n3 = 0XFF5C;//十六进制表示法,换算等于十进制的65372

以上代码中就是数字的非十进制表示法以及对应的换算结果。需要注意的是,我们在一开始就强调了这几种表示法都是针对整数而言的,所以说,这几种表示数字的写法中,不能出现小数点,否则会出现语法错误!

浮点数的科学计数法

Java语言为了能够让浮点数表示出更大范围的数字,除了允许我们使用常规写法以外,还可以让我们用科学计数法的形式表示浮点数。我们来看一个例子

float n4 = 2.3E3F;//换算等于2.3*1000

使用科学计数法表示浮点数,需要用一个字母E来把系数和指数隔开。具体来说就是:字母E的前面是一个浮点数,后面是一个整数。E之前的浮点数是系数,而E之后的整数就表示10的多少次方,这个整数可以是负数。上面代码中,数字2.3E3F其实就是2.3乘以10的3次方。在数字的最后又出现了一个字母F,是因为浮点数常量默认都是double类型,把double类型的数据赋值给float类型的变量,要在末尾加字母F进行数据类型转换。

另外,必须强调一点就是:科学计数法只能用来表示浮点数,如果我们把一个用科学计数法表示的数字赋值给整型变量就会出现语法错误。即便字母E前面的系数不带小数点也不行!

数字中带有下划线

int n5  = 1000000000;

如果你看到上面的数字,我想你肯定会数一下这个数字中有多少个0。我们知道,在财会行业,为了降低读错数字的概率,人们经常会在数字中加入逗号,比如会把100000写成100,100。从JDK1.7开始,Java语言也借鉴了这种写法,但做了一点点改变,把数字之间的分隔符用逗号改成了下划线,比如说,我们可以把刚才代码中那个很长的数字写成

int n5  = 1_000_000_000;

对于这种加下划线的写法,需要强调几个注意事项

1、这种写法是从JDK1.7才开始引入的,早期版本的JDK并不支持这种写法

2、下划线出现的位置随意,并非一定要每3位数字才能出现一个下划线

3、无论浮点数还是整数,数字当中都可以出现下划线

以上我们用一篇短文总结了Java语言中各种数字的非常规写法,觉得不错就点个赞吧!

​​本专栏每篇文章讲解一个知识点,如果想系统学习Java编程可以点击这里观看我在本站的视频课程,也可以订阅我的免费专栏《Java从小白到高手》。

标签:非常规,Java,千问,下划线,浮点数,整数,写法,数字
From: https://blog.51cto.com/u_2266836/5949446

相关文章

  • Java数组(05)多维数组
          ......
  • java项目启动动画
    http://patorjk.com/software/taag/#p=testall&f=Graffiti&t=study......
  • 【Java】单号创建服务
     需求:ERP项目存在若干个业务功能,每个业务的单子的单号创建规则需要被统一规划1、每个业务有自己对应的标识2、业务单号必须以英文字母为前缀,长度在2-4个字符3、单号......
  • JAVA学习日记--Scanner类
     1。导包import包路径.类名称;如果需要使用的目标类,和当前类位于同一个包下。则可以省略导包语句不写。只有java.Lang包下的内容不需要导包,其他的包都需要import语句。2......
  • 【java-02】Nginx以及前后端分离项目在linux上的部署
    目录写在开头Nginx重点目录/文件配置文件结构server块反向代理负载均衡写在开头本篇主要介绍了nginx的简单使用,包括目录结构、配置文件结构、反向代理和负载均衡等。以及......
  • Java亿级项目架构设计与落地应用 学习计划 最后附上下载地址
    Java亿级项目架构设计与落地应用 学习计划最后附上下载地址从分析应用到实际落地,完成支撑高并发读(60万/秒)的架构方案。学习架构演变的过程,同时将核心功能应用向服务器进......
  • Javascript | 分别用async await异步方法和Promise来实现一个简易的求职程序
     关注公众号,一起交流,微信搜一搜:LiOnTalKING JavaScriptPromisePromise是一个ECMAScript6提供的类,目的是更加优雅地书写复杂的异步任务。如何创建一个Pro......
  • JAVA并发-Disruptor框架
    JAVA并发-Disruptor框架Disruptor简介最好的方法去理解Disruptor就是将它和容易理解并且相似的队列,例如BlockingQueue。Disruptor其实就像一个队列一样,用于在不同的线程......
  • Java虚拟机定义
    虚拟机是一种抽象化的​​计算机​​​,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的​​​硬体​​​架构,如​​​处理器​​......
  • 【公众号】JAVA微信公众号技术大佬文章精选
    ​​百亿规模API网关服务Shepherd的设计与实现​​ ​​面渣逆袭:Redis连环五十二问!三万字+八十图详解!​​​​面渣逆袭:Spring三十五问,四万字+五十图详解!建议收藏!​​​​面......