开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4844|回复: 0
打印 上一主题 下一主题
收起左侧

[其他教程] 【火山教程】数组操作实例讲解!(Java基本类)

[复制链接]
结帖率:94% (66/70)
跳转到指定楼层
楼主
发表于 2018-9-3 14:04:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   四川省成都市
本帖最后由 创世魂 于 2018-12-25 09:56 编辑

数组操作实例讲解(建议详细按步骤观看)



java基本类说明:在安卓中有两种类,一个是基于java的,例如:文本操作属于“java.lang.String”   (严格来说这个叫包名)
另外一种是安卓类,例如:android.***** (严格来说这个也叫包名)


作者:创世魂
注:由于各种数据类型的数组操作大同小异,本文我们基于文本数组操作进行讲解。

● 准备工作


准备工作1:
设计一个如下图所示的界面。
从上到下依次是“按钮1”“编辑框1”,设计完毕后,依然需要添加“按钮事件接收方法”
不会“设计界面”的请观看文本操作实例

准备工作2:
通过菜单“项目”-->“程序结构查看器”,也可以打开“即时帮助”
顺着“红色箭头”,依次打开“火山java”“数组处理”“文本数组操作”
就可以在右侧看到所有的数组方法(红色方框内),点击“方法名”就可以详细查看方法的“参数”“注释”等等信息……



● 创建


帮助文档如下图:
顾名思义,就是创建一个指定“成员数”“一维”数组的“数组模板”
任何形式的“数组操作”都是基于这个“数组模板”进行的。

代码编写如下图:
定义一个“文本数组”变量,注意数组符号“[]”不要遗漏。
利用“本方法”创建一个“10”成员的数组,赋值给定义的变量。
数组内成员的指定,“数组变量名”“[]”,符号内填写“索引”,租后等于指定的“文本字符串”即可。
取出指定成员也是“变量名”加指定“成员索引”

运行效果如下图:
成功的将“3”索引内的成员取出。

如下图:
如果取出的“数组索引”,数组内没有指定“数组内容”,运行后会发生“右图”的情况,取出“null”,代表空。


● 创建2


帮助文档如下图:
可以看到有两个参数,顾名思义就是创建一个“二维数组”模板。
二维数组通俗理解为,数组内套了一个数组。

代码编写如下图:
定义一个“二维数组”变量,同时需要敲“两个数组符号[]”
创建的时候,比如我们“参数1”填写“5”“参数二”填写“10”
数组赋值的时候,第二个数组符号内从“0”开始“最高”只能写到“9”
而第一个数组符号,最高只能写到“4”
意思也就是从“0”“4”每个数组成员内都能容纳“0”“9”个数组成员。
取成员方式和“创建”一样。

运行效果如下图:
成功取出“文本数组变量[4][9]”


● 创建3


帮助文档如下图:
顾名思义创建一个“三维数组”
通俗理解就是,每个“一层数组”内套“二层数组”
每个“二层数组”又套了一个“三层数组”

代码编写如下图:
“创建2”的模式一样,定义变量我们需要三个“数组符号”
“创建3”的时候我们写“5,8,10”
最终就是“第一层”数组最大到“4”
“第二层”最大到“7”
“第三层”最大到“9”
取出成员方式也和“创建2”一样。

运行效果如下图:
运行后成功取出“文本数组变量[4][7][9]”


● 区域填充


帮助文档如下图:
可以看到区域填充有“四个”参数,“参数4”的填充值是一个“模板类型”
在这里“模板类型”,可以理解为“通用型”数据,
如果“被填充的数组”“文本数组”,那么“参数4”直接填写“文本型”的字符串即可。
本方法通俗理解:“修改”数组“指定范围”内的“数组成员”,替换成“参数4”

代码编写如下图:
按照最开始的“创建”的方法,创建一个“文本数组”变量。
然后直接调用“本方法”填充内容即可。
这里“参数1”填写“数组变量”“参数2、3”填写“1和3”“参数4”随便输入一个值。
意思就是从“索引1”开始取,取“3位”出来进行替换成“参数4”
最后利用“循环”方法取出(下有关于“循环”的解释),“\n”换行符。

“循环解释”
鼠标指向“循环”,就可以弹出“帮助”提示。
参数1:起始循环变量,不填写默认为0(上图的“循环”使用,需要从0开始)。
参数2:循环次数,因数组是“5个”,所以这里“填写5”.
参数3:用来循环的变量,也就是“每次”循环的“计数”
参数4:递增值,“每次”循环递增“数值”,不填写“默认1”

运行效果如下图:
数组索引“1”“3”全部变成了,我们填写的“文本”,并且本来没有指定的“索引2”也都进行了赋值。


● 区域复制


帮助文档如下图:
顾名思义就是把“指定范围”内的“数组成员”复制出来,并且返回一个“数组模板”

代码编写如下图:
上面依然还是利用“创建”方法创建一个数组。
下面定义“两个”变量,一个用来当做“返回的数组”,另外一个用作“循环”的计次。
最后利用本方法,填写对应的参数后,赋值给文本“数组2”
利用“循环”看看数组是否“复制”成功。

