首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >头第一次java示例,代码磁练习,第3章

头第一次java示例,代码磁练习,第3章
EN

Stack Overflow用户
提问于 2015-05-05 00:39:18
回答 3查看 1.1K关注 0票数 2

虽然作者一直告诉我忽略我目前无法理解的东西,但我真的不能,所以请解释一下“参考”到底在做什么:

代码语言:javascript
复制
class TestArrays {
    public static void main(String [] args) {
        int [] index = new int[4];
        index[0] = 1;
        index[1] = 3;
        index[2] = 0;
        index[3] = 2;
        String [] islands = new String[4];
        islands[0] = “Bermuda”;
        islands[1] = “Fiji”;
        islands[2] = “Azores”;
        islands[3] = “Cozumel”;
        int y = 0;
        int ref;
        while (y < 4) {
            ref = index[y];
            System.out.print(“island = “);
            System.out.println(islands[ref]);
            y = y + 1;
        }
    }
}

输出:

代码语言:javascript
复制
island = Fiji  
island = Cozumel  
island = Bermuda  
island = Azores
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-05 00:45:07

Ref不做任何事情,因为它不会发生在程序中:) Java是区分大小写的!ref用于临时存储数组索引中的元素,然后用于引用数组岛屿上的元素。这是一种称为“查找表”的技术的应用程序。

所以,当y= 0,

代码语言:javascript
复制
ref = index[y]

获取索引中的第0‘元素,即1。

代码语言:javascript
复制
islands[ref]

变成了

代码语言:javascript
复制
islands[1]

因此,从岛屿阵列中获取“斐济”。

票数 3
EN

Stack Overflow用户

发布于 2015-05-05 00:48:35

ref实际上被用作数组岛的参数,它接受数组“索引”的输出,并向数组“岛”提供输入。

while循环中的迭代如下所示

代码语言:javascript
复制
y=0 ref=1  islands[1]=Fiji
y=1 ref=3  islands[3]=Cozumel
y=2 ref=0  islands[0]=Bermuda
y=3 ref=2  islands[2]=Azores

如您所见,输出的顺序与索引数组的顺序不同,这就是使用ref的原因。

希望能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2015-05-05 00:42:23

ref就像一个指针,在本例中,ref切换了它指向的对象,并将它们打印到循环中的屏幕上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30042417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档