- å眮ãïŒåãçµã¿æ¹ã«é¢ããè£è¶³
- äŸé¡1ã4ã«ã¯ã³ãŒãäŸãèšèŒãããŠããã
- ãŸãã¯ãã®ãŸãŸã®ã³ãŒããå®è¡ããŠã¿ããã
- å®è¡ã§ããããäžéšç·šéããŠã¿ãŠã³ã³ãã€ã«ïŒå®è¡ããŠã¿ããã
- e.g.,
- ã»ãã³ãã³ãç¡ãã£ããã©ããªãã ãããïŒ
- ã€ã³ãã³ãããããŠããšã©ããªãã ãããïŒ
- ã©ãããæã«ã©ããããšã©ãŒã»èŠåãã§ãã®ãããããšãåé¡ãªãã®ããã確èªããªããåãçµãã§ã¿ããããã®æéãæãããšããŒãããã³ãŒããæžãéã«ãã³ã³ãã€ã©ãåºãèŠåã»ãšã©ãŒã®æå³ããåããããã³ãŒããã©ã®ããã«ä¿®æ£ãã¹ãããå€æã§ããªãããšã«ãªããŸãã
- e.g.,
- Javaã«éãããæ°ããèšèªã«ã€ããŠåŠã¶éã«ã¯ããããããã£ãŠåäœç¢ºèªããçãä»ãããã
- ïŒç®æ¬¡ïŒ
- éæç®æš
- ã³ã³ãã€ã©èšèªã®äžã§ãå€ãã£ãäœçœ®ã¥ãã®JavaèšèªïŒæç§æž1.1ç¯ãïŒ
- éçåä»ãèšèªãšåçåä»ãèšèª
- äŸé¡1: ååæŒç®çµæãæšæºåºåããŠã¿ããã
- Javaã³ãŒãäŸã®åããæ¹
- ã³ãŒãæ¯èŒãéããJavaèšèªã®ç¹åŸŽ
- ããã¥ã¢ã«ã®äœ¿ãæ¹
- äŸé¡2: ã·ãŒã±ã³ã¹éåãå©çšããŠã¿ãããïŒé
åãšforæãifæïŒ
- é å[]ã®çæ
- foræã®æžãæ¹
- æ¡åŒµforæã®æžãæ¹
- æ¡ä»¶æã®æžãæ¹ãšbooleanå
- äŸé¡3: é¢æ°ïŒã¡ãœããïŒãäœæããŠã¿ãããïŒæç§æž12ç« ïŒ
- åŒæ°ã®å
- æ»ãå€ã®å
- charãšStringã®éã
- äŸé¡4: æ§é äœïŒã¯ã©ã¹ïŒãå©çšããŠã¿ãããïŒæç§æž13ã14ç« ïŒ
- ãã£ãŒã«ãå€æ°ã®å®£èš
- ã³ã³ã¹ãã©ã¯ã¿ã®å®çŸ©
- thisããŒã¯ãŒã
- newæŒç®åã«ããã³ã³ã¹ãã©ã¯ã¿åŒã³åºãïŒãªããžã§ã¯ãçæïŒ
- åèãµã€ã
- ã³ãŒãäŸãã³ã³ãã€ã«ããå®è¡ã§ããã
- ã³ãŒãäŸãç·šéããå©çšã§ããã
- éçåä»ãèšèªã§ããããšãç解ããŠãã³ãŒããèšè¿°ã§ããã
- åºæ¬æ§æïŒif, for, whileïŒãšã¡ãœããïŒâé¢æ°ïŒãå©çšãããçãããã°ã©ã ãäœæã§ããã
- é åãå©çšããããšãã§ããã
- ã¯ã©ã¹ãå©çšããããšãã§ããã
- ãªãã¡ã¬ã³ã¹ãåç §ããããšãã§ããã
- ã³ã³ãã€ã©
- ããã°ã©ãã³ã°èšèªã§èšè¿°ãããããã°ã©ã ããæ©æ¢°èªïŒãäžéèšèªïŒã«å€æããããã°ã©ã ã®ããšã
- Cèšèª: ãã³ãŒãäœæïŒç·šéïŒã->ãã³ã³ãã€ã©ã§æ©æ¢°èªã«ç¿»èš³ã->ãçæãããå®è¡å¯èœãã¡ã€ã«ãå®è¡ã ãšããæé ãç¹°ãè¿ããŠéçºäœæ¥ãè¡ãã
- Java: ãã³ãŒãäœæïŒç·šéïŒã->ãã³ã³ãã€ã©ã§ãã€ãã³ãŒã(classãã¡ã€ã«)ãšåŒã°ããäžéèšèªã«ç¿»èš³ã->ãçæããããã€ãã³ãŒããJavaä»®æ³ãã·ã³(JVM, Java Virtual Machine)ã§å®è¡ã ãšããæé ãç¹°ãè¿ããŠéçºäœæ¥ãè¡ãã
- javac (Java compiler)
- Javaã§èšè¿°ããããœãŒã¹ã³ãŒãããã€ãã³ãŒããšåŒã°ããäžéèšèªã«å€æã
- Cã³ã³ãã€ã©ã®ããã«ãçŽæ¥æ©æ¢°èªãžã¯ç¿»èš³ããªããç°ãªãç°å¢ã§ãåãå ±éãã©ãŒãããã«åŸã£ãŠãã€ãã³ãŒããçæããã
- Javaã§èšè¿°ããããœãŒã¹ã³ãŒãããã€ãã³ãŒããšåŒã°ããäžéèšèªã«å€æã
- java (java application launcher)
- javacã§çæããããã€ãã³ãŒããèªã¿èŸŒã¿ãæ©æ¢°èªã«ç¿»èš³ããªããå®è¡ããã
- "Write once, run anywhere"
- äžè¬çãªã³ã³ãã€ã©èšèªïŒCãšãïŒã ãšãç°å¢æ¯ã«ã³ã³ãã€ã«ãçŽããªããšåäœããªããJavaã¯çæãããã€ãã³ãŒããããã°ãïŒå®è¡ç°å¢ããããªãïŒã©ãã§ãåãã
- javac (Java compiler)
- Javaã®çš®é¡
- Java SE (Standard Edition): åºæ¬çãªã¢ããªã±ãŒã·ã§ã³äœæçšãïŒææ¥ã§è§Šãã®ã¯ãã£ã¡ã
- Java EE (Enterprise Edition): ãŠã§ãã¢ããªã±ãŒã·ã§ã³ç
- Java ME (Micro Edition): çµã¿èŸŒã¿ç
- JDKãšIDEãå¿
èŠ
- æç§æžã«ã¯ãIDEãå¿ èŠããšæžããŠãããå®éã«ã¯äžèŠãIDEããããšäŸ¿å©ãããããã©ã䟿å©ãªã®ãã¯åŸæ¥IntelliJã§æŒç¿ããŸãã
- åèãµã€ã
- åçåä»ãèšèªïŒe.g., PythonïŒ
- å€æ°ã®åã¯å®è¡æã«ç¢ºå®ãããïŒåçã«åã決å®ãããïŒ
- ã¡ãªãã: ã€ã³ã¿ããªã¿ã®ã¡ãªãããšã»ãŒåãïŒ
- ãã¡ãªãã: å®è¡ãããŸã§åã確å®ã§ããªãïŒãã¹ãéãå¢ããããšãå€ãïŒãå®è¡æã«åæšè«ãããã³ã¹ãããããïŒããé ããªãããšãå€ãïŒã
- å€æ°ã®åã¯å®è¡æã«ç¢ºå®ãããïŒåçã«åã決å®ãããïŒ
- éçåä»ãèšèªïŒe.g., Java, CèšèªïŒ
- äºãåãæå®ããŠãããïŒå質ãä¿èšŒããããïŒ
- Pythonã§ã®äŸ: ex1.py
# a+bã®çµæãæšæºåºåããã³ãŒãã
a = 1
b = 2
result = a + b
print('{0} + {1} = {2}'.format(a,b,result))
- Javaã³ãŒãäŸ: ExampleAdd.java
/* a+bã®çµæãæšæºåºåããã³ãŒãã */
package jp.ac.uryukyu.ie.tnal; //ãtnalãã¯èªèº«ã®åŠç§ã¢ã«ãŠã³ãã«ä¿®æ£ããããšã
public class ExampleAdd {
public static void main(String[] args) {
int a = 1;
int b = 2;
int result = a + b;
System.out.println(a+"+"+b+"="+result);
}
}
-
Javaã³ãŒãäŸã®åããæ¹
- step 1: ãœãŒã¹ã³ãŒãã®æºåã
- äœæ¥çšãã£ã¬ã¯ããªãçšæã
- prog2/week1ãšããèªåããããããããã£ã¬ã¯ããªãçšæãããã
- ExampleAdd.javaãšãããã¡ã€ã«åã§äžèšã³ãŒããä¿åã
- 泚æç¹: ãmainã¡ãœãããå«ãã¯ã©ã¹åããšããœãŒã¹ãã¡ã€ã«åãã¯åäžã§ããå¿ èŠãããã
- éãã確èªããããã«ææã¡æšå¥šã
- äœæ¥çšãã£ã¬ã¯ããªãçšæã
- step 2: ã³ã³ãã€ã«ã
- ã¿ãŒããã«äžã§
javac -d . ExampleAdd.java
ãšå®è¡ããšã©ãŒãç¡ããã°ãExampleAdd.classããšããååã®ãã€ãã³ãŒããçæãããã- ãã€ãã³ãŒããçæãããå Žæã¯ãããã±ãŒãžåããã£ã¬ã¯ããªåã«å€æããå ã
- äŸãã°ãããã±ãŒãžåïŒjp.ac.uryukyu.ie.tnalã®å Žåãã./jp/ac/uryukyu/ie/tnal/ãã®äžã«ãExampleAdd.classããçæãããã
- findã³ãã³ãã§ç¢ºèªããŠã¿ãããïŒã¿ãŒããã«ã§
find .
ãå®è¡ïŒ
- ã³ã³ãã€ã«æã«ãšã©ãŒãåºããããã®ãšã©ãŒãç¡ããªããŸã§ä¿®æ£ããå¿
èŠããã
- Pythonã§ã¯SyntaxErrorãããå Žåã§ããã®çŽåãŸã§ã¯å®è¡ã§ããã
- Javaçã®ã³ã³ãã€ã©èšèªã§ã¯ãã³ã³ãã€ã«ã§å€±æããïŒïŒææ³ãšã©ãŒïŒãšãå®è¡ãã®ãã®ãã§ããªãã
- ã-d .ãã¯ãæå®ããå ŽæïŒ.=ã«ã¬ã³ãã»ãã£ã¬ã¯ããªïŒãåºæºã«ããŠãã€ãã³ãŒããçæãããªãã·ã§ã³ã
- ã¿ãŒããã«äžã§
- step 3: å®è¡ã
- ã¿ãŒããã«äžã§
java ããã±ãŒãžå.ExampleAdd
ãšå®è¡ã- ç§ã®å Žåã¯ãjava jp.ac.uryukyu.ie.tnal.ExampleAddãã«ãªãã
- é·ã£ãããããã tabããŒã«ããå ¥åè£å® ã䜿ãã°æ¥œã
- ç§ã®å Žåã¯ãjava jp.ac.uryukyu.ie.tnal.ExampleAddãã«ãªãã
- java (JVM) ãèªã¿èŸŒããã¡ã€ã«ã¯ãExampleAdd.classãçã®ãã€ãã³ãŒãã ããå®è¡æã«ã¯mainé¢æ°ãå«ãã¯ã©ã¹åïŒããã§ã¯ExampleAddïŒã ããæå®ããããšã«ãªãç¹ã«æ³šæã
- ã¿ãŒããã«äžã§
- step 1: ãœãŒã¹ã³ãŒãã®æºåã
-
ã³ãŒãæ¯èŒ: Python vs Java
/* a+bã®çµæãæšæºåºåããã³ãŒãã */
- ã³ã¡ã³ãæãè€æ°è¡ã«è·šã£ãŠè¯ãã
- 1è¡ã³ã¡ã³ããªã
//
ãã³ã¡ã³ãåé ã«ä»äžãã圢åŒãå¯èœã
package jp.ac.uryukyu.ie.tnal;
- ããã±ãŒãžåã®æå®ã
- ãããã±ãŒãžããšã¯ãœãŒã¹ã³ãŒãããŸãšããåäœã®äžã€ã
- ããçšããããããã±ãŒãžåã¯ãã¡ãŒã«ã¢ãã¬ã¹ãéé ã«ããããããã§å šéçºè ããŠããŒã¯ãªããã±ãŒãžåãšãªãããã«ããŠãããïŒ@ããŒã¯ãšãã€ãã³(-)ã¯åé€ããããšãïŒ
- ããã±ãŒãžæå®ã¯çç¥å¯èœã ããçŸå Žã§ã¯ããã±ãŒãžåãæå®ããããšãéäŸãªã®ã§ä»ã®ãã¡ã«æ £ããŠãããã
- æåŸã« ã»ãã³ãã³(;) ãããã
- Javaã§ã¯ãååãšããŠææ«ã«ã»ãã³ãã³ãå¿ èŠãäŸå€ã¯ãããã¯{ã}ãªã©å°æ°ã
- ããã±ãŒãžåã®æå®ã
public class ExampleAdd {ããã}
- Javaã§ã¯ãã¯ã©ã¹ããšããåäœã§ããã°ã©ã ãäœæããïŒã®ã§ãã³ãŒãã«ã¯1ã€ä»¥äžã®ã¯ã©ã¹ãå«ãŸããå¿ èŠãããïŒãã¯ã©ã¹ã®è©³çŽ°ã¯åŸæ¥è§£èª¬ã
- ãã®äŸã§ã®ã¯ã©ã¹åã¯ãã¡ã€ã«åãšåãã«ããŠããããå¿ ãããåäžã§ããå¿ èŠã¯ãªãããã ããmainé¢æ°ãå«ãã¯ã©ã¹ã®ååãšããã¡ã€ã«åã¯äžèŽãããããã«ãããã
- ã¯ã©ã¹åã®åœåèŠåã¯ãè±åèªã®çµã¿åããïŒååèªã®1æåç®ã倧æåã«ããã¢ã³ããŒã¹ã³ã¢ _ ã¯äœ¿ããªãã
public static void main(String[] args) {ããã}
- Javaã§ã¯é¢æ°ãšã¯åŒã°ãã«ã¡ãœãããšåŒã¶ã
- mainã¡ãœãã ã¯ãPythonã§ãããšããã®ãif name == 'main':ãã«çžåœã
- å®è¡ããã³ãŒãã¯ãmainã¡ãœããå ã«æžãå¿ èŠããããmain()ã¡ãœããã®å€ã«ããã³ãŒãã¯ãmain()ã¡ãœããããåŒã°ããæã ãå®è¡ããããïŒmain()ã¡ãœããããããå®è¡ãããªãïŒ
- ã¡ãœããã¯æ»ãå€ã®åãæå®ããå¿
èŠãããã
- Javaèšèªã§ã¯ãmain()ã¡ãœããã®æ»ãå€ã¯ voidåã
- voidåã¯ãæ»ãå€ããªãæã«äœ¿ãåã
- Javaèšèªã§ã¯ãmain()ã¡ãœããã®æ»ãå€ã¯ voidåã
- ãããã¯ã¯
{}
ïŒbrace; ãã¬ãŒã¹)ã§å²ãã- Pythonã§ã¯ã€ã³ãã³ãã§ãããã¯ãè¡šçŸããããJavaã§ã¯æ瀺çã«{ã§ãããã¯éå§ãã}ã§ãããã¯çµäºãèšè¿°ããã
int a = 1;
- å€æ°ãå©çšããåã«åãæå®ããŠå®£èš ããå¿ èŠãããã
- äžèšã®æã¯ã宣èšãããäžã§ãåæåãããŠãããããã2ã€ã«å解ããŠèšè¿°ããããšãå¯èœã
int a; a = 1;
- Javaèšèªã¯ãã€ã³ãã³ããæ¯èŒçèªç±ã«èšè¿°ã§ããã
- äžèšã³ãŒãäŸã¯ã2æããã1è¡ãã§æžããäŸã
- ã€ã³ãã³ããã°ãã°ããªã³ãŒãã¯ãå¯èªæ§ãäœãããããååãšããŠçŠæ¢ãé©åã«ã€ã³ãã³ããå ¥ããããïŒã€ã³ãã³ããæžãããŠããªãã ãã§å€§å¹ æžç¹ããå çãããŸãã人éãèªã¿ãããããã«äœãããŠããèšèªã ãããå¯èªæ§ãæèããŠæžããïŒ
- æã®çµããã«ã¯
;
(semi-colon; ã»ãã³ãã³) ãæžãå¿ èŠãããã
- Javaã§ã¯é¢æ°ãšã¯åŒã°ãã«ã¡ãœãããšåŒã¶ã
System.out.println(a+"+"+b+"="+result);
- æšæºåºåã«æžãåºãããã®ã¡ãœãããprint()ã¡ãœããã ãšæ¹è¡ãªããprintln()ã¡ãœããã ãšæ¹è¡ããã
- println("hoge") ã®ããã«ãåºæ¬çã«ã¯æååãããã«ã¯ã©ãŒããŒã·ã§ã³ã§å²ãã
- å€æ°ãåºåããããå Žåãå€æ°åããã®ãŸãŸèšè¿°ãããšæååå€æããäžã§åºåããŠããããïŒe.g., println(a)ïŒ
- Pythonã ãšstråå€æããå¿ èŠããã£ãããJavaã§ã¯ååäžèŠã
- +æŒç®åã¯ãäž¡å€æ°ãæ°å€ãªãã°æ°å€æŒç®ãããããã©ã¡ããçæ¹ãæååãªãã°æååçµåã«ãªãã
- Pythonã ãšåãäžæãã®å Žåã«ã¯TypeErrorã«ãªãããJavaã§ã¯æååçµåãšããŠè§£éããŠãããã
- æŒç®åãè€æ°äžŠãã§ãå Žåãå·Šããé ã«åŠçããŠããã
- äžèšã®äŸã§ã¯ãå€æ°aïŒintåïŒãš"+"ïŒStringåïŒã+æŒç®åã§äžŠã¹ãŠããã®ã§ãæååçµåã«ãªãã
- ãã®åŸã¯ãæåå+bãã§æååçµåã«ã
- ãæåå+"="ãã§æååçµåã«ã
- ãæåå+resultãã§æååçµåã«ã
- æšæºåºåã«æžãåºãããã®ã¡ãœãããprint()ã¡ãœããã ãšæ¹è¡ãªããprintln()ã¡ãœããã ãšæ¹è¡ããã
-
ããã¥ã¢ã«ã®äœ¿ãæ¹
- ãªã³ã©ã€ã³API: Java SE 12 & JDK 12 API Documentation
- System.out.println()ã¡ãœããã«ã€ããŠèª¿ã¹ãŠã¿ããã
- å·Šã¡ãã¥ãŒã®ãAPI Documentationããéžæã
- è©Šãã«ãå³äžã®æ€çŽ¢çªã«ãsystemããå
¥åã
- systemãå«ãæååã倧éã«åæãããã
- ãã®äžãã該åœã¡ãœããã«ã€ããŠæ¢ãã®ã¯é£ããããªã®ã§ãç¶ããŠãsystem.outããŸã§å
¥åããŠã¿ããã
- ãjava.out.System.outãã ããæ®ãã®ã§ããã®ããŒãžãéžæããŠã¿ããã
- ãã®æç¹ã§ public static final PrintStream out ã®ããŒãžãåç §ã§ããã¯ãã
- 調ã¹ãŠãããã®ã¯ãSystem.out.println()ãã ããèŠã€ãã£ãã®ã¯ãpublic static final PrintStream outããšãããè¬ã®ããŒãžã ãã ãããã®ããŒãžå
ã«ã¯ãSystem.out.println(data)ããšãæžãããŠããã
- ãã®è¯ãããããªãç¶æ³ã俯ç°ããããããã®ããŒãžã®ãããã«é¡ã£ãŠã¿ããã
- Class SystemïŒSystemã¯ã©ã¹ïŒ
- ã¯ã©ã¹èª¬æããŒãžåé ã«ã¯æŠèŠæã Field SummaryïŒãã£ãŒã«ãå€æ°ã®æŠèŠïŒãMethod SummaryïŒã¡ãœããã®æŠèŠïŒ ã䞊ãã§ãããããã§å
šäœåãææ¡ãããã
- åããŒãžåŸåã«ã¯ã Field DetailãMethod Detail ãšãã£ã詳现ãæ²èŒãããŠããã
- ä»ã¿ããã®ã¯ãSystem.out.println()ãã§ããã®outã¯äžèšã«ãããšãã£ãŒã«ãå€æ°ããããoutãã£ãŒã«ããã¯ãªãã¯ã
- ã¯ã©ã¹èª¬æããŒãžåé ã«ã¯æŠèŠæã Field SummaryïŒãã£ãŒã«ãå€æ°ã®æŠèŠïŒãMethod SummaryïŒã¡ãœããã®æŠèŠïŒ ã䞊ãã§ãããããã§å
šäœåãææ¡ãããã
- Systemã¯ã©ã¹ã®outãã£ãŒã«ãã
- ããã«System.outã®æŠèŠãšãoutãã£ãŒã«ããæã€é¢é£ã¡ãœãããåæãããŠããã
- ä»åã®äŸã ãšãprintln()ã®äžèº«ã¯æååïŒStringåïŒãšãªãããããPrintStream.println(java.lang.String)ããã¯ãªãã¯ã
- PrintStream.println(java.lang.String)
- æ£ããåç §ã§ããŠãããªããpublic void printlnâ(String x)ã®ããŒãžããåç §ã§ããŠããã¯ãã
- ãããSystem.out.println()ã®å ·äœçãªèª¬æã
- Javaã®ããã¥ã¡ã³ãã¯ãäžã€ã®æ©èœã«é¢ãã説æãæ§ã ãªããŒãžã«æ£ãã°ã£ãŠããããããæ¢ããŠèªã¿åããããã«ãªããã
-
Pythonã§ã¯äžŠã³ã®ããããŒã¿éåãæ±ãæ段ãšã㊠list, tupleçãå©çšããã
-
Javaèšèªã§ã¯ãé å(array)ãšãªã¹ã(List/ArrayListç) ãçšæãããŠããããä»åã¯é åã䜿ãããšã«ãããã
- é
åãšãªã¹ãã¯ã䞊ã³ã®ããããŒã¿éåãæ±ãæ段ããšããç¹ã§å
±éããŠããããæäŸãããŠããæ©èœã«ã¯å€§ããªå·®ãããã
- ãªã¹ãã¯ããåŸããããŒã¿ãè¿œå ããåŸããããŒã¿ãåé€ïŒããŠé 眮ãçŽãïŒããšãã£ãæäœãã§ããããŒã¿æ§é ã
- é
åã¯ãã䞊ã³ã®ããããŒã¿éåãæ±ãæ段ããšããŠæãåå§çãªéå
·ãäºãèŠçŽ æ°ãæå®ããå¿
èŠããã£ããããåŸããããŒã¿ãè¿œå (Pythonã§ããlist.append(object))ãããããšãã§ããªãã£ãããšãããããäžäŸ¿ã
- 䜿ãã¥ããããé åã¯ãªã¹ããšæ¯ã¹ãŠçã¡ã¢ãªã§åäœãé«éãïŒèå³ã®ãã人ã¯å®éšããŠã¿ããïŒ
- é
åãšãªã¹ãã¯ã䞊ã³ã®ããããŒã¿éåãæ±ãæ段ããšããç¹ã§å
±éããŠããããæäŸãããŠããæ©èœã«ã¯å€§ããªå·®ãããã
-
Pythonã§ã®ã³ãŒãäŸ: ex2.py
# è€æ°ã®intåèŠçŽ ãçšæããŠãäžèº«ãå¶æ°ã ã£ãæã¯æ°å€ãåºåããå¥æ°ã ã£ãæã¯ãå¥æ°ããšåºåããããã°ã©ã ã
data = [1, 2, 3]
for i in data:
if i % 2 == 0:
print(i)
else:
print('å¥æ°')
- Javaèšèªã§ã®ã³ãŒãäŸ: CheckOdd.java
/* è€æ°ã®intåèŠçŽ ãçšæããŠãäžèº«ãå¶æ°ã ã£ãæã¯æ°å€ãåºåããå¥æ°ã ã£ãæã¯ãå¥æ°ããšåºåããããã°ã©ã ã */
package jp.ac.uryukyu.ie.tnal;
public class CheckOdd {
public static void main(String[] args) {
int[] data = {1, 2, 3};
/*
int i;
for(i=0; i<data.length; i++){
if( data[i] % 2 == 0 ){
System.out.println(data[i]);
}else{
System.out.println("å¥æ°");
}
}
*/
for(int i : data){
if( i % 2 == 0 ){
System.out.println(i);
}else{
System.out.println("å¥æ°");
}
}
}
}
- ã³ãŒãæ¯èŒ: Python vs Java
int[] data = {1, 2, 3};
- é
åãäœæ(çšæ)ããéã«ã¯ãå€æ°å®£èšæã«[]ãä»ããŠé
åã§ããããšãæ瀺 ããå¿
èŠãããã
- ä»åã®äŸã§ã¯ãintåã®é åããšããããšããint[]ããšããŠèšè¿°ããŠããã
- äžåºŠå®£èšããé åã®èŠçŽ æ°ãå€æŽããïŒè¿œå ããïŒããšã¯ã§ããªããèŠçŽ æ°ãå¯å€ã«ãããå Žåã«ã¯ãªã¹ãã䜿ãããïŒä»ã¯äžèŠãªã®ã§é åãå©çšããïŒ
- é
åå
ã®èŠçŽ ãåç
§ããã«ã¯
data[0]
ã®ããã«åè§ã«ãã³ã§ã€ã³ããã¯ã¹ãæå®ããŠåç §ããå¿ èŠããããïŒããã¯Pythonã®ãªã¹ããšåãïŒ- ã€ã³ããã¯ã¹ã¯0ããå§ãŸãã
- Pythonãšç°ãªãã
data[-1]
ã§äžçªæåŸã®èŠçŽ ãåç §ããããšã¯ã§ããªããïŒåŸãããiçªç®ã®èŠçŽ ããšããæå®ã¯NGïŒ
- é
åãäœæ(çšæ)ããéã«ã¯ãå€æ°å®£èšæã«[]ãä»ããŠé
åã§ããããšãæ瀺 ããå¿
èŠãããã
for(i=0; i<data.length; i++){ããã}
- ã«ãŒãæã®äžã€ãforæã®äŸã
- ã³ãŒãäŸã§ã¯ã³ã¡ã³ãã¢ãŠããããŠããããå®éã«ã¯åŠçãããªãããåºæ¬çãªã«ãŒãæã®æžãæ¹èª¬æã®ããããã§ã¯è§£èª¬ã
- for()ã®ã«ãã³å
ã«ã¯ã(1)ã«ãŒããããã¯ãå®è¡ãå§ããéã®åæåã(2)ç¶ç¶æ¡ä»¶ã(3)ã«ãŒããããã¯ãäžåºŠåŠçãçµããéã®åŠçãã®3ç¹ãèšè¿°ããå¿
èŠãããã
data.length
ã¯ãå šãŠã®é åãææããŠããå€æ°ã§ãèŠçŽ æ°ãä¿åãããŠãããdata.lengthã®ç¯å²å€ã®ã¢ã¯ã»ã¹ãããšããšã©ãŒãïŒã©ããªãšã©ãŒãåºãã ãããïŒïŒi++
ã¯ãi += 1ãã®æå³ã- äžèš3ç¹ã¯çç¥ããããšãå¯èœã
- äŸãã°
for(;;){ããã}
ãšæžããšãåæåç¡ããç¶ç¶æ¡ä»¶ãªã(=åžžã«ç¶ç¶)ã次ã«ãŒãåŠçãªããã§ã«ãŒããããã¯ãå®è¡ããããããã¯å ã§breakã«éããªãéããæ°žé ãšå埩åŠçãç¶ããããšã«ãªãã - break; continue; ã¯pythonåæ§ã«å©çšã§ããã
- äŸãã°
if (data[i] % 2 == 0){ããã}
data[i]
ã¯ãé åå ã®ããŒã¿ãžã¢ã¯ã»ã¹ããäŸãïŒPythonã®ãªã¹ããžã®ã¢ã¯ã»ã¹ãšã»ãŒåãïŒ- ifæã®äŸã
- æ¡ä»¶åŒã¯å¿ ãäžžæ¬åŒ§ã§å²ã å¿ èŠãããã
- æ¡ä»¶åŒå€å®çµæã¯booleanåã§è¿ã£ãŠããããçãªãã°trueãããåœãªãã°falseããšãªããå
šãŠå°æåã§ããç¹ã«æ³šæã
- è€æ°æ¡ä»¶ã®è«çåãæå®ãããªã
æ¡ä»¶åŒ1 || æ¡ä»¶åŒ2
ã®ããã«||
ã䜿ããïŒorã¯èšè¿°ã§ããªãïŒ - è€æ°æ¡ä»¶ã®è«çç©ãæå®ãããªã
æ¡ä»¶åŒ1 && æ¡ä»¶åŒ2
ã®ããã«&&
ã䜿ããïŒandã¯èšè¿°ã§ããªãïŒ
- è€æ°æ¡ä»¶ã®è«çåãæå®ãããªã
if(æ¡ä»¶åŒ){ããã}else{ããã}
- elseæã®äŸã
- elseæã«ifæãèšè¿°ãããå Žåã«ã¯
if(æ¡ä»¶åŒ){ããã}else if{ããã}
ãšãããïŒelifã§ã¯ãªãïŒ
- ã«ãŒãæã®äžã€ãforæã®äŸã
for(int i : data){ããã}
- åãforæã ããã«ãã³å
ã®èšè¿°ãç°ãªãäŸã
- Javaã§ã¯ãæ¡åŒµforæããšåŒã°ããŠãããå ã ã¯ååšããªãã£ãèšè¿°ãä»èšèªã®äŸ¿å©ãªä»æ§ãåãå ¥ããäŸã
- é åã®èŠçŽ ã«å¯ŸããåŠçã¯ããããç¹ã«ã€ã³ããã¯ã¹ãå©çšããå¿ èŠããªãå Žåã®æžãæ¹ãã©ã¡ãããšãããšpythonã®foræïŒfor i in data:ïŒã«è¿ãæžãæ¹ã
- åãforæã ããã«ãã³å
ã®èšè¿°ãç°ãªãäŸã
-
Pythonã§ã¯ãé¢æ°äœæã®ããã«ã¯ãdef é¢æ°å(åŒæ°):ãããéå§ãããããã¯ã®äžã§ãã®åŠçãèšè¿°ããã
-
Javaèšèªã®ã¡ãœããã§ã¯ããã®ã¡ãœãããåŒã³åºãã¹ã³ãŒãç¯å²å ã«ã¡ãœãããèšè¿°ããã
-
Pythonã§ã®ã³ãŒãäŸ: ex3.py
# 100ç¹æºç¹æ¡ç¹ããåŠçã®æ瞟ããã§ãã¯ããA~Få€å®ãè¿ãé¢æ°ã
def eval(score):
answer = 'F'
if score >= 90:
answer = 'A'
elif score >= 80:
answer = 'B'
elif score >= 70:
answer = 'C'
elif score >= 60:
answer = 'D'
else:
answer = 'F'
return answer
scores = [100, 70, 50]
for score in scores:
answer = eval(score)
print('{0} -> {1}'.format(score,answer))
- Javaèšèªã§ã®ã³ãŒãäŸ: EvalScore.java
/* 100ç¹æºç¹æ¡ç¹ããåŠçã®æ瞟ããã§ãã¯ããA~Få€å®ãè¿ãé¢æ°ã */
package jp.ac.uryukyu.ie.tnal;
public class EvalScore {
public static void main(String[] args) {
int[] scores = {100, 70, 50};
int i;
char answer;
for(i=0; i<scores.length; i++){
answer = eval(scores[i]);
System.out.println(scores[i] + " -> " + answer);
}
}
public static char eval(int score) {
char answer = 'F';
if( score >= 90 ){
answer = 'A';
}else if( score >= 80 ){
answer = 'B';
}else if( score >= 70 ){
answer = 'C';
}else if( score >= 60 ){
answer = 'D';
}else{
answer = 'F';
}
return answer;
}
}
- ã³ãŒãæ¯èŒ: Python vs Java
- mainã¡ãœããããåŒã³åºã ç¬èªã¡ãœãããèšè¿°ããå Žåãåãã¯ã©ã¹å
ã§å®çŸ© ããå¿
èŠãããã
- äžèšã®äŸã§ã¯ãmain()ã¡ãœããã¯EvalScoreã¯ã©ã¹ã«èšè¿°ãããŠããã®ã§ãåãEvalScoreã¯ã©ã¹å ã«æ°ããã¡ãœããeval()ãèšè¿°ããŠããã
- åãã¹ã³ãŒãå ã§ããã°ã©ãã«èšè¿°ããŠãè¯ãïŒäŸãã°mainã¡ãœããã®åã«èªäœã¡ãœãããèšè¿°ããŠãè¯ãïŒããã©ã¡ããã«çµ±äžããŠèšè¿°ããã»ããå¯èªæ§çã«è¯ãã
- ã¡ãœãããèšè¿°ããéã«ã¯ãåŒæ°ã®åãæ»ãå€ã®åããæ瀺 ããå¿
èŠãããã
- äžèšã®äŸã§ã¯ãevalã¡ãœããã®åŒæ°ã¯ãintåã®å€æ°scoreãã§ãããæ»ãå€ã¯ãcharåããšããŠå®çŸ©ããŠããã
char answer='F';
- æåïŒ1æåïŒãšæååã¯åãç°ãªãã
- 1æåã ãã«éå®ããããªã charã
- æååã«ããããªã Stringã
- æåã®é
å char [] ã¯ããããŸã§ã1æåãé åºä»ããŠäžŠã¹ãŠããã ãã§ãæååã§ã¯ãªãã
- æåã®é
å
char[] data1 = "hoge";
ãšæååString data2 = "hoge";
ã¯åäžã ãããïŒç°ãªãã ãããïŒïŒç¢ºãããŠã¿ããïŒ
- æåã®é
å
- æåã®é
å char [] ã¯ããããŸã§ã1æåãé åºä»ããŠäžŠã¹ãŠããã ãã§ãæååã§ã¯ãªãã
- 1æåãæå®ãããªãã·ã³ã°ã«ã¯ã©ãŒããŒã·ã§ã³
'ã'
ã§å²ãã- äŸãã°ãæ¹è¡æå
'\n'
ãã1æåæ±ãã ãšã·ã³ã°ã«ã¯ã©ãŒããŒã·ã§ã³ã§å²ãå¿ èŠãããã
- äŸãã°ãæ¹è¡æå
- æååãæå®ãããªãããã«ã¯ã©ãŒããŒã·ã§ã³
"ãã"
ã§å²ãã- äŸãã°ããhelloããšãã5æåãå€æ°ã®ä¿åãããå Žåã
"hello"
ãšèšè¿°ããå¿ èŠããããã·ã³ã°ã«ã¯ã©ãŒããŒã·ã§ã³ã§ã¯NGã
- äŸãã°ããhelloããšãã5æåãå€æ°ã®ä¿åãããå Žåã
- æåïŒ1æåïŒãšæååã¯åãç°ãªãã
- mainã¡ãœããããåŒã³åºã ç¬èªã¡ãœãããèšè¿°ããå Žåãåãã¯ã©ã¹å
ã§å®çŸ© ããå¿
èŠãããã
-
int, charçã®äºãçšæãããŠããåãšã¯å¥ã®ããæ°ããç¬èªã®åããå®çŸ©ããŠã¿ããã
- Javaèšèªã§ã¯ãã¯ã©ã¹ããšããŠè¡šçŸããã
- å®éã«ã¯ãã¯ã©ã¹æ©èœãå©çšããŠèšè¿°ããŠãããšããã®ãæ£ãããã¯ã©ã¹ã®è©³çŽ°ã¯åŸæ¥è§£èª¬ã
- Javaèšèªã§ã¯ãã¯ã©ã¹ããšããŠè¡šçŸããã
-
Pythonã§ã®ã³ãŒãäŸ: ex4.py
# ãã¢ã«ãŠã³ãåãç¹æ°ãå€å®çµæãã1ãŸãšãã«ããŠæ±ãäŸã
dataset = [['e175701', 100, 'A'], ['e175702', 70, 'C'], ['e175703', 50, 'F']]
for data in dataset:
account = data[0]
score = data[1]
eval = data[2]
print('{0}ããã¯{1}ç¹ã ã£ãã®ã§ãå€å®çµæã¯{2}ã§ãïŒ'.format(account,score,eval))
- Javaèšèªã§ã®ã³ãŒãäŸ
- 2ã€ã®ãã¡ã€ã«ã«åããŠèšè¿°
- æ°ããåïŒã¯ã©ã¹ïŒãå®çŸ©ãããœãŒã¹ïŒStudentScore.java
- äžèšã¯ã©ã¹ã䜿çšãããmainé¢æ°ãå«ããœãŒã¹: OriginalClass.java
- ã³ã³ãã€ã«æ¹æ³
- step 1:
javac -d . StudentScore.java
ïŒãã®æç¹ã§ãšã©ãŒãåºããããããã°ãããïŒ - step 2:
javac -d . OriginalClass.java
- step 1:
- å®è¡æ¹æ³
- å®è¡ãããmainã¡ãœãããèšè¿°ããŠããã¯ã©ã¹ãæå®ããã
- ç¶éã®äŸ:
java jp.ac.uryukyu.ie.tnal.OriginalClass
- 2ã€ã®ãã¡ã€ã«ã«åããŠèšè¿°
// æ°ããåïŒã¯ã©ã¹ïŒãå®çŸ©ãããœãŒã¹ïŒStudentScore.java
package jp.ac.uryukyu.ie.tnal;
public class StudentScore {
String account; //ãã£ãŒã«ãå€æ°1
int score; //ãã£ãŒã«ãå€æ°2
char eval; //ãã£ãŒã«ãå€æ°3
/* ã³ã³ã¹ãã©ã¯ã¿
ãã³ã³ã¹ãã©ã¯ã¿ã¯ã
ãã¯ã©ã¹ïŒèšèšå³ïŒããã€ã³ã¹ã¿ã³ã¹ïŒãªããžã§ã¯ãïŒãäœæããããã®ãã®ã
ãäž»ã«ãã£ãŒã«ãå€æ°åæåã®ããã«äœ¿çš
*/
public StudentScore(String _account, int score, char eval){
account = _account;
this.score = score;
this.eval = eval;
}
}
// äžèšã¯ã©ã¹ã䜿çšãããmainé¢æ°ãå«ããœãŒã¹: OriginalClass.java
/* ãã¢ã«ãŠã³ãåãç¹æ°ãå€å®çµæãã1ãŸãšãã«ããŠæ±ãäŸã */
package jp.ac.uryukyu.ie.tnal;
public class OriginalClass {
public static void main(String[] args) {
String account;
int score;
char eval;
StudentScore[] scores = new StudentScore[3];
scores[0] = new StudentScore("e175701", 100, 'A');
scores[1] = new StudentScore("e175702", 70, 'C');
scores[2] = new StudentScore("e175703", 50, 'F');
int i;
for(i=0; i<scores.length; i++){
account = scores[i].account;
score = scores[i].score;
eval = scores[i].eval;
System.out.println(account + "ããã¯" + score + "ç¹ã ã£ãã®ã§ãå€å®çµæã¯" + eval + "ã§ãïŒ");
}
}
}
- ã³ãŒãæ¯èŒ: Python vs Java
- StudentScore.java
public class StudentScore {ããã}
- æ°ããpublicã¯ã©ã¹ãå®çŸ©ããå Žåããã®ã¯ã©ã¹ããã¡ã€ã«åãšããŠèšè¿°ããå¿
èŠãããã
- 1ã€ã®ãã¡ã€ã«ã«å®çŸ©ã§ããpublicã¯ã©ã¹ã¯1ã€ã®ã¿ã
- ä»åã®äŸã§ã¯ãæ°ããåããå®çŸ©ããããã®publicã¯ã©ã¹ãStudentScoreããšããã®ã¯ã©ã¹ãå©çšããmainã¡ãœãããå«ãã¯ã©ã¹ãOriginalClassãã®2ã€ãå¥ã
ã«çšæããã
- StudentScoreã¯ã©ã¹ã«mainã¡ãœãããå«ããæžãæ¹å¯èœãä»åã¯ãç¬èªã®åãäœããã«çŠç¹ãåœãŠãŠãããããå¥ã¯ã©ã¹ãšããŠçšæããã
- æ°ããpublicã¯ã©ã¹ãå®çŸ©ããå Žåããã®ã¯ã©ã¹ããã¡ã€ã«åãšããŠèšè¿°ããå¿
èŠãããã
ãã£ãŒã«ãå€æ°
ã®å®£èšã- ã¯ã©ã¹ãä¿æããå€æ°ãããã£ãŒã«ãå€æ°ããšåŒã¶ã
- ä»åã®äŸã§ã¯ãaccount, score, eval ã®3å€æ°ãæã€ã¯ã©ã¹ãšããŠå®çŸ©ããŠããã
ã³ã³ã¹ãã©ã¯ã¿
ã®å®çŸ©ã- ã³ã³ã¹ãã©ã¯ã¿ ã¯ããã£ãŒã«ãå€æ°ãåæåããå®äœã®ããïŒã¡ã¢ãªäžã«å±éãããïŒãªããžã§ã¯ããšããŠäœ¿çšããããã®èšè¿°ã
- ã¡ãœããã«äŒŒãŠããããreturnæã¯æžããªãïŒæ»ãå€ã®åãã宣èšããŠã¯ãããªãïŒã
- ã³ã³ã¹ãã©ã¯ã¿ã¯ãå¿ ããã®ã¯ã©ã¹åãšåäžã®ååã§èšè¿° ããå¿ èŠãããã
- è€æ°ã®ã³ã³ã¹ãã©ã¯ã¿ ãèšè¿°ã§ãããïŒè©³çŽ°ã¯åŸæ¥ïŒ
this.score = score;
- å³èŸºã®scoreã¯ãã³ã³ã¹ãã©ã¯ã¿åŒã³åºãæã®åŒæ°ã
- 巊蟺㮠this.scoreã¯ããã®ãªããžã§ã¯ãã®ãã£ãŒã«ãå€æ°scoreã ãæãã
- OriginalClass.java
- mainã¡ãœãããèšè¿°ããŠããã¯ã©ã¹ã
- mainã¡ãœãããèšè¿°ããã¯ã©ã¹ã¯ãpublicã¯ã©ã¹ã§ããå¿ èŠãããã
StudentScore[] scores = new StudentScore[3];
- StudentScore.javaã§å®çŸ©ããæ°ããã¯ã©ã¹ãStudentScoreããçšããŠãå€æ° scores ã宣èšã
- ãã®æç¹ã§ã¯ãStudentScoreã®ãªããžã§ã¯ãã3ã€å確ä¿ããé åãçšæããŠããã ããïŒã³ã³ã¹ãã©ã¯ã¿ã¯åŒã³åºãããŠããªãã®ã§ããªããžã§ã¯ããã®ãã®ã¯ãŸã çšæãããŠããªãïŒ
scores[0] = new StudentScore("e175701", 100, 'A');
- ãnew ã¯ã©ã¹å()ãã§ããã®ã¯ã©ã¹ã«èšè¿°ãããã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºããããªããžã§ã¯ããçæ ãããçæããããªããžã§ã¯ãã巊蟺ã«ä»£å
¥ãããã
- ã³ã³ã¹ãã©ã¯ã¿åŒã³åºãæã«ã¯äžžæ¬åŒ§()ã§ããç¹ã«æ³šæãé åãæå³ããåè§æ¬åŒ§[]ãšæ··åããªãããšã
- Stringãšcharãšã§ã¯ã©ãŒããŒã·ã§ã³ãç°ãªãç¹ã«æ³šæã
- ãnew ã¯ã©ã¹å()ãã§ããã®ã¯ã©ã¹ã«èšè¿°ãããã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºããããªããžã§ã¯ããçæ ãããçæããããªããžã§ã¯ãã巊蟺ã«ä»£å
¥ãããã
- mainã¡ãœãããèšè¿°ããŠããã¯ã©ã¹ã
- StudentScore.java
- å
¬åŒããã¥ã¡ã³ã
- APIããã¥ã¡ã³ã: Java SE 12 & JDK 12 API Documentation
- ããã¥ã¡ã³ã(èšèªä»æ§ç): JDK 12 Documentation
- ããŠã³ããŒããå¯èœããã¥ãŒããªã¢ã«ããµã³ãã«ã³ãŒããå€æ°ã
- APIããã¥ã¡ã³ã: Java SE 12 & JDK 12 API Documentation
- Javaåç»åŠç¿
- Progate: Java I, IIïŒåããŠããã°ã©ãã³ã°ãã人åãã®è§£èª¬ïŒç°¡æåé¡ã®ãããµã€ããwebãµã€ãäžã§å®è¡ãã§ããã®ã§ãäžæ©ãã€ç¢ºèªããŠãããã人ã«ã¯åããŠãŸããïŒ
- paizaåç»åŠç¿: Javaå ¥éç·šïŒåããŠããã°ã©ãã³ã°ãã人åãã®åç»è¬çŸ©ã1ã€ã®ã³ã³ãã³ãã¯æ°åçšåºŠã«çŽ°ååãããŠãŠããã€ãã³ãŒããèªåæ¡ç¹ããã·ã¹ãã ãæäŸãããŠããŸããç¬ç¿ã®é²ãæ¹ãšããŠã¯ãæ°ååç»é²èŠ§ããŠãèªåæ¡ç¹ããã課é¡ã«åãçµãããç¹°ãè¿ãããšã«ãªããŸããïŒ
- 課é¡äŸ
- CodingBatïŒèª²é¡ãå€æ°äŸç€ºãããŠããŸãããµã€ãäžã§ã³ãŒãã®åäœç¢ºèªãããããšãå¯èœãïŒ
- èšèªåŠç100æ¬ãã㯠2015ïŒç¹å®åéã«åã£ãŠããŸããã課é¡ãé£æ床å¥ã«æäŸãããŠãŸããUNIXææ³ãå«ãŸããŠãŸããïŒ