Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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_Variable Assignment - Fatal编程技术网

Java数组分配(多值)

Java数组分配(多值),java,variable-assignment,Java,Variable Assignment,我已经定义了一个Java数组,例如 float[] values = new float[3]; 我想在代码中进一步执行类似操作: values = {0.1f, 0.2f, 0.3f}; 但这给了我一个编译错误。有没有更好的方法一次定义多个值,而不是这样做 values[0] = 0.1f; values[1] = 0.2f; values[2] = 0.3f; 谢谢 是: values = new float[] { 0.1f, 0.2f, 0.3f }; 此语法仅允许在初始值设定项

我已经定义了一个Java数组,例如

float[] values = new float[3];
我想在代码中进一步执行类似操作:

values = {0.1f, 0.2f, 0.3f};
但这给了我一个编译错误。有没有更好的方法一次定义多个值,而不是这样做

values[0] = 0.1f;
values[1] = 0.2f;
values[2] = 0.3f;
谢谢

是:

values = new float[] { 0.1f, 0.2f, 0.3f };
此语法仅允许在初始值设定项中使用。您不能在作业中使用它,在作业中,您只能做到以下几点:

values = new float[3];


试图在语言规范中找到对此的引用,但它仍然无法读取。其他人找到了吗?

在声明中,您可以执行以下操作

float[] values = {0.1f, 0.2f, 0.3f};
如果已定义字段,请尝试此操作

values = new float[] {0.1f, 0.2f, 0.3f};
请注意,第二个版本也会创建一个新数组。
如果
values
是对已存在字段的唯一引用,则该字段有资格进行垃圾收集。

如果您在编译时知道这些值,则可以执行以下操作:

float[] values = {0.1f, 0.2f, 0.3f};

如果值在运行时是变量,就没有办法做到这一点。

Java不提供将多个值分配给现有数组元素的构造。初始化器语法只能在创建新数组对象时使用。这可以是在声明时或以后。但无论哪种方式,初始值设定项都是在初始化一个新的数组对象,而不是更新一个现有的数组对象。

这应该可以工作,但速度较慢并且感觉不正确:
System.arraycopy(新的float[]{…},0,value,0,3)

您可以使用局部变量,如:

    float[] values = new float[3];
    float[] v = {0.1f, 0.2f, 0.3f};
    float[] values = v;
公共类arrayFloats{
公共静态void main(字符串[]args){
浮动[]值=新浮动[3];
浮动增量=0.1f;
整数计数=0;
对于(计数=0;计数
若你们选择浮点数,那个么你们选择浮点数,这是你们的选择


这是显示数组元素的一种非常好的方法。

例如,我尝试了以上所有字符,但失败了 但这对我有用>>保留一个指针然后赋值

char A[];
A = new char[]{'a', 'b', 'a', 'c', 'd', 'd', 'e', 'f', 'q', 'r'};

我想这可能就是它,10.6数组初始值设定项,这似乎是语法的相关部分:-个人而言,我总是发现java语言规范与类似文档相比非常可读。您可能需要注意,底部代码创建了一个新数组。添加描述性文本可能会帮助其他人理解您的答案
    float[] values = new float[3];
    float[] v = {0.1f, 0.2f, 0.3f};
    float[] values = v;
    public class arrayFloats {
      public static void main (String [] args){
        float [] Values = new float[3];
        float Incre = 0.1f;
        int Count = 0;

        for (Count = 0;Count<3 ;Count++ ) {
          Values [Count] = Incre + 0.0f;
          Incre += 0.1f;
          System.out.println("Values [" + Count + "] : " + Values [Count]);
        }


      }
    }

//OUTPUT:
//Values [0] : 0.1
//Values [1] : 0.2
//Values [2] : 0.3
int a[] = { 2, 6, 8, 5, 4, 3 }; 
int b[] = { 2, 3, 4, 7 };
char A[];
A = new char[]{'a', 'b', 'a', 'c', 'd', 'd', 'e', 'f', 'q', 'r'};