大数据入门基础系列之九月哥谈Java SE的常量、进制和常量的进制转换

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

精彩内容

【注意】:2018年6月,进群需要缴费49元!!! 每过一个月,新增加的学员相应加10元。如2018年7月,进群需要缴费59元!!!

本月(2018年6月)前面的博文里,我已经介绍了

微信公众号:大数据躺过的坑

作者:九月哥

如有问题或建议,请公众号留言

最近更新:

欢迎加入:【大数据初学党福音】大数据入门基础系列之从Java SE基础到项目实战(目前仅限在校大学生)

在这篇微文里,我将给大家带来谈Java SE的常量、进制和常量的进制转换

Java SE的常量、进制和常量的进制转换

那么今天九月哥就给小伙伴们列举以下几个点:

说明:以下内容非强制或必学,做到了解即可。但是,最好熟练!

常量是什么

Java中的常量是什么

Java中的常量在程序运行过程中的作用

Java中常量的分类

Java中常量定义的注意事项

Java中常量定义的基本格式

Java中的整数常量分类

Java中的进制

Java中常量的进制转换

有符号数据的3种表示法(原码、反码和补码)

1、常量是什么?

常量”的广义概念是:‘不变化的量’(利如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量)换言之,常量,在计算机技术方面虽然是为了硬件、软件、编程语言服务,但是它并不是专门为硬件、软件、编程语言而引入的概念。常量可区分为不同的类型,如:25、0、-8为整型常量,6.8、-7.89为实型常量,‘a’、‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。

2、Java中的常量是什么?

常量是在程序执行的过程中其值不可以发生改变。

在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。

3、Java中的常量在程序运行过程中的作用

常量在程序运行过程中主要有两个作用:

(1) 代表常数,便于常数的修改;

(2) 增强程序的可读性。

4、Java中常量的分类

Java中的常量,总的来分:(1)字面值常量 (2)自定义常量

字面值常量有两种使用场景:一种是在定义变量时进行初始化,这是一种极好的习惯;另外一种比如在计算圆的面积时,会用到3.1415也就是圆周率,也用到字面值常量,但是这种用法并不是一个很好的编程习惯,一般我们会使用final修饰的常量去替换字面值常量。

字面值常量的分类:

1. 整型常量:所有整数,如12,23 。整数又分为 int (integer) 占用4个字节 一个字节占几个二进制位?8个二进制位,一个整型变量占32位二进制位 (内存中开辟出来的存储空间)。整型常量的值为整数的类型,它可以采用十进制、八进制、十六进制表示。对于超过了int类型取值范围的大整数,系统不会自动当做long类型处理,此时必须在整数的后面增加大写或者小写的L作为后缀才能够作为long类型处理。通常我们推荐使用大写的L,小写的L容易和1混淆。

2. 浮点型常量:包括float和double两种类型,每一种类型都可以使用十进制或者是科学计数法,例如2.4e3,实际上表示2.4*103,Java语言的浮点型默认是double类型的,你如果希望把Java中的一个浮点数当作float类型处理那么必须增加后缀大写或小写的F,例如3.4是double型,占用64位内存空间,而3.4f 位float类型,占用32位内存空间,当然也可以在一个浮点数后面加上大写或小写的d,指定其为double类型,但是通常没有这个必要,Java语言的浮点型默认是double类型的。

3. 布尔常量:只能取值true或false,注意不能使用0或1替代,也不能使用引号括起来

4. 字符常量:一个字母或数字,用 '' 进行标识。用双引号括起来的内容。字符常量必须使用单引号括起来,只能是一个字符,Java中字符在内存中占用两个字节,采用的是Unicode编码,字符常量有二种变现形式:

(1)普通字符常量,例如’a’,’8’等等,使用单引号括起来。

(2)转义字符常量,例如’\n’表示换行,’\t’表示Tab键,’\b’退格键,这些控制字符都是不可显示字符,所以采用转义字符来表示。’\\’(反斜杠),’\’’(单引号),’\”’(双引号)。

(备注:Unicode码扩展自ASCII字元集。Unicode码:Unicode码也是一种国际标准编码,采用二个字节编码,与ASCII码不兼容。目前,在网络、Windows系统和很多大型软件中得到应用。)

5. 字符串常量:用单引号括起来的内容,一个或多个字符,用 “” 进行标识。 使用双引号括起来的一串字符,作为特殊情况也可以是0个或1个字符,例如”A” A是一个字符但是我们称”A”是一个字符串,不会把它认为是字符,字符常量是用单引号括起来的。

6. null常量:只有一个值null,表示引用变量保存的地址为空,还没有指向任何对象,可以把null常量赋给任意类型的引用类型的变量。

5、Java中常量定义的注意事项

在Java语言中,主要是利用final关键字(在Java类中灵活使用static使用关键字)来定义常量;当常量设定后一般情况下不允许再进行更改。

定义常量时一般要注意一下内容:

1、常量定义的时候,要对常量进行初始化;

2、final关键字的使用,final关键字不仅可以用来修饰基本数据类型,还可以用来修饰对象的引用或者方法;

3、常量的命名规则,在给常量取名的时候一般都用大写字符,此规则不是强制性规则,为提高代码友好性,被定义为final的常量需要采用大写字母命名,词与词之间使用下划线来分隔。在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。

6、Java中常量定义的基本格式

常量定义的基本格式:

final 数据类型 常量名称 = 值;

