有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java这个数组上的预增量是如何工作的

++frequency[2] ;

我认为尚未初始化的数组的默认值是0。 在国际海事组织,这意味着评估 frequency[2]为零,然后向其添加1并将其分配给索引2。 请任何人解释一下这个代码的输出是如何得到的。这件事一直在狠狠地打击我的头

 public static void main(String ars[])
{

    int responses[] = {1,2,4,4};
   int freq[] = new int[5];
    for(int answer = 1;answer < responses.length;answer++){
        ++freq[responses[answer]];
    }
    for ( int rating = 1; rating < freq.length; rating++ )
         System.out.printf( "%6d%10d\n", rating, freq[ rating ] );

//输出

     1         0
     2         1
     3         0
     4         2

共 (1) 个答案

  1. # 1 楼答案

    是的,你是

    int[] frequency = new int[3];
    System.out.println(frequency[2]);
    System.out.println(++frequency[2]);
    System.out.println(frequency[2]);
    

    印刷品:

    0
    1
    1
    

    编辑:正如潜伏者在这里所说的How does this pre increment on arrays work,这个答案对Java是有效的,但它可能不适用于其他语言