Java漫谈6

今天这篇想聊聊数组。

在聊数组之前先聊个别的,如果想在Java中实现一个 数字-月份 转换,那我该怎么做呢?就比如数字1代表了一月份,数字2代表了二月份…数字12代表了十二月份。

当然,我现在手里的工具只有8大基本数据类型,如何构造类,流程控制语句。那么我最先能想到的,也算是目前唯一能想到的就是用if控制语句来做逐个输出。上一篇漫谈中没有提到 switch语句 ,当时真没想起来,抱歉了,以后用一篇的时间单独聊这个,所以这次我们就只聊 if 语句的方式。

如果用if来写的话,示例如下:

我们再来回顾一下这整个过程,输入一个值i,判断它是不是等于1,如果是的话就输出,不是的话就判断它是不是等于2,如果是的话,再输出,不是的话再判断是不是等于3,如果是的话……等等,它的判断语句已经出现了重复,而且这种重复只需要同时改变输入的值和其中的一个判断因子,也就是说整个判断的框架 i==m 这个框架是没有变的。那既然它重复了,那能不能用循环来代替这样的重复,也就是1-12个月。所以我可以把上面的方法改成for循环的,如下:

似乎这是一条路,但这样一来,结果就变成了 1月份,2月份,……,12月份, 而这样一来,与之前所说的纯数字月份就不一样了。

不过这次用的for循环倒是给了一个启发,就是for循环中的循环次数,也就是这里的m,它就像一个局外人一样,告诉我们,循环进行到了第几次了。如果我们能把月份的具体名称放到一间“教室”里面,并有序的排上坐,也就是我点名是说一号桌的时候,一月份会跳出来说声“到,我是一月份”,那么这样一来问题就会被解决。Java中与之对应的充当这个角色的就是数组,它就是一个能装同一类的对象的一个数据组。数组本身还自带一个长度值,并且每一个元素也会自带一个下标,用于表示自己在数组中的位置。而我们就可以利用这个特性来改造上面的方法。

再进一步,如果说 strM[m] 能达到效果,那也就是说 strM[i] 也能得到效果。那这样一来用数组下标能快速定位这一特点,就能在不用for循环的情况下得到值。如下:

数组的下标是数组的一个很常用的功能,今天我们通过月份转换的例子聊到了这个数组的功能,而在最后的方法中构造数组时,我使用的是数组的三大构造方法之一的一步到位构造法,其它还有空壳法 String strM[] = new String[]{}, 定义框架法 String strM[] = new String[5]

希望能使你对数组的下标功能有个新角度的认识,咱们下回见。

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

原文发表时间:2017-10-15

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏walterlv - 吕毅的博客

C# 中那些可以被重载的操作符,以及使用它们的那些丧心病狂的语法糖

2018-05-19 15:20

562
来自专栏猿人谷

常见排序算法分析

一.常见排序算法的实现 1.冒泡排序 冒泡排序是非常容易理解和实现,,以从小到大排序举例: 设数组长度为N。 1.比较相邻的前后二个数据,如果前面数据大于后面...

1908
来自专栏C语言C++游戏编程

世界最强的编程语言:C语言

char:字符型,用来存储小范围的整数(-128~127)和字符(所有的ASCII字符,128个),一个字节。

712
来自专栏编程

Python函数之一切皆对象

今天我们要讲的是 对象 避免误会,常老师先澄清一下,这里面说的对象指的是object,不是你的lover,也不是你的sweetheart…… 有的小伙伴可能会觉...

1827
来自专栏Python爬虫与算法进阶

学点算法之字符串的乱序检查

问题 字符串的乱序检查。 一个字符串是另一个字符串的乱序。如果第二个字符串只是第一个的重新排列,例如,’heart’ 和 ‘earth’ 就是乱序字符串。’py...

3708
来自专栏用户2442861的专栏

c++ 11 新特性

赖勇浩(http://laiyonghao.com) 声明:本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的《The Bigges...

571
来自专栏青玉伏案

窥探Swift之基本数据类型

  在上一篇博客“窥探Swift编程之在Playground上尽情的玩耍”中介绍了如何使用Playground来学习Swift语言。本篇博客就使用Playgro...

1895
来自专栏黑泽君的专栏

Java语言中:在数据类型的讲解中补充的几个小问题

============================================================================= 1...

591
来自专栏带你撸出一手好代码

正则表达式「^」符号的正确理解方式

「^」这个符号在正则表达式的中的应用相信是所有程序员都掌握的, 因为它是正则表达式中最基础最常用的知识点。 它在正则表达式中表示两种不同的意义 01 表示匹配一...

2653
来自专栏前端正义联盟

我来重新学习 javascript 的面向对象(part 5)

这是最后的最后了,我会顺便总结一下各种继承方式的学习和理解。(老板要求什么的,管他呢)

761

扫码关注云+社区