final 数据类型 常量名称1 = 值1;常量名称2 = 值2;……常量名称n = 值n;

在Java语法中,常量也可首先声明,再进行赋值,但是只能赋值一次,例如:

final int A;

A = 1;

7、Java中的整数常量分类

Java针对整数常量提供了4种表现形式:

(1)二进制

(2)八进制

(3)十进制

(4)十六进制

8、Java中的进制

进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

二进制的由来:任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。

一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。

八进制的由来:二进位制在计算机内部使用是再自然不过的。但在人机交流上,二进位制有致命的弱点——数字的书写特别冗长。例如,十进位制的100000写成二进位制成为11000011010100000。为了解决这个问题,在计算机的理论和应用中还使用两种辅助的进位制——八进位制和十六进位制。二进位制的三个数位正好记为八进位制的一个数位,这样,数字长度就只有二进位制的三分之一,与十进位制记的数长度相差不多。例如,十进位制的100000写成八进位制就是303240。十六进位制的一个数位可以代表二进位制的四个数位,这样,一个字节正好是十六进位制的两个数位。十六进位制要求使用十六个不同的符号,除了0—9十个符号外,常用A、B、C、D、E、F六个符号分别代表(十进位制的)10、11、12、13、14、15。这样,十进位制的100000写成十六进位制就是186A0。

八进制的特点:由数字0-7组成。即使用三个开关表示一个八进制数。

十六进制特点:由0~9 a(10) b(11) c(12) d(13) e(14) f(15)组成。

不同进制的数据组成:

二进制

由0,1组成。以0b开头

八进制

由0,1,…7组成。以0开头

十进制

由0,1,…9组成。整数默认是十进制的

十六进制

由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

8421码:

8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。

在这种编码方式中每一位二值代码的1都是代表一个固定数值,

把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

9、Java中常量的进制转换

十进制和二进制的转换

十进制转二进制的转换原理:

除以2,反向取余数,直到商为0终止。

二进制转十进制的转换原理:

就是用二进制的每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加。

总结:

十进制和八进制的转换

10进制转换8进制原理:

就是用十进制的数字不断除于8,取余数。

八进制转十进制原理:

用把进制的数不断乘以8的n次方,n从0开始,每次递增1。

十进制和十六进制的转换

10进制转换16进制原理:

就是不断除以16,取余数。

16进制转换10进制原理:

很简单

二进制和八进制、十六进制的转换

首先要明白:

二进制、八进制和十六进制之间的转换,都是可以以十进制作为桥梁。

二进制到十进制的原理:

是以1位组合

如100110(2),则为2+4+32=38(10)

二进制到十六进制的原理:

是以4位组合

二进制到八进制的原理:

是以3位组合

如100110(2),则为46(8)

八进制到二进制的原理:

是以3位组合

10、有符号数据的3种表示法

在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。

三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码:就是正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

符号位数值位

符号位数值位

【大数据初学党福音】大数据入门基础系列之从Java SE基础到项目实战(目前仅限在校大学生)

如何加入

如何加入?

答:第一步:关注【大数据躺过的坑】

第三步:加九月哥小助手,然后拉你进群。

注意:2018年6月,进群需要缴费49元!!! 每过一个月,新增加的学员相应加10元。如2018年7月,进群需要缴费59元!!!

以下是大数据躺过的坑的Java SE微信付费交流群

【群公告】

1、进群需修改备注名

格式如:学校-深大 年纪-大四 网名-某某 专业-计科

例如:

学生党是

湖大-大三-奋斗小青年-计科

必须备注!这样很方便我们同行交流

2、群里禁止刷屏的表情包!禁止广告!

3、群里除了管理员其他人禁止发任何链接!(包括学习资源学习资料的链接都不可以发!)

4、进群禁止相互乱加人!有人举报立刻移出群聊!

5、由于是学习讨论群!禁止长期潜水!群主会半年或一年定期清理人!给他人一个机会

6、群里禁止闲聊!不准聊一切与学习无关的话题!

——————分割线——————

(1)本群作为技术分享交流群,以后将可享受到还有更多免费资源、免费分享!

(2)会想留在此群就――不许发外链,不许推广公众号,不许发广告,不许发某宝红包/某团红包(没错可以发微信大红包!)。

(3)一旦发现踢出去,删除拉黑,再也进不来的!

觉得有用就转发分享一下吧

大家6月份的第二个周一愉快,与你前行

大数据手把手交流: 201590535

本人个人博客:

http://www.cnblogs.com/zlslch/ http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/

对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071

如何加入大数据

微信公众号:

大数据躺过的坑

一码不扫,何扫天下

如何加入人工智能

微信公众号:

人工智能躺过的坑

一码不扫,何扫天下

看完本文有收获?请转发分享给更多人

关注「大数据躺过的坑」,提升大神技能

欢迎新旧粉丝(撒花),我是大数据躺过的坑九月哥。大家对微信博文有什么问题都可以@我留言,我会尽快回复大家。希望以后可以和各位成为技术道友!

九月哥

超过10万+人正在关注

目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。语言涉及:Java、Scala、Python、Shell、Linux等。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件,热衷于分享开源技术,热爱开源、拥抱开源,我是90后九月哥,微信公众号:大数据躺过的坑,我为自己带盐,谁说90后不能活出精彩人生!!!

注意:此群是免费

注意:此群是49元

觉得不错,请点赞和留言↓↓↓

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604B0M9WL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券