Java ¤Î´ðËÜ¡Ê£±£²¡Ë¡¡¡¦¡¦¡¦¡¡»²¾È
¡¡º£²ó¤È¼¡¡¹²ó¤Ç¤Ï¡¢¤É¤ó¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë¤â¶¦Ä̤ʴðËÜŪ¤Ê»öÊÁ¤Î¤¦¤Á¡¢¤³¤ì¤Þ¤Ç¤ä¤ê»Ä¤·¤¿¤â¤Î¤Ç½ÅÍפʤâ¤Î¤ò¤¤¤¯¤Ä¤«¼è¤ê¾å¤²¤ë¡£¤½¤ì¤Ï¼ç¤È¤·¤Æ»²¾È¡Êº£²ó¡Ë¤È¥á¥½¥Ã¥É¡Ê¼ê³¤·¿¸À¸ì¤ÎÍѸì¤Ç¸À¤¦¤È¡¢´Ø¿ô¤È¤«¼ê³¤¡§¼¡¡¹²ó¡Ë¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
¡¡º£²ó¤Î¡Ö»²¾È¡×¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï¤³¤³¤Î¡ø8.2¡¢¤ª¤è¤Ó¤³¤³¤Î¡ø9.2¡£
¡¡¤¢¤é¤¿¤á¤ÆÇÛÎó¤Ë¤Ä¤¤¤ÆÉü½¬¤·¤è¤¦¡£¼Â¤Ï¡¢ÇÛÎó¤Î̾Á°¤ÏÇÛÎó¤Î¥ª¥Ö¥¸¥§¥¯¥È¡ÊÇÛÎóÍ×ÁÇÁ´ÂΤ¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥á¥â¥êÎΰè¡Ë¤Ø¤Î¥Ý¥¤¥ó¥¿¡Ê¤¹¤Ê¤ï¤Á¡¢»²¾È¡Ë¤Ç¤¢¤ë¡£
Î㤨¤Ð¡¢
¡¡£²¼¡¸µ¤ÎÇÛÎó¤Ï¡¢¡ÖÇÛÎó¤ÎÇÛÎó¡×¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡Ê£³¼¡¸µ°Ê¾å¤Ë¤Ä¤¤¤Æ¤âƱÍÍ¡Ë¡£
¡¡¤Ê¤ª¡¢¤³¤³¤Ç¤Ï¾Ü¤·¤¯½Ò¤Ù¤Ê¤¤¤¬¡Ê¾Ü¤·¤¤¤³¤È¤Ï¤³¤³¡Ë¡¢String ·¿¤ÎÊÑ¿ô¡ÊÀµ³Î¤Ë¤Ï¡¢String ¥¯¥é¥¹¤Î¥¯¥é¥¹ÊÑ¿ô¡Ë¤Ï String ¥ª¥Ö¥¸¥§¥¯¥È¡Êʸ»úÎó¥Ç¡¼¥¿¡Ë¤Ø¤Î»²¾È¤Ç¤¢¤ë¡£Î㤨¤Ð¡¢
¡¡¤µ¤Æ¡¢Ã͸ƤӽФ·¤Ë¤Ä¤¤¤Æ¤Ï¤¹¤Ç¤Ë ¤³¤³ ¤Ç³Ø¤ó¤À¡£¤½¤ì¤Ï¡¢
¡¡¤·¤«¤·¡¢¤³¤ÎÊýË¡¤Ï¡ÖÃͤòÊÖ¤·¤Æ¤â¤é¤Ã¤Æ¤¤¤ë¡×¤³¤È¤¬ÉÔÌÀÎƤʤΤǡ¢¼¡¤Î¤è¤¦¤ËÇÛÎ󤽤Τâ¤Î¤òÃͤȤ·¤ÆÊÖ¤·¤Æ¤â¤è¤¤¡Ê¤½¤ÎÊý¤¬Îɤ¤¡Ë¡§
¤â¤¦¾¯¤·Ê£»¨¤ÊÎã¤È¤·¤Æ¡¢
¡¡°Ê¾å¤Î¤³¤È¤òÍý²ò¤·¤Æ¤¤¤ë¤È¡¢¥¯¥é¥¹·¿ÊÑ¿ô¡Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹ÊÑ¿ô¡Ë¤¬¥á¥½¥Ã¥É¤Î°ú¿ô¤È¤Ê¤Ã¤ÆÅϤµ¤ì¤ë¾ì¹ç¤ä¥á¥½¥Ã¥É¤ÎÌá¤êÃͤȤʤäÆÊÖ¤µ¤ì¤ë¾ì¹ç¤Ë¤É¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤ë¤«¤¬Íý²ò¤Ç¤¤è¤¦¡£
¡¡»²¾È¤È¤Ï
¡¡°ÊÁ°¡¢¥Ç¡¼¥¿·¿¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤¿¤È¤
¡¡¡¡´ðËÜ·¿
¡¡¡¡¡¡¡¡ÏÀÍý·¿¡¡¡¡¡¡¡¡¡¡¡¡boolean
¡¡¡¡¡¡¡¡¿ôÃÍ·¿
¡¡¡¡¡¡¡¡¡¡¡¡À°¿ô·¿¡¡¡¡¡¡¡¡byte, short, int, long
¡¡¡¡¡¡¡¡¡¡¡¡Ê¸»ú·¿¡¡¡¡¡¡¡¡char
¡¡¡¡¡¡¡¡¡¡¡¡ÉâÆ°¾®¿ôÅÀ·¿¡¡float, double
¡¡¡¡»²¾È·¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡º£¤ÏÃΤé¤Ê¤¯¤Æ¤è¤¤
¡¡¡¡null·¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡º£¤ÏÃΤé¤Ê¤¯¤Æ¤è¤¤
¤È½ñ¤¤¤¿¤¬¡¢¤¤¤è¤¤¤èº£²ó¤Ï¡Ö»²¾È¡×¤È¡Önull¡×¤Ë¤Ä¤¤¤ÆÍý²ò¤¹¤Ù¤¤È¤¤¬Í褿¡£¾å¤Îɽ¤Ï¼¡¤Î¤è¤¦¤Ë½ñ¤Ä¾¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡§
¡¡+-- ´ðËÜ·¿
¡¡| +-- ÏÀÍý·¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡boolean
¡¡| +-- ¿ôÃÍ·¿
¡¡| +-- À°¿ô·¿¡¡¡¡¡¡¡¡ byte, short, int, long
¡¡| +-- ʸ»ú·¿¡¡¡¡¡¡¡¡ char
¡¡| +-- ÉâÆ°¾®¿ôÅÀ·¿¡¡ float, double
¡¡|
¡¡+-- »²¾È·¿
¡¡| +-- ¥¯¥é¥¹·¿¡¡¡¡¡¡¡¡¡¡¡¡String, Math ¤Ê¤É
¡¡| +-- ÇÛÎó·¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡char[], String[], int[][] ¤Ê¤É
¡¡| +-- ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹·¿¡¡º£¤ÏÃΤé¤Ê¤¯¤Æ¤è¤¤
¡¡|
¡¡+-- null·¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡null
¡¡»²¾È¡Êreference¡Ë¤È¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤·¤Æ¤¤¤ë¾ì½ê(¥á¥â¥ê¾å¤Î¥¢¥É¥ì¥¹¡Ë¤ò»Ø¤·¼¨¤¹¤â¤Î¤Ç¤¢¤ë¡£¡Ö¥¢¥É¥ì¥¹¡×¤Ï¶ñÂÎŪ¤Ê¤â¤Î¤Ç¤¢¤ë¤¬¡¢Ãê¾ÝŪ¤Ë¡Ö¥Ý¥¤¥ó¥¿¡×¡Êpointer¡Ë¤È¤â¸À¤¦¡Ê¡Ö¥ª¥Ö¥¸¥§¥¯¥È¤Î¤¢¤ë¾ì½ê¤ò»Ø¤¹¤â¤Î¡×¤Î°Õ¡Ë¡£Ä̾¤³¤ì¤ò¼¡¤Î¤è¤¦¤Ë¿Þ¼¨¤¹¤ë¡§
+------+ +--------------+
| ¡¦--+-------->| ¥ª¥Ö¥¸¥§¥¯¥È |
+------+ ¢¬ +--------------+
¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿
¡¡ÇÛÎó¤Ï»²¾È·¿¤Ç¤¢¤ë
int[] a;
¤ÈÇÛÎó¤ÎÀë¸À¤ò¤¹¤ë¤È¡¢a ¤ÎÃÍ¡Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¡Ë¤òÆþ¤ì¤ë¾ì½ê¤À¤±¤¬³ÎÊݤµ¤ì¤ë¡§
+------+
a | null |
+------+¡¡¡¡¡¡¡¡
¡¡null ¤Ï¡¢¡Ö¤É¤³¤â»Ø¤·¤Æ¤¤¤Ê¤¤¡×¤È¤¤¤¦¥Ý¥¤¥ó¥¿¤Î¡ÖÃ͡פòɽ¤¹¡£¤³¤Î¤¢¤È¤Ç¡¢
a = new int[3];
¤È a ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤ò¹Ô¤¦¤È¡¢a ¤Ë¤Ï¤½¤Î¾ì½ê¤ò»Ø¤¹Ãͤ¬Æþ¤ë¡§
+------+ +------+
a | ¡¦--+--------> a[0] | 0 |
+------+ +------+
a[1] | 0 |
+------+
a[2] | 0 |
+------+
¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤Î¤È¤½é´üÃͤÎÀßÄê¤ò¹Ô¤ï¤Ê¤¤¤È¡¢int ·¿¤Î¾ì¹ç¤Ë¤Ï¥Ç¥Õ¥©¡¼¥ë¥È¤Ç 0 ¤¬½é´üÃͤȤʤ롣¤³¤³¤Ç¡¢Î㤨¤Ð
a[2] = 123;
¤È¤¹¤ì¤Ð
+------+ +------+
a | ¡¦--+--------> a[0] | 0 |
+------+ +------+
a[1] | 0 |
+------+
a[2] | 123 |
+------+
¤È¤Ê¤ë¤³¤È¤Ï¸À¤¦¤Þ¤Ç¤â¤Ê¤¤¡£¤â¤·¡¢
int[] a,b;
a = new int[3];
b = new int[3];
b[2] = 321;
¤Î¤è¤¦¤Ë¡¢a ¤È b ¤¬Æ±¤¸Æ±¤¸¥Ç¡¼¥¿·¿¤ÎÇÛÎó¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡ÊŤµ¤Ï°ã¤Ã¤Æ¤¤¤Æ¤â¤è¤¤¤¬¡¢¤½¤Î¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê¡ÖÇÛÎó¤òÇÛÎó¤ËÂåÆþ¤¹¤ë¤³¤È¡×¤ÏÈò¤±¤ë¤Ù¤¤Ç¤¢¤ë¡Ë
+------+ +------+
a | ¡¦--+--------> a[0] | 0 |
+------+ +------+
a[1] | 0 |
+------+
a[2] | 0 |
+------+
+------+ +------+
b | ¡¦--+--------> b[0] | 0 |
+------+ +------+
b[1] | 0 |
+------+
b[2] | 321 |
+------+
¤Ç¤¢¤ë¤¬¡¢ÂåÆþ
a = b;
¤ò¹Ô¤¦¤³¤È¤¬µö¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤Ë¤è¤Ã¤Æ¡¢a ¤Ï b ¤¬»Ø¤¹¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱ¤¸¤È¤³¤í¤ò»Ø¤¹¤è¤¦¤Ë¤Ê¤ë¡§
+------+ +------+
a | ¡¦--+---+ a[0] | 0 |
+------+ | +------+
| a[1] | 0 |
| +------+
| a[2] | 0 |
| +------+
+------+ | +------+
b | ¡¦--+---+----> b[0] | 0 |
+------+ +------+
b[1] | 0 |
+------+
b[2] | 321 |
+------+
¤³¤Î·ë²Ì¡¢a ¤Ï b ¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹¤³¤È¤È¤Ê¤ë¤Î¤Ç¡¢Î㤨¤Ð¡¢ÂåÆþ
a[0] = 999;
b[1] = 888;
¤ò¹Ô¤¦¤È
+------+ +------+
a | ¡¦--+---+ a[0] | 0 |
+------+ | +------+
| a[1] | 0 |
| +------+
| a[2] | 0 |
| +------+
+------+ | +------+
b | ¡¦--+---+----> b[0] | 999 |
+------+ +------+
b[1] | 888 |
+------+
b[2] | 321 |
+------+
¤È¤Ê¤ë¤«¤é¡¢
System.out.println(a[1]);
System.out.println(b[0]);
¤Ë¤è¤Ã¤Æ¤½¤ì¤¾¤ì 888, 999 ¤¬½ÐÎϤµ¤ì¤ë¡£
¤è¤Ã¤Æ¡¢
C[1] = C[2];
¤È¤¤¤Ã¤¿¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤¬¡¢
C = C[1];
Åù¤Ï¡¢º¸±¦Î¾ÊդΥǡ¼¥¿·¿¤¬°ã¤¦¤Î¤ÇÉԲĤǤ¢¤ë¤³¤È¤Ï¸À¤¦¤Þ¤Ç¤â¤Ê¤¤¡£
String s;
¤È¤¤¤¦Àë¸À¤Ç¤Ï¡¢s ¤¬ String ·¿¤Ç¤¢¤ë¤³¤È¤¬Àë¸À¤µ¤ì¤ë¤À¤±¤Ç¡¢¶ñÂÎŪ¤Êʸ»úÎó¥Ç¡¼¥¿¡Êʸ»úÎ󥪥֥¸¥§¥¯¥È¡Ë¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¡§
+------+
s | null |
+------+¡¡¡¡¡¡¡¡
¤·¤«¤·¡¢
s = "abcde";
¤È¤¹¤ë¤È¡¢Ê¸»úÎ󥪥֥¸¥§¥¯¥È "abcde" ¤¬À¸À®¤µ¤ì¡¢s ¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¡§
+------+
s | ¡¦--+-------> "abcde"
+------+ ¡¡¡¡¡¡¡¡
¤Ê¤ª¡¢String ¤Ï char ·¿¤ÎÇÛÎó¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÃΤäƤ¤¤ë¤È¤¤¤í¤ó¤Ê¤³¤È¤¬Íý²ò¤·¤ä¤¹¤¤¡ÊÎ㤨¤Ð¡¢
String s1,s2;
s1 = "abcde";
s2 = s1;
¤Ë¤è¤Ã¤Æ²¿¤¬µ¯¤³¤ë¤Î¤«¡¢¤Ê¤É¡Ë¡£
¡¡¥Ñ¥é¥á¡¼¥¿¤Î¼õ¤±ÅϤ·Êý
¡¡¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤¡¢¸Æ¤Ó½Ð¤¹Â¦¤È¸Æ¤Ð¤ì¤ë¦¤Î´Ö¤Ç¥Ç¡¼¥¿¤ò¸¯¤ê¼è¤ê¤¹¤ë¼êÃʤȤ·¤Æ¡Ê¤¿¤¤¤Æ¤¤¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬»ý¤Ã¤Æ¤¤¤ë¡ËÂåɽŪ¤Ê¤â¤Î¤Ï¼¡¤Î£²¤Ä¤Ç¤¢¤ë¡£
¡¡¤½¤ì°Ê³°¤ÎÊýË¡¤È¤·¤Æ¡¢Âç°èŪÊÑ¿ô¡Ê¥¯¥é¥¹¤Î¥Õ¥£¡¼¥ë¥É¡Ë¤òÍѤ¤¤ë¤ä¤êÊý¤â¤¢¤ë¤¬¡¢¤½¤¦¤¤¤Ã¤¿ÊýË¡¤Ï¤³¤ì¤Þ¤Ç¤Ë¤¤¤¯¤Ä¤â¤Î¥×¥í¥°¥é¥àÎã¤ÎÃæ¤Ç¤âÉÑÈˤËÍѤ¤¤¿¤Î¤ÇÍý²ò¤·¤Æ¤¤¤ë¤â¤Î¤È»×¤¦¡£
¡¡°ìÊý¡¢»²¾È¸Æ½Ð¤·¤Ï
¸Æ¤Ð¤ì¤ë¥á¥½¥Ã¥É̾(¼Â°ú¿ôʤÓ)
¤Ë¤è¤Ã¤Æ¤½¤ÎÃͤò»²¾È¤¹¤ë¡£
¡ÊÎã¡Ë¡¡ÇÛÎó̾¤Ï»²¾È·¿ÊÑ¿ô¤Ç¤¢¤ë
public static void mult(int[] a, int n) { // ¡
for (int i=0; i<a.length; i++) {
a[i] *= n; // ¢
}
}
public static void main(String[] args) {
int[] b = {0, 10, 20};
System.out.println(b[0]+b[1]+b[2]); // £¡¡30 ¤¬½ÐÎϤµ¤ì¤ë
mult(b, b[2]); // ¤
System.out.println(b[0]+b[1]+b[2]); // ¥¡¡60 ¤¬½ÐÎϤµ¤ì¤ë
}¡¡¡¡
¡¡mult ¤ÎÄêµÁ¡¤Ë¤ª¤¤¤Æ¡¢£±ÈÖÌܤβ¾°ú¿ô¤ÏÇÛÎó¤ÎÀë¸À¡¡int[] a ¤Ç¤¢¤ê¡¢¤½¤ì¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¤¤Ë¤ª¤¤¤Æ¡¢Âбþ¤¹¤ë£±ÈÖÌܤμ°ú¿ô b ¤ÏÇÛÎó̾¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¡ÊÇÛÎó̾¤Ï»²¾È·¿¤ÎÊÑ¿ô¤Ç¤¢¤ë¡Ë¡£
¡¡°ìÊý¡¢mult ¤Î¸Æ¤Ó½Ð¤·¤¤Ë¤ª¤¤¤Æ¡¢Âè1°ú¿ô b ¤¬»²¾È¸Æ½Ð¤·¤Ç¤¢¤ë¤Î¤ËÂФ·¡¢Âè2°ú¿ô b[2] ¤ÏÃ͸ƽФ·¤Ç¤¢¤ë¡£¤è¤Ã¤Æ¡¢¤¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢¡¤Î a ¤Ë b ¤¬¥³¥Ô¡¼¤µ¤ì¡¢¢¤¬¼Â¹Ô¤µ¤ì¤ë¤È¼«Æ°Åª¤Ë b ¤ÎÃͤâÊѤï¤ë¤³¤È¤Ë¤Ê¤ë¤«¤é¡¢£¤Î»þÅÀ¤Ç¤Ï b[0]=0, b[1]=10, b[2]=20 ¤Ç¤¢¤Ã¤¿¤â¤Î¤¬¡¢¥¤Î»þÅÀ¤Ç¤Ï b[0]=b[1]=b[2]=20 ¤È¤Ê¤ê¡¢¤½¤Î·ë²Ì¤¤Ç¤Ï60¤¬½ÐÎϤµ¤ì¤ë¡£
public static int[] mult(int[] a, int n) {
for (int i=0; i<a.length; i++) {
a[i] *= n;
}
return a;
}
public static void main(String[] args) {
int[] b = {0, 10, 20};
System.out.println(b[0]+b[1]+b[2]);
b = mult(b, b[2]);
System.out.println(b[0]+b[1]+b[2]);
}¡¡¡¡
¡¡ÇÛÎó̾¤ò»²¾È¤È¤·¤Æ¥á¥½¥Ã¥É¤ËÅϤ¹¾ì¹ç¡¢ÇÛÎ󥪥֥¸¥§¥¯¥È¤ÎÀèƬ¥¢¥É¥ì¥¹¤¬ÅϤµ¤ì¡¢²¾°ú¿ô¤È¼Â°ú¿ô¤ÏƱ¤¸¥á¥â¥êÎΰè¤ò¶¦Í¤¹¤ë¡Ê¥á¥½¥Ã¥É¤¬ÇÛÎó̾¤òÃͤȤ·¤ÆÊÖ¤¹¾ì¹ç¤âƱÍͤǡ¢Ê֤äƤ¯¤ë¤Î¤Ï¤½¤ÎÇÛÎ󥪥֥¸¥§¥¯¥È¤Î¥á¥â¥ê¾å¤Ç¤ÎÀïÆ®¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡Ë¡£¤½¤Î¤¿¤á¡¢ÂçÎ̥ǡݥ¿¤Î¼õ¤±ÅϤ·¤Ë¤ÏÇÛÎó¤ò»È¤¦¤³¤È¤¬Ë¾¤Þ¤·¤¤¡ÊÃ͸ƽФ·¤Î¾ì¹ç¤Ë¤Ï¡¢¼Â°ú¿ô¤ÎÃͤò²¾°ú¿ô¤Ë¥³¥Ô¡¼¤¹¤ë¤¿¤á¤Ë»þ´Ö¤¬¤«¤«¤ë¤·¡¢¥á¥â¥ê¤â²¾¡¦¼Âξ°ú¿ô¤Î¤¿¤á¤Ë£²ÇÜɬÍפǤ¢¤ë¡Ë¡£
¡¡¤Þ¤¿¡¢¥á¥½¥Ã¥É¤ÏÄ̾ï¤ÏÃÍ¡Êreturn ʸ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ëÃ͡ˤò£±¤Ä¤·¤«»ý¤Áµ¢¤ì¤Ê¤¤¤¬¡¢»²¾ÈÅϤ·¡ÊÇÛÎó¡Ë¤ÏÊ£¿ô¤ÎÃͤò»ý¤Áµ¢¤ë¼êÃʤȤ·¤Æ¤â»È¤¨¤ë¡£
¡¡¥¯¥é¥¹·¿ÊÑ¿ô¤â»²¾È·¿¤Ç¤¢¤ë
¡¡¥¯¥é¥¹·¿ÊÑ¿ô¤È¤Ï¡¢¥æ¡¼¥¶¼«¿È¤¬¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¤«¡¢¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹(Î㤨¤Ð String ¤ä Math ¤Ê¤É)¤ò»È¤Ã¤Æ¡¢
String str;
¤Î¤è¤¦¤ËÀë¸À¤·¤¿ÊÑ¿ô¡Ê¤³¤ÎÎã¤Ç¤Ï str¡Ë¤Î¤³¤È¤ò¤¤¤¦¡£¥¯¥é¥¹·¿ÊÑ¿ô¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹ÊÑ¿ô¤Ç¤¢¤ê¡Ê¤³¤ÎÎã¤Ç¤Ï String ¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È str¡Ë¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤¿¤ê¡¢½é´ü²½¤·¤¿¤ê¤¹¤ë¤Ë¤Ï¡¢
str = "This is a string";
¤Î¤è¤¦¤Ë½ñ¤¯¡£
¤³¤¦¤¤¤Ã¤¿¡Ö¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹ÊÑ¿ô¡×¤Ç¤¢¤ë¥¯¥é¥¹·¿ÊÑ¿ô¤Ï»²¾È¤òÃͤ˼è¤ëÊÑ¿ô¤Ç¤¢¤ë¡£
¡¡¤â¤¦¾¯¤·Ê£»¨¤ÊÎã¤òµó¤²¤ë¤È¡¢Data1 ¥¯¥é¥¹¤ò
class Data1 {
String key;
int freq;
}
¤ÈÄêµÁ¤·¤Æ¤ª¤¡¢
Data1 x1 = new Data1();
¤È¤·¤Æ¡¢Data1 ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤¹¤ë¤È
+------+ +---------+
x1 | ¡¦--+------->| null | x.key
+------+ +---------+
| 0 | x.freq
+---------+¡¡¡¡¡¡¡¡
¤Î¤è¤¦¤ËÊÑ¿ô x1 ¤Ë¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¡Ê¥¢¥É¥ì¥¹)¤¬ÂåÆþ¤µ¤ì¡¢¤½¤Î¤¢¤È¤Ç¡¢
x.key = "abcdefg";
x1.freq = 1
¤È¤¹¤ì¤Ð
+------+ +---------+
x1 | ¡¦--+------->| ¡¦---+-----> "abcdefg"
+------+ +---------+
| 1 |
+---------+¡¡¡¡¡¡¡¡
¤È¤Ê¤ë¡£¤µ¤Æ¡¢
Data1 x1 = new Data1();
Data1 y1 = new Data1();
// Data1 x1 = new Data1(), y1 = new Data1(); ¤Ç¤â¤è¤¤¤¬
// Data1 x1, y1; ¤À¤±¤Ç¤Ï¥À¥á
x1.key = "x1's key";
y1.key = "y1's key";
¤È¤·¤Æ x1, x2 ¤òÀ¸À®¡¦½é´ü²½¤¹¤ë¤È¡¢
+------+ +-------+
x1 | ¡¦--+------->| ¡¦---+----> "x1's key"
+------+ +-------+
| 0 |
+-------+
+------+ +-------+
y1 | ¡¦--+------->| ¡¦---+----> "y1's key"
+------+ +-------+
| 0 |
+-------+¡¡¡¡¡¡¡¡
¤È¤Ê¤ë¤Î¤Ç
System.out.printf("%s, %d\n", x1.key, x1.freq);
System.out.printf("%s, %d\n", y1.key, y1.freq);
¤Î½ÐÎϤϡ¢
x1's key, 0
y1's key, 0
¤È¤Ê¤ë¤¬¡¢¤½¤Î¤¢¤È¤Ç
x1 = y1; // ÂåÆþ¤Ïº¸±¦Î¾Êդλ²¾È·¿¤¬Æ±¤¸¤Ç¤¢¤ë¤³¤È
y1.key = "new key";
x1.freq = 12;
¤ò¹Ô¤¦¤È
+------+ +-------+
x1 | ¡¦--+---+ | ¡¦---+----> "x1's key"
+------+ | +-------+
| | 0 |
| +-------+
+------+ | +-------+
y1 | ¡¦--+---+--->| ¡¦---+----> "new key"
+------+ +-------+
| 12 |
+-------+¡¡¡¡¡¡¡¡
¤È¤Ê¤ë¤Î¤Ç¡¢
System.out.printf("%s, %d\n", x1.key, x1.freq);
System.out.printf("%s, %d\n", y1.key, y1.freq);
¤Î½ÐÎϤÏ
new key, 12
new key, 12
¤È¤Ê¤ë¡£
class Data2 {
String name = "data class 2";
int[] value; // ¤³¤³¤ÇÀë¸À¤ò¤·¤Æ¤ª¤¯¤³¤È¤¬É¬Í×
Data2(int n) { // ¥³¥ó¥¹¥È¥é¥¯¥¿
value = new int[n]; // Ťµ n ¤ÎÇÛÎó value ¤òÀ¸À®¤¹¤ë
}
}
¤ò¹Í¤¨¤è¤¦¡£¤³¤Î¤È¤¡¢
Data2 x2 = new Data2(3);
¤È¤·¤Æ¡¢Data2 ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È x2 ¤òÀ¸À®¤¹¤ë¤È
+------+ +------+
x2 | ¡¦--+---> x2.name | ¡¦--+----> "data class 2"
+------+ +------+ +-----+
x2.value | ¡¦--+----> x2.value[0] | 0 |
+------+ +-----+
x2.value[1] | 0 |
+-----+
x2.value[2] | 0 |
+-----+¡¡
¤Î¤è¤¦¤Ë x2 ¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
for (int i=0; i<3; i++) x2.value[i] = 100*i;
System.out.printf("%s; ", x2.name);
for (int i=0; i<3; i++) System.out.printf("%d ", x2.value[i]);
¤Ë¤è¤Ã¤Æ
data2; 0 100 200
¤È½ÐÎϤµ¤ì¤ë¡£
¡¡¼¡¤ÎÎã¤ò¹Í¤¨¤è¤¦¡§
¡ÊÎã¡Ë¡¡Ã±¤Ë2¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤À¤±¤«¤é¤Ê¤ë¥¯¥é¥¹¤ò»È¤Ã¤Æ2¤Ä¤Î¥Ç¡¼¥¿¤ò¸¯¤ê¼è¤ê¤¹¤ë
// Record ¥¯¥é¥¹¤ÎÄêµÁ
class Record {¡¡
int n = 10;
double x;
}
class recordUsage {
public static void main(String[] args) {
// Record¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È rcd ¤ÎÀ¸À®
Record rcd = new Record();
System.out.println(rcd.n); // 10 ¤ò½ÐÎÏ
System.out.println(rcd.x); // 0.0 ¤ò½ÐÎÏ
methodA(rcd);
System.out.println(rcd.n); // 1230 ¤ò½ÐÎÏ
System.out.println(rcd.x); // 987.65 ¤ò½ÐÎÏ
rcd = methodB(rcd);
System.out.println(rcd.n); // 12345 ¤ò½ÐÎÏ
System.out.println(rcd.x); // 98765.0 ¤ò½ÐÎÏ
}
// ¥¯¥é¥¹ÊÑ¿ô RCD ¤ò°ú¿ô¤È¤¹¤ë¥á¥½¥Ã¥É
static void methodA(Record RCD) {
RCD.n *= 123;
RCD.x = 987.65;
}
// ¥¯¥é¥¹ÊÑ¿ô RCD ¤òÌá¤êÃͤȤ¹¤ë¥á¥½¥Ã¥É
static Record methodB(Record RCD) {
RCD.n = 12345;
RCD.x *= 100;
return RCD;
}
¡¡¸Æ¤Ó½Ð¤· methodA(rcd); ¤Ë¤è¤Ã¤Æ static void methodA(Record RCD) ¤Î²¾°ú¿ô RCD ¤Ë ¼Â°ú¿ô rcd ¤ÎÃÍ¡Ê»²¾È¡Ë¤¬¥³¥Ô¡¼¤µ¤ì¡¢·ë²ÌŪ¤Ë RCD ¤È rcd ¤ÏƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹¤³¤È¤Ë¤Ê¤ë¡£¤½¤Î·ë²Ì¡¢
RCD.n *= 123;
RCD.x = 987.65;
¤Ë¤è¤Ã¤Æ rcd.n ¤ÎÃͤâ rcd.x ¤ÎÃͤâƱÍͤËÊѤï¤ë¡ÊRCD ¤¬»Ø¤¹¤â¤Î¤È rcd ¤¬»Ø¤¹¤â¤Î¤¬Æ±¤¸¤À¤«¤éÅöÁ³¤Î¤³¤È¤Ç¤¢¤ë¡Ë¡£
¤·¤¿¤¬¤Ã¤Æ¡¢mathodA ¤«¤éÌá¤Ã¤¿¤¢¤È
System.out.println(rcd.n); // 1230 ¤ò½ÐÎÏ
System.out.println(rcd.x); // 987.65 ¤ò½ÐÎÏ
¤È¤Ê¤ë¤Î¤ÏÅöÁ³¤Ç¤¢¤ë¡£
¡¡°ìÊý¡¢¡¡¸Æ¤Ó½Ð¤· rcd = methodB(rcd); ¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ methodB(rcd) ¤ÎÃæ¤Ç½ñ¤´¹¤¨¤é¤ì¤¿ RCD ¤¬ rcd ¤ËÂåÆþ¤µ¤ì¤ë¤Î¤Ç¡¢¤½¤Î¸å¤Ç¼Â¹Ô¤¹¤ë¤È
System.out.println(rcd.n); // 12345 ¤ò½ÐÎÏ
System.out.println(rcd.x); // 98765.0 ¤ò½ÐÎÏ
¤È¤Ê¤ë¡£