C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 配列の演算


(過去ログ 55 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■31184 / inTopicNo.1)  配列の演算
  
□投稿者/ dorako (3回)-(2009/01/16(Fri) 11:14:18)

分類:[Java] 

下記のプログラムを実行した結果が(1)が-5,(2)が8,(3)が10になるのですが、
何故そのような結果のなるのかわかりません。
何故そうなるのか教えてください。

class sample{
    public static void main(String[] args){

	int[]a={1,5,7,9,-3,0};
	int[]b={8,-4,3,5,2};
	int[]c=new int[4];

	c=a;
	a[1]++; a[2]++; a[3]++;
	a=b;
	b[1]--; b[2]--; b[3]--;
	b=c;

	System.out.println("(1)="+a[1]);
	System.out.println("(2)="+b[2]);
	System.out.println("(3)="+c[3]);
    }
}

引用返信 編集キー/
■31187 / inTopicNo.2)  Re[1]: 配列の演算
□投稿者/ すがり (17回)-(2009/01/16(Fri) 11:28:45)
http://www.nextindex.net/java/array2.html
http://www.nextindex.net/java/reference.html

配列は参照型変数だからです。
引用返信 編集キー/
■31188 / inTopicNo.3)  Re[1]: 配列の演算
□投稿者/ επιστημη (1532回)-(2009/01/16(Fri) 11:30:33)
επιστημη さんの Web サイト
> int[]a={1,5,7,9,-3,0};
> int[]b={8,-4,3,5,2};
> int[]c=new int[4];
>
> c=a;
> a[1]++; a[2]++; a[3]++;

ここで a (=c) = { 1, 6, 8, 10, -1, 0 }

> a=b;
> b[1]--; b[2]--; b[3]--;

ここで a (=b) = { 8, -5, 2, 4, 2 };

> b=c;

ここで b (=c) = { 1, 6, 8, 10, -1, 0 }

なのでこの時点で

a = { 8, -5, 2, 4, 2 };
b = { 1, 6, 8, 10, -1, 0 }
c = { 1, 6, 8, 10, -1, 0 }

> System.out.println("(1)="+a[1]); // -5
> System.out.println("(2)="+b[2]); // 8
> System.out.println("(3)="+c[3]); // 10

※「配列の代入は個々の要素を書き換えるんじゃ*ない*」ことに注意。

引用返信 編集キー/
■31194 / inTopicNo.4)  Re[2]: 配列の演算
□投稿者/ dorako (4回)-(2009/01/16(Fri) 12:02:48)
2009/01/16(Fri) 12:10:23 編集(投稿者)
2009/01/16(Fri) 12:10:03 編集(投稿者)

<pre><pre>■No31188 (επιστημη さん) に返信
とてもわかりやすい説明ありがとうございます。
ですが一つ疑問に思ったところがあります。
>> int[]a={1,5,7,9,-3,0};
>> int[]b={8,-4,3,5,2};
>> int[]c=new int[4];
>>
>> c=a;
>> a[1]++; a[2]++; a[3]++;
>
              この部分↓ですが
> ここで a (=c) = { 1, 6, 8, 10, -1, 0 }
-3の間違えですよね.
解決済み
引用返信 編集キー/
■31196 / inTopicNo.5)  Re[3]: 配列の演算
□投稿者/ επιστημη (1535回)-(2009/01/16(Fri) 12:06:12)
επιστημη さんの Web サイト
>               この部分↓ですが
>>ここで a (=c) = { 1, 6, 8, 10, -1, 0 }
> -3の間違えですよね。

ですね。ごめんなさい。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -