小编Shu*_*Raj的帖子

任何人都可以解释我在编译这个程序时得到的输出吗?

当我得到一个奇怪的输出时,我执行了下面提到的代码.任何人都可以解释为什么我得到这个输出?

码:

public class Bar {

    static void foo( int... x ) {
        System.out.println(x);
    }
    static void foo2( float... x ) {
        System.out.println(x);
    }
    public static void main(String args[])
    {
            Bar.foo(3,3,3,0);
            Bar.foo2(3,3,3,1);
            Bar.foo(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

产量

[I@7a67f797
[F@3fb01949
[I@424c2849
Run Code Online (Sandbox Code Playgroud)

为什么我们要获取"[I@"/ "[F@"前缀和8个字母数字字符,它们是内存地址吗?

java

5
推荐指数
1
解决办法
105
查看次数

用Java声明二维数组

以下是合法的数组声明:

int i[][];
int []j[];
int [][]k;
int[][] l;
Run Code Online (Sandbox Code Playgroud)

但是如果我们在一行中声明数组,我们就会收到SYNTAX错误

int [] []i, []j[], k[], l[][];

ERROR: Syntax Error.
Run Code Online (Sandbox Code Playgroud)

为什么会显示此行为?

javac

3
推荐指数
1
解决办法
133
查看次数

不同情况下前缀和后缀运算符之间的区别

我已经浏览了本论坛中与此主题相对应的所有问题,我觉得提出一个不同的问题,因为这个问题没有得到明确回答.这是我的场景:我有这个类Test1:

public class Test1 {
    public static void main(String args[]) { 
        int i=0, j=2;
        do {
            i= i+1;
            j--;
        } while(j>0);
        System.out.println(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这是我的问题:a)如果我用++ i替换'i = i + 1'的递增操作,我得到所需的输出为

1
2
Run Code Online (Sandbox Code Playgroud)

但是如果我用i ++替换'i = i + 1'的递增操作,我得到所需的输出为

0
0
Run Code Online (Sandbox Code Playgroud)

我确实理解在for循环中使用前缀和后缀运算符的区别,但为什么在do-while循环中该值根本没有增加?

java

0
推荐指数
1
解决办法
365
查看次数

标签 统计

java ×2

javac ×1