Java漫谈4

之前的一篇文章,我们用段誉比武的方式类比了构件类的方式,其中把段誉和慕容复共有的出招这个动作写成了一个功能方法。所谓出招,换个角度来看,就是将人身体中的能量,比如肌肉的能量,来自于内功真气的能量,通过一些步骤集中在一点提供出去,而最终的结果评判就是比的双方在接触点上的力的大小。而这些身体中的能量是最基本的,其它的一系列的活动都是由它在时间和空间上的排列组合而构成的。而它们也是有类型的,比如肌肉能量,内功真气等。

同样的,上述例子中的能量在Java中就对应了Java的数据类型,这些基本的数据类型就构成了Java的Bean,方法,函数等。这里提到的Bean,就相当于是一个精细化定制型的模版,并且这个模版还要接受一定的写作规范,具体的当以后聊到JavaBean与类的时候还会再次详细的说一下它。

说回到Java的数据类型,Java中有8大数据类型,在我看来就像是8大金刚一样,它们分别是:

boolean金刚:主判断,法宝为if尺,常用招数——if判断。

byte金刚:金刚界元老,可以与天庭直接交流,是其它金刚的叔父。这里多说一句,多了解一点儿计算机方面知识就会知道,在计算机里,所有代码的最终形态是传说中的机器码,也就是0和1,通常用bit-位来表示。理论上说,从写完HW代码,到出现“Hello world”结果,中间要经过词法分析、语法分析、语义分析、机器码生成、操作系统硬件执行结果。在不同的平台上执行的时候就需要在这些平台上不断地重复这个步骤,因为机器码会根据每台电脑(或者说是机器)的配置不同有略微的差别,那如果出现一种编码,它能在所有机器上都执行,那不就能将之前的5步直接降低至2步么,即编译成目标代码,运行目标代码,而这里所说的目标代码就是编译成byte类型的.class文件。在每一台要运行java的机器上都装了虚拟机,虚拟机会根据每台机器做对字节码文件做快速处理,完成字节码到机器码的快速转换。而这样一来似乎就能达到这样的效果,首先,我可以在任意的机器上将代码编译成.class文件,从而将词法、语法、语义分析做预处理,也就是将这三布提前完成。其次,任意的机器上,我都可以用虚拟机对.class进行执行。这样一个过程中,.class文件就是字节码文件,也就是byte类型。由此就可见byte类型的重要性,不过这种重要更多地体现在底层,对于刚入门的人来说,可能会在相当长的一段时间内都不会重点关注这个数据类型,我也是学到IO流的上传下载那一块才重点关注过一次,之后发现了比较不错的上传下载代码,也就保留了对它的印象而已。最近又重新开始关注是因为使用Hadoop、HBase的API时,需要以byte的形式传递参数。

short金刚:主短整型,外号小组长,有16只手臂,管理 10^(−15) 到 (10^16−1)的数,也就是-32768 到 32768。

int金刚:主整形,外号班长,会比较常用,有32只手臂,管理10^(-31) 到 (10^31−1)的数,也就是-2147483648 到 2147483648。

long金刚:主长整型,外号大队长。不出手则以,出手则泣鬼神。有64只手臂,管理10^(−63) 到 (10^63−1)的数。

char金刚:主字符型。字词句段篇,这句话形象地说明了篇章是由段落构成的,段落是由句子构成的,句子是由词组构成的,词组是由字构成的,但字又是由什么构成的呢?如果你比较敏感地话,你可能会告诉我,就把字作为最小单位就可以啦,这样就可以结束这个循环了。不过这样一来,又如何表示“Hello World”呢。如果把字当做是最小的单位的话,那么单独的H这个字符又该如何表示呢?所以计算机中就将字符char作为了最小的单位。在此,一个有意思的点又出现了——在开发中,char的使用不如String多,甚至与在入门之前的一段时间里,我一直是将String当成是与char一样的基本的数据类型。后来入门后才渐渐缓过来,才知道String是类,是由char构成的字符类。关于String和char,以后还会聊到,这里有个印象即可。

float金刚:主浮点型,简单说就是小数型,一般称为单精度浮点数。

double金刚:主浮点型,一般称为双精度浮点数。

对于float与double的描述略微单薄,主要是因为我自己并没有理解两个概念,一个是“浮点型”,另一个是“单精度与双精度”。维基百科上明确说了浮点数不是小数,但在日常编程脏哦功能我就是把它当做小数处理的。只是记住了float与double都可以用来表示小数,一般情况下float就已经够用了,遇到了数位不够的时候,就用double。

这一次,我们聊了Java中的八大数据类型,并且借用了8大金刚的概念来阐述它。希望这能让你对java的数据类型有个印象,咱们下回见。

原文发布于微信公众号 - 怀英的自我修炼(hydzwxl)

原文发表时间:2017-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

SSE图像算法优化系列一:一段BGR2Y的SIMD代码解析。

     一个同事在github上淘到一个基于SIMD的RGB转Y(彩色转灰度或者转明度)的代码,我抽了点时间看了下,顺便学习了一些SIMD指令,这里把学习过程...

1998
来自专栏何俊林

FFmpeg音视频同步原理与实现

1253
来自专栏数据结构与算法

五校联考模拟赛Day2T2矩阵(容斥原理)

设$f[i][j]$表示到了第$i$行,已经有$j$列被染黑,然后暴力转移上一行有几个黑格子

421
来自专栏信数据得永生

JavaScript 编程精解 中文第三版 七、项目:机器人

3146
来自专栏瓜大三哥

直方图操作(二)

直方图操作(二)之统计电路 在实际的图像中,连续的像素点灰度值为相同值的情况非常常见,如果每来一个像素都对双口RAM进行一次寻址和写操作,显然降低了统计效率而提...

1887
来自专栏数据小魔方

Xcelsius(水晶易表)系列9——动态选择器应用(过滤器)

今天继续跟大家分享关于水晶易表的动态选择器高级用法——过滤器。 这个部件可以将多层帅选筛选自动化,比如我们前两篇所讲解的多重筛选案例中, 需要为每一个筛选字段单...

2916
来自专栏数据小魔方

左手用R右手Python系列——数据塑型与长宽转换

今天这篇是R语言 with Python系列的第三篇,主要跟大家分享数据处理过程中的数据塑型与长宽转换。 其实这个系列算是我对于之前学习的R语言系列的一个总结,...

3166
来自专栏ITCloud的专栏

《 大话 Ceph 》 之 CRUSH 那点事儿

《大话 Ceph 》系列文章通过通俗易懂的语言并结合基础实验,用最简单的描述来讲解 Ceph 中的重要概念。让读者对分布式存储系统有一个清晰的理解。

1.5K3
来自专栏杨世宇的专栏

Now 直播发现页短视频瀑布流优化

发现页是Now直播短视频的主要曝光平台(如下图),内容以运营人工筛选为主,瀑布流式展示。

5530
来自专栏数据和云

神马?SQL竟然可以解脑筋急转弯的题目?

我在很多公开演讲中都明目张胆的羡慕过一类人,他们把SQL当做艺术,把旁人眼中的枯燥演绎成经典,云和恩墨专家团队中的杨廷琨、罗海雄就都是这样的SQL专家。 今天,...

3084

扫描关注云+社区