プログラミングでだされるメッセージが理解できません。

投稿者: Anonymous
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);
}}

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

static String s1, s2 = new String("Hello");

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

解決

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

static String s1;
static String s2 = new String("Hello");

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

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *