“a~z”之和

源起?

看到题目,你也许会觉得奇怪。但在java里却是可以的(其他编程语言不知道),下面就看看如何计算的把。

经过

这是一个有趣的发现,源于我看到一本书上:char类型的a~z(区分大小写)
可以自动提升成int类型,获得其对应的ASCII值.
于是对此进行了加,减,乘,除.
大写的A~Z和小写的a~z产生的ASCII值不一样,但是是连贯的.

image-1610

程序运行截图

分析及实践

  1. 我首先创建了一个char[]数组,然后把a~z放进去[注意:A~Z与a~z所产生的数值是不一样的]
  2. 然后在用循环输出
  3. 利用+0是为了让其转换为int类型
  4. a~z所对应的int数值是:97~122,A~Z所对应的int数值是:65~90
  5. 然后再将上面的数字进行计算就可以获得其加,减,乘,除的结果了.
  6. 下面是我计算的结果:
  7. a~z:加:2847;减:14;乘[数值超过Long最大值,不精确]:6982962423800004608;除:1.
  8. A~Z:加:2015;减:14;乘[数值超过Long最大值,不精确]:7430394426012205056;除:1.

源代码

最近的学习

最近一直埋头在Java上,对于Database落下了不少课程,看来后面要“痛补”Database才行。

一些基础教程

看了很多基础的教程,基本上前几章都可以掠过了(大概讲一些:怎么配置环境,怎么输出“Hello World”,什么后缀名,垃圾回收(GC)等等)。看这些教程个人觉得很受用,也下载了一些视频,但因为有个坏习惯(边听歌边看教程),所以视频就被搁置了。

总结如下:

  1. 8个数据类型是:boolean,int,double,byte,long,short,float,char.(注意:java.lang.String是一个类)
  2. 每个数据类型都有自己的包装类分别是(基本数据类型/包装类):boolean/Boolean,int/Integer,double/Double,byte/Byte,long/Long,short/Short,float/Float,char/Character.
  3. 尽量少使用static,因为static修饰的方法或变量(普通类禁止被声明为static,只有内部类才可以),不能被回收(GC),会导致影响程序的性能.

其余的一些都做了截图。

Java包装类
image-1605

Java包装类

这个截图来自:《JAVA私塾跟我学系列》,特别适合入门的朋友看,语言精炼,代码讲解也很清楚。(可Google去搜索下载PDF版本)

排序

首先上一张我

腾讯微博截图_快速排序
image-1606

腾讯微博截图_快速排序

对于快速排序的简介就不说了,这几天一直在弄快排,基本是每天开电脑必须敲一遍快速排序的代码,测试正确了。才去做别的事情,因为理解起来实在太难,只能死记硬背把代码记在脑海里,很痛苦。

快速排序源代码: