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),作者:怀英

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 怀英漫谈9 - JS 数组

    所谓的数组,就是一些数据的集合,JS中没有集合的概念,所以集合也是数组的一种。如果你Java用的多,那么这个概念就有点儿难以理解,毕竟从Java的文意来说,集合...

    用户1335799
  • Java漫谈6

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

    用户1335799
  • 134 - 修炼 - 小程序的知识点06

    你好呀,上周的时候,主要聊了聊“数据绑定”是什么,这次咱们来聊一聊WXML的一个小知识点“列表渲染”。

    用户1335799
  • 【Java提高十五】数组

    一、什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的!...

    Java帮帮
  • 数据结构与算法学习笔记之 从0编号的数组

    数组看似简单,但掌握精髓的却没有多少;他既是编程语言中的数据类型,又是最基础的数据结构;

    Dawnzhang
  • 13 个 JS 数组精简技巧,一起来看看。

    数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率。

    前端小智@大迁世界
  • Java 多维数组遍历

    数组是Java中的一种容器对象,它拥有多个单一类型的值。当数组被创建的时候数组长度就已经确定了。在创建之后,其长度是固定的。下面是一个长度为10的数组:

    哲洛不闹
  • 数组是如何随机访问元素?数组下标为什么从0开始,而不是1?

    数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储相同类型的数据。

    搜云库技术团队
  • numpy之数组基础

    展平 ravel 只显示变为一维数组的视图 flatten将多维数组变成一维数组后保存结果

    用户7886150
  • 数组方法整理

    mcq

扫码关注云+社区

领取腾讯云代金券