【问题标题】:Why does this double have [] directly after it?为什么这个双精度后直接有 [] ?
【发布时间】:2015-02-06 23:55:06
【问题描述】:

我在为作业编辑的程序中遇到了这段代码:

    double[] colour = new double [3];
    colour[0] = 255; colour[1] = 0; colour[2] = 0;

我认为这意味着值 color 是一个双精度值,它是由三个其他值组合而成的。关于这一点还有什么需要说的吗?我的意思是,这就是为什么 double 后面有 [] 括号 - 以指定它需要多个值?我对此有点困惑......

【问题讨论】:

  • double[] 定义了一个 array 双精度数
  • 这意味着可以为变量colour 分配一个array of double 值。 new double[3] 创建一个大小为 3 的 array of doubles。
  • 附带说明为什么它使用双值? RGBA(在这种情况下为 RGB)通道是无符号字节。

标签: java double


【解决方案1】:

[] 表示您有一个双精度数组。数组让您可以在一个列表中包含多个内容,因此您可以拥有三个数字:[255, 0, 0]

Java 数组文档中提供了更多信息:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

【讨论】:

    【解决方案2】:

    [] 表示您正在创建一个“双精度数组”。这是原始数组,这意味着大小是固定的。在您的情况下,正在分配一个大小为 3 的数组。

    另一种方法是使用 List 接口:

    List<Double> colour = new ArrayList<Double>(3);
    colour.add(255);
    colour.add(0);
    colour.add(0);
    

    对于这个例子,你也可以有一个类:

    public class Colour {
      double r;
      double g;
      double b;
    
      public Colour(double r, double g, double b) {
         this.r = r;
         this.g = g;
         this.b = b;
      }
    
       ....
    
    }
    

    【讨论】:

      【解决方案3】:

      double[] 是 array 的 double 值。

      在您的特定情况下,colour 是一个大小为 3 的数组(在赋值右侧指定),因此您将使用 colour[0]、colour[1] 和 colour[2] 访问这三个组件分别。

      【讨论】:

        【解决方案4】:

        在 Java 中,类型后面的 [] 表示 Array 数据结构。

        在您的情况下,您正在创建一个包含 3 个双精度值的数组。

        有关此事的更多信息,请参阅thisOracle 教程。

        【讨论】:

          【解决方案5】:

          行:

          double[] colour = new double [3];
          

          说:长度颜色[] = 3,数据类型双精度,

          和:

          colour[0] = 255; colour[1] = 0; colour[2] = 0;
          

          指定颜色值[255, 0, 0]

          PD:抱歉,我无法发表评论。

          【讨论】:

            【解决方案6】:

            记住[]表示数组,可以认为是对象的集合(在本例中,是double数据类型的数字),你可以这样想用外行的话来说是这样的:

            声明中的double[] colour 部分表示“我将拥有一个名为colour 的集合,它将是double 数字的类型,但我不知道”不知道它会有什么价值或多少。”强调collection这个词,因为这就是数组。

            new double [3] 部分表示“我正在创建 3 个新的双打”。由于您从未说过 3 个双打是什么,因此您开始陈述它们:

            “第一个是255,第二个是0,第三个是0。”,现在代码中是这样的:

            colour[0] = 255; colour[1] = 0; colour[2] = 0

            我相信您可能已经知道,但在计算机中,数字从 0 开始计数,而不是 1。

                [0]              [1]             [2]
            First Element   Second Element   Third Element
            

            当我第一次开始编程时,另一个帮助我更好地理解数组的例子是我想一盒里面有不同口味的奥利奥。盒子是一个数组,cookie的类型是奥利奥,它们在盒子里的排列顺序代表了它们的位置(也就是索引),而 values 是风味。

            【讨论】:

              猜你喜欢
              • 2016-03-31
              • 2010-10-05
              • 1970-01-01
              • 2012-11-07
              • 1970-01-01
              • 2011-11-24
              • 1970-01-01
              • 2010-10-22
              • 1970-01-01
              相关资源
              最近更新 更多