11489

[code]

    class study1_1Test{
    static boolean flag;
    static int i, j=2 ,k = 3, l , m;
    static double array[] = { -3.4,8.8e100, -9.2e-100 };
    static String s1, s2 = new String("Hello");}
    class study1_1{
    public static void main(String args[]){
        System.out.println(study1_1Test.flag);
        System.out.println(study1_1Test.i);
        System.out.println(study1_1Test.j);
        System.out.println(study1_1Test.k);
        System.out.println(study1_1Test.l);
        System.out.println(study1_1Test.m);
        for (int i = 0; i < study1_1Test.array.length; i++)
        System.out.println(study1_1Test.array[i]);
        System.out.println(study1_1Test.s1);
        System.out.println(study1_1Test.s2);
    }}
    
[/code]

javaの学習中なのですが、このコードで実行すると  
false  
0  
2  
3  
0  
0  
-3.4  
8.8E100  
-9.2E-100  
null  
Hello  
といったメッセージが表示されます。

[code]

    static String s1, s2 = new String("Hello");
    
[/code]

このコードがよくわからなく、helloといったメッセージはｓ１にでずにどうしてｓ２にでるのでしょうか。nullということはｓ１には既定値としてnullがはいっているということみたいなのですが理解できません。  
基本的なことだとおもいますがよろしくお願い致します。


CC BY-SA 3.0
2015-06-19T01:11:29.633
11488
2015-06-19T01:21:01.830
10197
question
java
プログラミングでだされるメッセージが理解できません。


`=` は、`s1`,`s2`の両方に対して作用するわけではなくて

[code]

    static String s1;
    static String s2 = new String("Hello");
    
[/code]

と同じ意味になって、  
カンマで区切られて別々に作用します。


CC BY-SA 3.0
2015-06-19T01:21:01.830
11489
2015-06-19T01:21:01.830
5044
11488
answer