Javaã¡ãœãã
æåã®æ°ç« ã§ã¯ãæã ã¯å€ãã®å Žåã®System.out.printlnïŒïŒã«äœ¿çšããããã¯äœã§ããïŒ
printlnïŒïŒã¡ãœããïŒæ¹æ³ïŒã§ãããã·ã¹ãã ãåºãŠãã·ã¹ãã ã¯ã©ã¹ïŒã¯ã©ã¹ïŒã§æšæºåºåãªããžã§ã¯ãïŒãªããžã§ã¯ãïŒã§ãã ãã®æã®äœ¿çšæ³ïŒã¡ãœããã®printlnïŒã·ã¹ãã ã¯ã©ã¹ã·ã¹ãã ã®æšæºåºåãªããžã§ã¯ããåŒã³åºãããšã§ãã
ã ããããããè¡ãããã®æ¹æ³ã¯äœã§ããïŒ
Javaã¡ãœããã¯ãäžç·ã«æ©èœãå®è¡ããæã§èšå®ãããŠããŸãã
- ãã®æ¹æ³ã¯ãåé¡ã¹ãããã®ã¯ã©ã¹ã解決ããããã«åœããçµã¿åããã§ã
- ã¯ã©ã¹ãŸãã¯ãªããžã§ã¯ãã«å«ãŸããã¡ãœãã
- ãã®æ¹æ³ã¯ãããã°ã©ã ã§äœæããä»ã®å Žæã§åç §ãããŸãã
å®çŸ©ãããã¡ãœãã
äžè¬çã«ã¯ã次ã®æ§æãå«ãæ¹æ³ã®å®çŸ©ïŒ
修饰笊 è¿ååŒç±»å æ¹æ³å (åæ°ç±»å åæ°å){ ja. æ¹æ³äœ ja. return è¿ååŒ; }
ã¡ãœããã¯ãã¡ãœããã®ããããŒãšã¡ãœããã®æ¬äœãå«ã¿ãŸãã ããã§ã¯ããã¹ãŠã®ããã»ã¹ã®äžéšã§ãïŒ
- 修食åïŒãªãã·ã§ã³ã§ã修食åãã¡ãœãããåŒã³åºãæ¹æ³ãã³ã³ãã€ã©ã«æ瀺ããŸãã ããã¯ãã¡ãœããã®ã¢ã¯ã»ã¹ã¿ã€ããå®çŸ©ããŸãã
- æ»ãå€åïŒã¡ãœããã¯å€ãè¿ãããšããããŸãã returnValueTypeã¯ãã¡ãœãããå€ã®ããŒã¿åãè¿ãã§ãã ããã€ãã®æ¹æ³ã¯ãææã®äœçšããããŒãªã¿ãŒã³å€ãå®è¡ããŸãã ãã®å ŽåãreturnValueTypeããŒã¯ãŒããã€ãã
- ã¡ãœããåïŒã¡ãœããã®å®éã®ååã ã¡ãœããåãšãã©ã¡ãŒã¿ãªã¹ãã¯ãäžç·ã«ã¡ãœããã·ã°ããã£ãæ§æããŠããŸãã
- ãã©ã¡ãŒã¿ã¿ã€ãïŒãã¬ãŒã¹ãã«ãã®ãããªãã©ã¡ãŒã¿ã§ãã ã¡ãœãããåŒã³åºããããšãå€ããã©ã¡ãŒã¿ã«æž¡ãããŸããã ãã®å€ã¯ãåŒæ°ãŸãã¯å€æ°ãšåŒã°ããŠããŸãã ãã©ã¡ãŒã¿ãªã¹ãã¯ãã©ã¡ãŒã¿æ³ã®çš®é¡ãé åºãšãã©ã¡ãŒã¿ã®æ°ã§ãã ãã©ã¡ãŒã¿ã¯ãªãã·ã§ã³ã§ããã®æ¹æ³ã¯ãä»»æã®ãã©ã¡ãŒã¿ãå«ããããšã¯ã§ããŸããã
- æ¹æ³ããã£ïŒã¡ãœããã¯ãã¡ãœããã®é¢æ°ãå®çŸ©ããç¹å®ã®ã¹ããŒãã¡ã³ããå«ã¿ãŸãã
以äžã®ãããªïŒ
public static int age(int birthday){ja.}
ããªãã¯ãè€æ°ã®ãã©ã¡ãŒã¿ãæã€ããšãã§ããŸãã
static float interest(float principal, int year){ja.}
泚ïŒããã€ãã®ä»ã®èšèªã®æ¹æ³ã§ã¯ããã»ã¹ãæ©èœãæããŸãã åŒã³åºãããé¢æ°ã¡ãœããã®æ»ãå€ã®void以å€ã®æ»ãå€ã®åãã¡ãœããã¯ãããã»ã¹ãšåŒã°ãããã€ãåã®æ»ãå€ãè¿ããŸãã
äŸ
以äžã®æ¹æ³ã¯ãããã2ã€ã®ãã©ã¡ãŒã¿ã®æ倧å€ãè¿ãã2ã€ã®ãã©ã¡ãŒã¿å€num1ãšnum2ã®ãå«ãŸããŠããŸãã
/** è¿å䞀䞪æŽååéæ°æ®çèŸå€§åŒ */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; }
ã¡ãœããåŒã³åºã
Javaã¯ãã¡ãœããã®æ»ãå€ãéžæãããã©ããã«å¿ããŠãã¡ãœãããåŒã³åºãããã®2ã€ã®æ¹æ³ããµããŒãããŠããŸãã
ããã°ã©ã ã¯ãã¡ãœãããåŒã³åºããšãã¡ãœãããå¶åŸ¡ããããã°ã©ã ãåŒã³åºãããŸãã éãæ¬åŒ§ã¯ãããã°ã©ã ã«å¶åŸ¡ãè¿ããšãã«ãšãã«åŒã³åºãããã¡ãœããã®returnæãå®è¡ãŸãã¯ã¡ãœããã®æ¬äœãŸã§ãããŠããŸãã
ã¡ãœãããå€ãè¿ããå Žåãã¡ãœããåŒã³åºãã¯ãäžè¬çã«å€ãšããŠæ±ãããŸãã äŸãã°ïŒ
int larger = max(30, 40);
ã¡ãœããã®æ»ãå€ãvoidã®å Žåãã¡ãœããåŒã³åºããã¹ããŒãã¡ã³ãã§ãªããã°ãªããŸããã äŸãã°ãvoidãè¿ãã®printlnã¡ãœããã 次ã®åŒã³åºãã¯ãæã§ãïŒ
System.out.println("Welcome to Java!");
äŸ
次ã®äŸã§ã¯ãã¡ãœãããå®çŸ©ããæ¹æ³ãããã³ãããåŒã³åºãæ¹æ³ã瀺ããŠããŸãã
public class TestMax { /** äž»æ¹æ³ */ public static void main(String[] args) { int i = 5; int j = 2; int k = max(i, j); System.out.println("The maximum between " + i + " and " + j + " is " + k); } /** è¿å䞀䞪æŽæ°åéèŸå€§çåŒ */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; } }
次ã®ãããªçµæãã³ã³ãã€ã«ããäžèšã®äŸã¯æ¬¡ã®ãšããã§ãã
The maximum between 5 and 2 is 5
ãã®ããã°ã©ã ã¯ãmainã¡ãœãããšæ倧ã®ã¡ãœãããå«ãŸããŠããŸãã ã¡ã€ã³JVMã®æ¹æ³ã¯ãŸããã¡ã€ã³ãšä»ã®æ¹æ³ããªãã®éãã§ãåŒã³åºãããŸãã
mainã¡ãœãããé ã¡ãœããåãString []åã®ãã©ã¡ãŒã¿ãæã€ã»ãã«ãã¡ã€ã³ã§ãããpublicããã³static修食åãšãæ»ãåvoidã®å€ã瀺ãããŠããäŸãšåãã§ãã åŒæ°ãæååã®é åã§ããããšãString []åã
ããŒã¯ãŒãã®ãã€ã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ã宣èšããvoidã¡ãœãããåŒã³åºãæ¹æ³ã«ã€ããŠèª¬æããŸãã
次ã®äŸã§ã¯ãprintGradeãšããååã®ã¡ãœããã宣èšããäžããããã¹ã³ã¢ãå°å·ããããã«ãããåŒã³åºããŸãã
äŸ
public class TestVoidMethod { public static void main(String[] args) { printGrade(78.5); } public static void printGrade(double score) { if (score >= 90.0) { System.out.println('A'); } else if (score >= 80.0) { System.out.println('B'); } else if (score >= 70.0) { System.out.println('C'); } else if (score >= 60.0) { System.out.println('D'); } else { System.out.println('F'); } } }
次ã®ãããªçµæãã³ã³ãã€ã«ããäžèšã®äŸã¯æ¬¡ã®ãšããã§ãã
C
ããã§printGradeã¡ãœããã¯voidåã®æ¹æ³ããããããã¯å€ãè¿ããŸããã
voidã¡ãœããåŒã³åºããã¹ããŒãã¡ã³ãã§ãªããã°ãªããŸããã ãããã£ãŠãæã®åœ¢ã®3è¡ç®ã®åŒã³åºãã®äž»èŠãªæ¹æ³ã§ãã ãã¹ãŠã®æãšåæ§ã®ããã«ã»ãã³ãã³ã§çµäºããŸãã
å€ã§ãã©ã¡ãŒã¿ãæž¡ããŸã
ããªãã¯ãã©ã¡ãŒã¿ãæäŸããå¿ èŠãããå Žåã«ã¡ãœãããåŒã³åºããŠãããªããæå®ããé åºã«åŸã£ãŠããã©ã¡ãŒã¿ãªã¹ããæäŸããå¿ èŠããããŸãã
äŸãã°ãé£ç¶ããnåã®æ¬¡ã®ã¡ãœããã¯ãã¡ãã»ãŒãžãåºåãããŸãã
public static void nPrintln(String message, int n) { for (int i = 0; i < n; i++) System.out.println(message); }
äŸ
次ã®äŸã§ã¯ãå€ã«ãã£ãŠæž¡ãããå¹æã瀺ããŸãã
ããã°ã©ã ã¯ã2ã€ã®å€æ°ã亀æããããã«äœ¿çšãããã¡ãœãããäœæããŸãã
public class TestPassByValue { public static void main(String[] args) { int num1 = 1; int num2 = 2; System.out.println("Before swap method, num1 is " + num1 + " and num2 is " + num2); // è°çšswapæ¹æ³ swap(num1, num2); System.out.println("After swap method, num1 is " + num1 + " and num2 is " + num2); } /** 亀æ¢äž€äžªåéçæ¹æ³ */ public static void swap(int n1, int n2) { System.out.println("\tInside the swap method"); System.out.println("\t\tBefore swapping n1 is " + n1 + " n2 is " + n2); // äº€æ¢ n1 äž n2çåŒ int temp = n1; n1 = n2; n2 = temp; System.out.println("\t\tAfter swapping n1 is " + n1 + " n2 is " + n2); } }
次ã®ãããªçµæãã³ã³ãã€ã«ããäžèšã®äŸã¯æ¬¡ã®ãšããã§ãã
Before swap method, num1 is 1 and num2 is 2 Inside the swap method Before swapping n1 is 1 n2 is 2 After swapping n1 is 2 n2 is 1 After swap method, num1 is 1 and num2 is 2
ã¹ã¯ããã¡ãœãããåŒã³åºãããã®2ã€ã®ãã©ã¡ãŒã¿ãæž¡ããŸãã ã¡ãœãããåŒã³åºãããåŸèå³æ·±ãããšã«ãåŒæ°ã®å€ãå€æŽãããŠããŸããã
ãªãŒããŒããŒããããã¡ãœãã
æ倧ã®æ¹æ³ã¯ãå¯äžã®ããŒã¿åintã«é©çšãããŸãäžèšã䜿çšããŠããŸãã ããªãã¯ã2ã€ã®æµ®åå°æ°ç¹ããŒã¿ã®æ倧å€ãååŸãããå Žåãããããããå ¥åïŒ
次ã®ã³ãŒãã«ç€ºãããã«è§£æ±ºçã¯ãåãååãæã€ä»ã®ãã©ã¡ãŒã¿ãç°ãªãã¡ãœãããäœæããããšã§ãïŒ
public static double max(double num1, double num2) { if (num1 > num2) return num1; else return num2; }
ããªããæ倧ã®æ¹æ³ã¯ãintåã®ãã©ã¡ãŒã¿ãæž¡ãããåŒã³åºããå ŽåãintåŒæ°ã®æ倧ã¡ãœãããåŒã³åºãããŸãã
doubleåã®ãã©ã¡ãŒã¿ãæž¡ãå Žåã¯ãäºéã®çµéšã®çš®é¡ã¯æ倧ã¡ãœãããåŒã³åºãããããã¯ãã¡ãœããã®ãªãŒããŒããŒããšåŒã°ããŠããŸãã
ã¯ã©ã¹ã®äºã€ã®æ¹æ³ãããããç°ãªããã©ã¡ãŒã¿ãªã¹ãã§ãåãååãæã¡ãŸãã
Javaã³ã³ãã€ã©ãšåŒã°ããã¹ãæ¹æ³ã決å®ããããã«ãã¡ãœããã·ã°ããã£ã«åŸã£ãŠã
ã¡ãœããã®ãªãŒããŒããŒãã¯ãããã°ã©ã ãããèªã¿ãããããããšãã§ããŸãã å®è¡ã®æ¹æ³ã¯ãå¯æ¥ã«é¢é£ããã¿ã¹ã¯ãåãååã䜿çšããå¿ èŠããããŸãã
ãªãŒããŒããŒããããã¡ãœããã¯ãç°ãªããã©ã¡ãŒã¿ãªã¹ããæã£ãŠããå¿ èŠããããŸãã ããªãã ãã®ä¿®é£Ÿåã®ç°ãªãçš®é¡ã«åºã¥ããŠããŸãã¯ãªãŒããŒããŒãã¡ãœããã«æ»ãããšã¯ã§ããŸããã
å€æ°ã®ã¹ã³ãŒã
ç¯å²å€æ°ã¯ãå€æ°ãåç §ã§ããããã°ã©ã ã®äžéšã§ãã
ã¡ãœããå®çŸ©å ã®å€æ°ã¯ããŒã«ã«å€æ°ãšåŒã°ããŸãã
ãããå«ããããã¯ã®éå§ããçµäºãŸã§ã®ããŒã«ã«å€æ°ã®å®£èšã®æå¹ç¯å²ã
圌ãã䜿çšããåã«ããŒã«ã«å€æ°ã宣èšããå¿ èŠããããŸãã
ãã©ã¡ãŒã¿ã®æ¹æ³ã®å šç¯å²ãã«ããŒããæ¹æ³ã ãã©ã¡ãŒã¿ã¯ãå®éã«ã¯ããŒã«ã«å€æ°ã§ãã
forã«ãŒãæã®å€æ°ã®åæåéšããµã€ã¯ã«ã«ããããã®åœ¹å²ã®ç¯å²ã
ããããå¯å€ã«ãŒãæ¬äœã®æã¯ãã«ãŒãã®æåŸãŸã§ãããããããã®ç¯å²ã®æã§ãã ããã¯æ¬¡ã®ããã«å®£èšãããå€æ°ãå«ãŸããŠããŸãã
ããªãã¯æ¹æ³ã§ãç°ãªãéãã¹ãããããããã¯ã¯ãç¹°ãè¿ãåãååã®ããŒã«ã«å€æ°ã宣èšããããšã¯ã§ããŸãããäºåã®ããŒã«ã«å€æ°ã宣èšããããã«ããããã¯å ã«ãã¹ãããããšã¯ã§ããŸããã
ã³ãã³ãã©ã€ã³ãã©ã¡ãŒã¿ã䜿çšããŠ
æã«ã¯ããã¯ãã¡ãã»ãŒãžãæž¡ããããšãã«ããã°ã©ã ãå®è¡ãããã§ãã ããã¯ãéæããããã«ãmainïŒïŒé¢æ°ã«ã³ãã³ãã©ã€ã³åŒæ°ãæž¡ãããšã«äŸåããŸãã
ã³ãã³ãã©ã€ã³åŒæ°ã¯ãããã°ã©ã åã®åŸã«å®è¡æéã®æ å ±ãç¶ããŠããŸãã
äŸ
次ã®ããã°ã©ã ã¯ããã¹ãŠã®ã³ãã³ãã©ã€ã³åŒæ°ãåºåããŸãã
public class CommandLine { public static void main(String args[]){ for(int i=0; i<args.length; i++){ System.out.println("args[" + i + "]: " + args[i]); } } }
以äžã«ç€ºãããã«ãããã°ã©ã ãå®è¡ããŸãã
java CommandLine this is a command line 200 -100
çµæã¯ä»¥äžã®ãšããã§ãããŸãïŒ
args[0]: this args[1]: is args[2]: a args[3]: command args[4]: line args[5]: 200 args[6]: -100
ã³ã³ã¹ãã©ã¯ã¿
æã³ã³ã¹ãã©ã¯ã¿ã¯ããªããžã§ã¯ããåæåããããã«äœ¿çšãããå Žåããªããžã§ã¯ããäœæãããŸãã ãããŠããã¯ãåãååã®ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã«ãããŸãããã³ã³ã¹ãã©ã¯ã¿ã¯æ»ãå€ã¯ãããŸããã
å€ãã®å Žåãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹å€æ°ã®åæå€ã«ã³ã³ã¹ãã©ã¯ã¿ã䜿çšãããããŸãã¯å®å šãªãªããžã§ã¯ããäœæããããã«ãä»ã®å¿ èŠãªæé ãå®è¡ããŸãã
Javaã¯èªåçã«ãã¹ãŠã®ã¡ã³ããŒããŒãã«åæåãããŠããããã©ã«ãã®ã³ã³ã¹ãã©ã¯ã¿ãæäŸãããããã«ã¹ã¿ã ã³ã³ã¹ãã©ã¯ã¿ãããã©ããã«ãããããããã¹ãŠã®ã¯ã©ã¹ã¯ãã³ã³ã¹ãã©ã¯ã¿ãæã£ãŠããŸãã
ããªããããªãèªèº«ã®ã³ã³ã¹ãã©ã¯ã¿ãå®çŸ©ãããšãããã©ã«ãã³ã³ã¹ãã©ã¯ã¿ã¯å€±æããŸãã
äŸ
ããã§ã¯ãã³ã³ã¹ãã©ã¯ã¿ã䜿çšããŠã®äŸã§ãïŒ
// äžäžªç®åçæé åœæ° class MyClass { int x; // 以äžæ¯æé åœæ° MyClass() { x = 10; } }
ããªãããªããžã§ã¯ããåæåããããã«ããã®ã³ã³ã¹ãã©ã¯ã¿ã®ããã«åŒã³åºãããšãã§ããŸãã
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(); System.out.println(t1.x + " " + t2.x); } }
æéã®ã»ãšãã©ã¯ãã³ã³ã¹ãã©ã¯ã¿ã®ãã©ã¡ãŒã¿ãå¿ èŠã§ãã
äŸ
ããã§ã¯ãã³ã³ã¹ãã©ã¯ã¿ã䜿çšããŠã®äŸã§ãïŒ
// äžäžªç®åçæé åœæ° class MyClass { int x; // 以äžæ¯æé åœæ° MyClass(int i ) { x = i; } }
ããªãããªããžã§ã¯ããåæåããããã«ããã®ã³ã³ã¹ãã©ã¯ã¿ã®ããã«åŒã³åºãããšãã§ããŸãã
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass( 10 ); MyClass t2 = new MyClass( 20 ); System.out.println(t1.x + " " + t2.x); } }
çµæã¯ä»¥äžã®ãšããã§ãããŸãïŒ
10 20
å€æ°ãã©ã¡ãŒã¿ãŒ
JDK 1.5ã®ããã«ãJavaãµããŒãã¯ãã¡ãœããã«å¯å€ãã©ã¡ãŒã¿ã®åãã¿ã€ããæž¡ããŸãã
以äžã®ãšããã§ããæ¹æ³ã®å¯å€ãã©ã¡ãŒã¿ã宣èšããŸãã
typeNameja. parameterName
ã¡ãœããæã§ã¯ãçç¥èšå·ïŒja.ïŒãè¿œå ããåŸããã©ã¡ãŒã¿ã®åãæå®ããŸããã
ãã®æ¹æ³ã¯ããããæåŸã®ãã©ã¡ãŒã¿ã®ã¡ãœããã§ããå¿ èŠãããã1ã€ã®å€æ°ã®ã¿ã®ãã©ã¡ãŒã¿ãæå®ããããšãã§ããŸãã ä»»æã®äžè¬çãªãã©ã¡ãŒã¿ã¯ããã®åã«å®£èšããå¿ èŠããããŸãã
äŸ
public class VarargsDemo { public static void main(String args[]) { // è°çšå¯ååæ°çæ¹æ³ printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax( doubleja. numbers) { if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++) if (numbers[i] > result) result = numbers[i]; System.out.println("The max value is " + result); } }
次ã®ãããªçµæãã³ã³ãã€ã«ããäžèšã®äŸã¯æ¬¡ã®ãšããã§ãã
The max value is 56.5 The max value is 3.0
ïŒïŒã¡ãœããã確å®
Javaã¯ããã®æ¹æ³ã¯ãååããããªããžã§ã¯ããã¯ãªã¢ããããã«äœ¿çšããããã¡ã€ãã©ã€ãºïŒïŒããšåŒã°ããããªãããªããžã§ã¯ããã¬ããŒãžã³ã¬ã¯ã¿ã®ãã¹ãã©ã¯ã¿ïŒãªãµã€ã¯ã«ïŒã®åã«åŒã³åºãããã¡ãœãããå®çŸ©ããããšãã§ããŸãã
ããšãã°ããªããžã§ã¯ãéããŠãããã¡ã€ã«ãã¯ããŒãºãããããšãä¿èšŒããããã«ãã¡ã€ãã©ã€ãºïŒïŒã䜿çšããããšãã§ããŸãã
ãã¡ã€ãã©ã€ãºïŒïŒã¡ãœããã§ã¯ããªããžã§ã¯ããç Žæ£ããããšãã«å®è¡ãããåäœãæå®ããå¿ èŠããããŸãã
ãã¡ã€ãã©ã€ãºïŒïŒäžè¬çãªåœ¢åŒã§ãããŸãïŒ
protected void finalize() { // åšè¿éç»ç»ä»£ç }
ä¿è·ãããããŒã¯ãŒãã¯ããã®ãã¡ã€ãã©ã€ãºïŒïŒã¡ãœããã¯ã¯ã©ã¹ã®å€ã®ã³ãŒããåŒã³åºãããããšã¯ãããŸãã確å®ã«ã修食åã§ãã
ãã¡ãããJavaã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¯ãJVMã«ãã£ãŠèªåçã«è¡ãããšãã§ããŸãã ããªãã¯ããã¥ã¢ã«ã䜿çšããå Žåã¯ãäžèšã®æ¹æ³ã䜿çšããããšãã§ããŸãã
äŸ
public class FinalizationDemo { public static void main(String[] args) { Cake c1 = new Cake(1); Cake c2 = new Cake(2); Cake c3 = new Cake(3); c2 = c3 = null; System.gc(); //è°çšJavaååŸæ¶éåš } } class Cake extends Object { private int id; public Cake(int id) { this.id = id; System.out.println("Cake Object " + id + "is created"); } protected void finalize() throws java.lang.Throwable { super.finalize(); System.out.println("Cake Object " + id + "is disposed"); } }
次ã®ããã«äžèšã®ã³ãŒããå®è¡ããåºåçµæã¯æ¬¡ã®ãšããã§ãã
C:\1>java FinalizationDemo Cake Object 1is created Cake Object 2is created Cake Object 3is created Cake Object 3is disposed Cake Object 2is disposed