数组操作指令
2021-09-01 本文已影响0人
Shaw_Young
1.数组操作指令主要有:xastore和xaload。具体为:
- 把一个数组元素加载到操作数栈的指令:baload、caload、saload、iaload、laload、faload、daload、aaload
- 将一个操作数栈的值存储到数组元素中的指令:bastore、castore、sastore、iastore、lastore、fastore、dastore、aastore
数组类型 | 加载指令 | 存储指令 |
---|---|---|
byte(boolean) | baload | bastore |
char | caload | castore |
short | saload | sastore |
int | iastore | iastore |
long | laload | lastore |
float | faload | fastore |
double | daload | dastore |
reference | aaload | aastore |
- 取数组长度的指令:arraylength
- 该指令弹出栈顶的数组元素,获取数组的长度,将长度压入栈。
2.说明
- 指令xaload表示将数组的元素压栈,比如saload、caload分别表示压入short数组和char数组。指令xaload在执行时,要求操作数中栈顶元素为数组索引i,栈顶顺位第2个元素为数组引用a,该指令会弹出栈顶这两个元素,并将a[i]重新压入堆栈。
- xastore则专门针对数组操作,以iastore为例,它用于给一个int数组的给定索引赋值。在iastore执行前,操作数栈顶需要为此准备3个元素:值、索引、数组引用,iastore会弹出这3个值,并将值赋值给数组中指定索引的位置。
梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。