运行效果如下图:
可以看到数组成功的“复制”出来,因数组“索引2”,并没有定义成员所以返回“null”


● 填充


帮助文档如下图:
本方法和“区域填充”方法基本一致,不同之处就是少了“区域范围”

代码编写如下图:
“区域填充”大同小异,不同之处本方法会“填充”所有的“数组成员”

运行效果如下图:
可以看到所有的“数组成员”均被替换成“填充值”


● 复制


帮助文档如下图:
本方法和“区域复制”不同之处就是少了一个“起始位置”,只有一个“复制数目”
默认值为"-1"复制所有成员,超出数组范围的“自动扩充”

代码编写如下图:
上面不变,下面用“本方法”进行复制,“参数2”我们填写一个“10”

运行效果如下图:
填写的“参数”远远超过定义的“数组”,但是“不会报错”还会进行“自动扩充”


● 数组到文本


帮助文档如下图:
顾名思义,就是将一个“数组”,转换成“文本格式”并且返回。

代码编写如下图:
代码也非常简单,定义了“数组”之后,直接利用本方法“转换”即可。

运行效果如下图:
执行“按钮”后效果如下“数组索引2”依然会自动返回“null”


● 是否相同


帮助文档如下图:
“两个”数组参数,顾名思义判断两个数组是否相等。

代码编写如下图:
定义两个“文本数组”,然后利用本方法进行“判断”即可。

运行效果如下图:
“上图”定义的数组,虽然两个“数组成员内容一致”,但是“成员数”不同,所以返回“不相等”
只有两个“数组成员”相同,“内容”也相同的时候,才会“返回”相等。


● 计算数组HASH值


帮助文档如下图:
有一个“数组模板”参数和一个“整数”返回值。
顾名思义,就是计算一个“数组”“HASH”值。
“HASH解释:”一般翻译“散列”值,也有直接音译“哈希”值。
简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数(详情可以百度百科)。

代码编写如下图:
定义了“文本数组”后直接利用本方法取“数组”hash值即可。

运行效果如下图:
运行后可以看到“数组”“HASH值”有这么多。


● 排序


帮助文档如下图:
顾名思义就是对一个“数组模板”进行升序排序操作。

代码编写如下图:
“整数”的升序排序和“文本”的升序排序略有不同,所以我们这里看似“正常排序”的数组,接下来“排序输出后”会发生“很大的变化”

运行效果如下图:
数组转换文本后,可以明显的看到,数组内的文本,按照“第一位字符”进行了“升序排序”


● 排序2


帮助文档如下图:
“排序”不同之处就是多了一个“排序范围”

代码编写如下图:
例如我们这里“范围”填写“0、3”

运行效果如下图:
“数组到文本”转换后,可以看到只对“前三个”进行了排序。


● 二分法查找


在这之前我们需要在原来设计界面的基础上,增加两个编辑框:

帮助文档如下图:
可以看到有两个“数组模板”“欲查找值”,上面也说过了,“模板类型”参数可以理解为“通用型”数据。
注意黄色方框内:必须保证本数组是“升序排序”的状态。
找到了返回成员位置,未找到返回“第一个大于”查找值的“位置+1”的负数。

代码编写如下图:
定义一个“文本数组”随后进行“排序”操作。
这里我用“数组到文本”展示给“编辑框1”方便接下来解释说明。
最后利用本方法查找“编辑框2”的内容。
查找结果我们可以“到文本”“编辑框3”显示。

运行效果如下图:
“编辑框2”输入“15”,点击“按钮1”成功返回位置“1”

如果查找“2”,就会返回“-3”
因为指定“数组”内并没有“2”,所以只能找比“2”大的数。
虽然看上去所有“数组成员”都比“2”大,但是实际文本比较的时候,会从“第一个字符”比较,所以比“2”大的只有“35”
“35”的索引是“2”,它加上“1”的负数,正好就是“-3”,所以返回“-3”


如果查找的“内容大于所有成员”
则会返回“数组成员数+1”的负数。
所以这里查找“9”,会返回“-6”



● 二分法查找2


帮助文档如下图:
本方法和“二分法查找”基本一致,不同之处就是多了一个“查找范围”

代码编写如下图:
我们直接在“二分法查找”的基础上,增加“两个参数”即可。
这里参数我填写“1”“3”

运行效果如下图:
查找范围就是“黄色方框”内的我们指定的“三位成员”
运行后我们查找"1",会返回"-2"。
在查找比“1”大的数字时,如果“第一位字符”相同,会对“第二位字符”比较。
所以“15”“1”大。
“15”的索引是“1”,所以根据返回值计算公式可以正好就是“-2”


● 其它数组操作
其它“数组类型”操作,大家可以根据“文本数组操作”例子,进行“举一反三”


本教程已经录入火山官方图文教程,地址:http://doc.voldp.com/

如果要实现类似易语言加入成员命令,需要借助“数据处理”教程中的方法……


您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表