Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,负位置意味着什么?_Java - Fatal编程技术网

在Java中,负位置意味着什么?

在Java中,负位置意味着什么?,java,Java,作为Java的新手,我一直想知道这第四行代码是什么意思 String[] Songs = new String[10]; int position; ..... if(position != -1) 在java中,数组中的位置为-1意味着什么?我知道在python中,像-1这样的值可能有助于反转元组。在您的示例中,该位置没有应用于数组。所以程序只是检查位置是否不是-1 如果您尝试访问歌曲[-1],您将获得ArrayIndexOutOfBoundsException。也许-1是一个哨兵值检查-

作为Java的新手,我一直想知道这第四行代码是什么意思

String[] Songs = new String[10];
int position;
.....

if(position != -1)

在java中,数组中的位置为-1意味着什么?我知道在python中,像-1这样的值可能有助于反转元组。

在您的示例中,该位置没有应用于数组。所以程序只是检查位置是否不是-1


如果您尝试访问歌曲[-1],您将获得ArrayIndexOutOfBoundsException。

也许-1是一个哨兵值检查-1,因为Java中的数组位置无效。您需要问一个更清楚的问题。您向我们展示的不会编译,因为
位置
未初始化。假设您正在将数组从最后一个元素迭代到第一个元素,并通过将当前
位置
的值从
长度-1
减小到
0
(包括
0
)。那么,对于
位置的第一个值,您应该停止循环?这正是我的想法。搜索字符串内容的字符串方法如果不包含,则返回-1,所以我一直认为-1只是一个默认的DNE值。Position只是一个int。它可以是任何正值或负值。您发布的代码没有将position的值设置为any,然后测试它是否为-1。这没有任何意义,至少就你发布的代码而言。如果您使用position对数组进行索引,并且它的值为-1,则会出现一个异常,称为index out-bounds。