[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 08/12 19:19 / Filesize : 256 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Sun認定Java資格 実用情報 4 【SJC-P用】



1 名前:仕様書無しさん mailto:sage [2006/08/28(月) 07:54:53 ]
Sun認定Java資格 実用情報 4 【SJC-P用】


このスレッドは、Sun認定Java資格の
Sun Certified Programmer for Java 2 Platform 5.0
Sun Certified Programmer for the Java 2 Platform 1.4
Sun Certified Programmer for the Java 2 Platform 1.2

に関して、具体的な『実用情報』を集めるために立てました。

過去スレ・関連スレ >>2
試験報告用テンプレ >>3
関連書籍 >>4
リンクなど >>5

▼▼▼▼▼▼▼▼▼▼ ↓注目 ▼▼▼▼▼▼▼▼▼▼

このスレッドでは、 次の書き込みや議論は『 不要 』です。
「資格なんて意味ねーよ」
「実務経験関係なしにiStudyシコシコやってればとれる資格に意味ねぇ」
「3日で取れないやつはクソ」etc
スレッドを荒らすだけの発言は他でやってください。

▲▲▲▲▲▲▲▲▲▲ ↑注目 ▲▲▲▲▲▲▲▲▲▲

前向きに、
SJC-Pに関する実用情報を議論するための
スレッドにしましょう。

996 名前:986 mailto:sage [2008/03/16(日) 21:27:27 ]
正直Javaは数年触ってないから自信ないよねっと。

class Test {
 public static void main(String[] args) {
  
  // Arrayクラスは、Java君がどっかに領域作ってくれるんじゃね
  int[] a = { 11, 12, 13, 14 }; // aは、Arrayクラスの在処を覚えた
  int[] b = { 0, 1, 2, 3 }; // bは、Arrayクラスの在処を覚えた
  int[] c = null;
  
  // >>991 「シャローコピー」でググって説明を探すと大吉
  c = a; // aの指すArrayクラスの場所を、cに教えてやる
  a = b; // bの指すArrayクラスの場所を、aに教えてやる
  
  b[0] = 10000;
  System.out.println(a[0]); // b[0]と一緒
  System.out.println(b[0]);
  System.out.println(c[0]); // a[0]と一緒
 }
}

C:\test>javac Test.java
C:\test>java Test
10000
10000
11

997 名前:991 [2008/03/16(日) 21:41:21 ]
>994
違いますよ〜。
配列アクセスでは、ブラケット([])の式が評価される前に
ブラケット([])の前にある式が完全に評価される事が保障されています。
その評価された値は別の場所に記憶されます。
たとえば、
class Test {
 public static void main(String[] args) {
  int index = 1;
  try {
   skedaddle()[index=2]++;
  } catch(Exception e) {
   System.out.println(e + ", index=" + index);
  }
 }
 static int[] skedaddle() throws Exception {
  throw new Exception("Ciao");
 }
}
の結果は
java.lang.Exception: Ciao, index = 1
となります。
ブラケット[]の中の式は評価されていません。


998 名前:仕様書無しさん mailto:sage [2008/03/16(日) 21:43:18 ]
何だお前ら、珍しくjavaの話してるな・・・

999 名前:986 mailto:sage [2008/03/16(日) 21:47:25 ]
>>991
正確には「a = b」は

 bが指しているArrayクラスの位置を、aに代入する

になる。
言い換えると「a = b」は

 a[0] = b[0];
 a[1] = b[1];
 a[2] = b[2];
 a[3] = b[3];

の代用にはならん。

後、揚げ足取られるとウザイんで、
何でもかんでも「正確じゃない」って書いてる。


1000 名前:986 mailto:sage [2008/03/16(日) 21:48:42 ]
まるっこコピーが欲しいならArray#clone()だろうか。

class Test {
 public static void main(String[] args) {
  
  int[] a = { 11, 12, 13, 14 };
  int[] b = { 0, 1, 2, 3 };
  
  // 1. bと同じ内容のArrayクラスを作る
  // 2. aに、1で作ったArrayクラスの場所を教えてやる
  a = b.clone();
  
  b[0] = 10000;
  System.out.println(a[0]);
  System.out.println(b[0]);
 }
}

ハイ後は適当にヨロシク。あと次ぎスレへGO。

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<256KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef