array.length语法问题,使用方括号而不是布尔运算?

时间:2015-06-22 07:21:40

标签: java arrays

我是Java的新手(请温柔!)我正在通过Coding Bat的Java数组问题工作,并发现自己对下面的代码段感到困惑。我想知道为什么我不能使用以下行:

if (nums.length >=1 && nums[0]==nums.length-1) {

正确的代码是:

if (nums.length >=1 && nums[0]==nums[nums.length-1]) {

编码蝙蝠问题基本上是正确的,如果第一个&数组的最后一个元素是相同的,并且数组有一个或多个元素。

之间究竟有什么区别?
nums[nums.length-1]  

nums.length-1

我试着寻找这个并且可以找到任何东西,如果在其他地方已经解释过这个道歉。

完整的参考代码:

public boolean sameFirstLast(int[] nums) {
   if (nums.length >=1 && nums[0]==nums[nums.length-1]) {
      return true;
   }
   return false;
}

2 个答案:

答案 0 :(得分:3)

nums[nums.length-1]为您提供数组中最后一个元素CONTAINED。 nums.length-1给出数组的长度减去1(我认为这不是一个非常有用的信息:)

答案 1 :(得分:0)

nums [nums.length-1]为您提供数组中最后一个元素

数组可以是int,char或任何你想要的,元素与数组的类型相同。

nums.length-1为您提供数组的长度减去1

它总是一个int:最后一个位置。

关于代码引用,避免检查条件以返回布尔结果。更好:

public boolean sameFirstLast(int[] nums) {
   return (nums.length >=1 && nums[0]==nums[nums.length-1]);
}