察象èªè : JavaãåŠã³å§ããã°ããã®æ¹ãifæã»å€æ°ã»Scannerã«ããæšæºå ¥åã¯äžåºŠè§Šããããšãããåæã§ãã
ãã®èšäºã®ãŽãŒã«: foræã»whileæã»breakã»ç¡éã«ãŒãããèªåã®æã§æžããããã«ãªãããšã
é²ãæ¹: åäŸã¯ã仿§ â ãã³ã â è§£ç â æ ¹æ¬çè§£ãã®é ã«äžŠã¹ãŠããŸãããããªãè§£çãèŠãã®ã§ã¯ãªãããŸãèªåã§ã³ãŒããæžããŠã¿ãŠãããããçãåãããããã®ãããããã§ãã
ð» åäœç¢ºèªã®æ¹æ³
ã³ãŒããå®éã«åãããŠã¿ãããšãããã®èšäºãèªãããã§ãã£ãšã倧äºã§ããæå ã«Javaã®éçºç°å¢ããªããŠãã以äžã®ãããªãªã³ã©ã€ã³å®è¡ç°å¢ã䜿ãã°ããã«è©ŠããŸãã
- paiza.IO â ãã©ãŠã¶äžã§Javaãå®è¡ã§ããïŒãã°ã€ã³äžèŠïŒ
- JDoodle â ãªã³ã©ã€ã³Javaã³ã³ãã€ã©
- Replit â ç¡æã¢ã«ãŠã³ãã§Javaãããžã§ã¯ããäœæå¯èœ
ãã¡ããEclipseãIntelliJ IDEAãªã©ãããŒã«ã«ã®éçºç°å¢ã䜿ã£ãŠãããŸããŸããã
ð ç®æ¬¡
- æºåç¥è â foræãšwhileæã®åºæ¬åœ¢
- äŸ1: ã«ãŠã³ãããŠã³ïŒforæã®åºæ¬ïŒ
- äŸ2: 3ã®åæ°ã ãã衚瀺ããïŒfor + ifïŒ
- äŸ3: PINèªèšŒã¯3åãŸã§ïŒfor + breakïŒ
- äŸ4: æ£è§£ãããŸã§å ¥åãæ±ããïŒwhileïŒ
- foræãšwhileæã®äœ¿ãåã
- èªå·±ãã§ãã¯ãªã¹ã
ð æºåç¥è â foræãšwhileæã®åºæ¬åœ¢
foræã®åºæ¬åœ¢
for (åæå; ç¶ç¶æ¡ä»¶; æŽæ°) {
// ç¹°ãè¿ãããåŠç
}
ãã£ãšããã䜿ãããåœ¢ã¯æ¬¡ã®ãšããã§ãã
for (int i = 0; i < 10; i++) {
System.out.println(i); // 0, 1, 2, ..., 9
}
å®è¡ã®æµããå³ã«ãããšæ¬¡ã®ããã«ãªããŸãã
- åæå ã¯æåã«äžåºŠã ãå®è¡ãããïŒã«ãŠã³ã¿ã®æºåïŒ
- ç¶ç¶æ¡ä»¶ ã¯ç¹°ãè¿ãã®å é ã§æ¯åå€å®ãããïŒtrueãªãæ¬äœã«é²ãïŒ
- æ¬äœ ãå®è¡ãã
- æŽæ° ã¯æ¬äœã®ããšã«å®è¡ãããïŒã«ãŠã³ã¿ã1å¢ããïŒ
- ãŸãç¶ç¶æ¡ä»¶ã®å€å®ã«æ»ã
whileæã®åºæ¬åœ¢
while (æ¡ä»¶) {
// æ¡ä»¶ãtrueã®éãç¹°ãè¿ã
}
foræã¯ ç¹°ãè¿ãåæ°ããããããæ±ºãŸã£ãŠãããšããwhileæã¯ ãã€çµããããäºåã«ã¯æ±ºãŸã£ãŠããªããšã ã«äœ¿ãããšèŠããŠãããšæŽçãããããªããŸãã
break â ç¹°ãè¿ããéäžã§çµãããã
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // iã5ã«ãªã£ãæç¹ã§ç¹°ãè¿ããçµäº
}
System.out.println(i); // 0, 1, 2, 3, 4 ãŸã§è¡šç€ºããã
}
ããããæžãééã
| æžãééã | æ£ããæžãæ¹ | çç± |
|---|---|---|
for (int i = 1; i < 10; i++) ã§1ã10ã衚瀺ããã |
i <= 10 |
< ã¯10ãå«ãŸãªã |
while (i = 10) |
while (i == 10) |
= ã¯ä»£å
¥ã== ã¯æ¯èŒ |
ç¹°ãè¿ãã®äžã§ i++ ãæžãå¿ãã |
i++ ãå¿ããã«æžã |
ã«ãŠã³ã¿ãæŽæ°ãããç¡éã«ãŒãã«ãªã |
ð äŸ1: ã«ãŠã³ãããŠã³ïŒforæã®åºæ¬ïŒ
仿§
10ãã1ãŸã§ã1ãã€æžãããªãã1è¡ãã€è¡šç€ºããŠãã ãããæåŸã« çºå°ïŒ ãšè¡šç€ºããŸãã
å®è¡çµæ:
10
9
8
7
6
5
4
3
2
1
çºå°ïŒ
ãã³ãïŒè©°ãŸã£ããšãã«éããŠãã ããïŒ
ãã³ã1: ç¹°ãè¿ãã®èšèš
- ã«ãŠã³ã¿ã 10ããå§ããŠã1ãŸã§ã1ãã€æžãã 圢ã«ããŸã
- foræã®3èŠçŽ ã«åœãŠã¯ãããšãåæåã¯
i = 10ãç¶ç¶æ¡ä»¶ã¯i >= 1ãæŽæ°ã¯i--ãšãªããŸã
ãã³ã2: æŽæ°åŒã®æžãæ¹
1å¢ãããšã㯠i++ã1æžãããšã㯠i-- ãšæžããŸãã
i-- 㯠i = i - 1 ãçãæžãããã®ã§ãã
è§£ç
public class Countdown {
public static void main(String[] args) {
for (int i = 10; i >= 1; i--) {
System.out.println(i);
}
System.out.println("çºå°ïŒ");
}
}
æ ¹æ¬çè§£
foræã®3èŠçŽ ãéåãã«æžãã ãã§ãæé ã®ç¹°ãè¿ããéé ã®ç¹°ãè¿ãããåã圢ã§è¡šçŸã§ããŸãã
| ããããããš | åæå | ç¶ç¶æ¡ä»¶ | æŽæ° |
|---|---|---|---|
| 1ã10ãæé | i = 1 |
i <= 10 |
i++ |
| 10ã1ãéé | i = 10 |
i >= 1 |
i-- |
| 0ã9ïŒé åã®æ·»åïŒ | i = 0 |
i < 10 |
i++ |
| 0ãã2ãã€å¢ãã | i = 0 |
i < 20 |
i += 2 |
ããããæ§é ã¯åãã§ããforæã¯ãæ°ãé ã«é²ããã圹å²ãæ ããç¹°ãè¿ãã®åºæ¬ã®åœ¢ã ãšèããŠãã ããã
ð¢ äŸ2: 3ã®åæ°ã ãã衚瀺ããïŒfor + ifïŒ
仿§
1ãã30ãŸã§ã®æ°ã®ãã¡ã3ã®åæ°ã ã ã衚瀺ããŠãã ããã
å®è¡çµæïŒäžéšæç²ïŒ:
3
6
9
12
...
30
ãã³ã
ãã³ã1: ã3ã®åæ°ãã¯ã©ãå€å®ããã
3ã®åæ°ãšã¯ã3ã§å²ãåããæ°ããã€ãŸãã3ã§å²ã£ãäœãã0ã«ãªãæ°ãã®ããšã§ãã
äœããæ±ããæŒç®å㯠% ã§ãã
-
9 % 3ã®çµæã¯0ïŒäœãã0ãªã®ã§3ã®åæ°ïŒ -
10 % 3ã®çµæã¯1ïŒ3ã®åæ°ã§ã¯ãªãïŒ
ãã³ã2: å šäœã®æ§é
- å€åŽ: 1ãã30ãŸã§ãé ã«foræã§åã
- å åŽ: ifã§ã3ã§å²ãåãããããå€å®ããæ¡ä»¶ãæºãããã®ã ã衚瀺ãã
è§£ç
public class MultipleOfThree {
public static void main(String[] args) {
for (int i = 1; i <= 30; i++) {
if (i % 3 == 0) {
System.out.println(i);
}
}
}
}
æ ¹æ¬çè§£
ããã¹ãŠã®èŠçŽ ãé ã«èŠãŠãããæ¡ä»¶ãæºãããã®ã ããåãåºãããšããåŠçã¯ãããã°ã©ãã³ã°ã§éåžžã«ããç»å Žããå®çªãã¿ãŒã³ã§ããæ¥åã§æžãã³ãŒãã®å€ãã¯ãã®åœ¢ã«åœãŠã¯ãŸããŸãã
å ·äœäŸ:
- æããšã®å£²äžãããé»åã®æã ããæœåºãã
- 瀟å¡äžèЧããã圹è·è ã ããåãåºã
- æååã®äžãããæ°åã ããæãåºã
çºå±
3ã®åæ°ã ããçŽæ¥ãã©ãæžãæ¹ããããŸãã
for (int i = 3; i <= 30; i += 3) {
System.out.println(i);
}
ãã¡ããæ£ããçãã§ããã©ã¡ããéžã¶ãã¯ç¶æ³ã«ãããŸãã
| æžãæ¹ | åããŠããå Žé¢ | 泚æç¹ |
|---|---|---|
| å šéšãåããŠifã§å€å® | ã3ã®åæ°ãã€5ã®åæ°ãã®ããã«ãè€æ°æ¡ä»¶ãçµã¿åãããããšã | æ¡ä»¶ãæºãããªãèŠçŽ ãäžåºŠãã§ãã¯ããããããããã«ç¡é§ããã |
| 3ãã€å¢ãã | åäžæ¡ä»¶ã§ãå¹çãéèŠããããšã | è€éãªæ¡ä»¶ã«ã¯å¯Ÿå¿ãã«ãã |
ãŸãã¯ãå šéšãåããŠifã§å€å®ããããšããåºæ¬ã®åœ¢ã身ã«ã€ããããšãããããããŸãã
ð äŸ3: PINèªèšŒã¯3åãŸã§ïŒfor + breakïŒ
仿§
æ£ããPINã³ãŒã㯠1234 ãšããŸãã
- ãPINãå ¥åããŠãã ããïŒããšè¡šç€ºããŠããŠãŒã¶ãŒã«å ¥åãæ±ãã
- å ¥åãæ£ãããã°ãããã¯è§£é€ããšè¡šç€ºããŠããã°ã©ã ãçµäºãã
- ééã£ãŠããã°ãäžæ£è§£ã§ãããšè¡šç€ºããŠãããäžåºŠå ¥åãæ±ãã
- ãã ãã3åé£ç¶ã§ééããå Žåã¯ãããã¯ãããŸããããšè¡šç€ºããŠçµäº ãã
åŠçã®æµã
ãã³ã
ãã³ã1: å šäœã®æµã
- ãæå€§3åããšããæ±ºãŸã£ãåæ°ãããã®ã§ foræã§3åç¹°ãè¿ã 圢ã«ããŸã
- å ¥åãæ£ãããã° breakã§ç¹°ãè¿ããæãã
- 3åã®ãã¡äžåºŠãæ£è§£ããªãã£ãå Žåã«ãããã¯ãããŸããããšè¡šç€ºããŸã
ãã³ã2: æååã®æ¯èŒæ¹æ³
æååïŒStringïŒãæ¯èŒãããšã㯠== ã§ã¯ãªãã.equals() ã¡ãœããã䜿ããŸãã
if (pin.equals("1234")) { ... } // æ£ããæžãæ¹
if (pin == "1234") { ... } // é¿ããã¹ãæžãæ¹ïŒæ£ããåäœããªãå ŽåãããïŒ
æååã¯åç
§åã§ããããã== ã¯ãåãã¡ã¢ãªäžã®å ŽæãæããŠãããããå€å®ããŸããå
容ãåãã§ãå¥ã®å Žæã«çœ®ãããŠããã°çµæã¯falseãšãªããæåŸ
ãšéãåããããããšããããŸãã
ãã³ã3: ã3åééãããããšãã©ãæ€ç¥ããã
ç¹°ãè¿ãã®éäžã§ break ããªããã°ãforæã¯æåŸãŸã§åããããŸãã
ç¹°ãè¿ããæããçŽåŸã«å°éãããšããããšã¯ãäžåºŠãæ£è§£ããªãã£ã ãšããããšã§ãããã®äœçœ®ã«ãããã¯ãããŸãããã®è¡šç€ºã眮ãã°ãç®çãéæã§ããŸãã
ãã ããæ£è§£ããŠæããå Žåã«ãåãäœçœ®ã®ã³ãŒããå®è¡ãããŠããŸããªãããããæ£è§£ãããã©ããããèŠããŠãã倿°ã1ã€çšæãããšæŽçãããããªããŸãã
è§£ç
import java.util.Scanner;
public class PinAuth {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
boolean unlocked = false;
for (int i = 0; i < 3; i++) {
System.out.print("PINãå
¥åããŠãã ããïŒ");
String pin = scan.next();
if (pin.equals("1234")) {
System.out.println("ããã¯è§£é€");
unlocked = true;
break;
} else {
System.out.println("äžæ£è§£ã§ã");
}
}
if (!unlocked) {
System.out.println("ããã¯ãããŸãã");
}
scan.close();
}
}
æ ¹æ¬çè§£
break ã䜿ããšããæå€§Nåç¹°ãè¿ãããæ¡ä»¶ãæºãããæç¹ã§éäžã§çµããããšããåŠçãæžããããã«ãªããŸãã
-
for (int i = 0; i < 3; i++)â æå€§3å -
breakâ æ£è§£ãããšãã®æ©æçµäº -
boolean unlockedâ ãæ£è§£ããŠæããã®ãããããšã3å䜿ãåã£ãŠæããã®ãããå€å¥ããããã®å€æ°
ãã®ããã«ãbooleanåã®å€æ°ã§ç¶æ ãä¿æããæ¹æ³ã¯ ãã©ã°å€æ° ãšåŒã°ããŸããæ¥åã§ããã䜿ãåºæ¬çãªèãæ¹ã§ãã
ã€ãŸãããããç¹
-
unlocked = true;ãæžãå¿ãããšãæ£è§£ããå Žåã§ãæåŸã«ãããã¯ãããŸãããã衚瀺ãããŠããŸããŸã -
break;ãæžãå¿ãããšãæ£è§£ããŠã3ååã®å ¥åãæ±ãããç¶ããŸã
ðïž äŸ4: æ£è§£ãããŸã§å ¥åãæ±ããïŒwhileïŒ
仿§
åèšè㯠sakura ãšããŸãã
- ãåèšèïŒããšè¡šç€ºããŠããŠãŒã¶ãŒã«å ¥åãæ±ãã
- ééã£ãŠããã°ãããäžåºŠïŒããšè¡šç€ºããŠååºŠå ¥åãæ±ãã
- æ£è§£ãããŸã§äœåºŠã§ã ç¹°ãè¿ã
- æ£è§£ããããéè¡ãèš±å¯ããŸãããšè¡šç€ºããŠçµäºãã
ãã³ã
ãã³ã1: ãªãwhileæã䜿ãã®ã
äŸ3ãšéããä»å㯠詊è¡åæ°ã«äžéããããŸããã
- ãæå€§Nåãã®ããã«åæ°ã決ãŸã£ãŠããå Žå â foræ
- ãçµãããäºåã«ãããããæ¡ä»¶ãæºãããŸã§ç¶ãããå Žå â whileæ
ãã³ã2: whileæã®æ¡ä»¶ã®æžãæ¹
ãæ£è§£ãããŸã§ç¹°ãè¿ããã¯ãèšãæãããšãééã£ãŠããéã¯ç¹°ãè¿ãããšãªããŸãã
ãããåŒã«ãããšã次ã®ããã«ãªããŸãã
while (!word.equals("sakura")) { ... }
! ã¯ããã§ãªãïŒåŠå®ïŒããæå³ããæŒç®åã§ãã
word.equals("sakura") ãfalseïŒééãïŒã®ãšãã! ãä»ããããšã§trueã«ãªããç¹°ãè¿ããç¶ããŸãã
ãã³ã3: æåã®å ¥åã¯ã©ãã§åãåãã
whileæã®æ¡ä»¶ã§ word ã䜿ããããç¹°ãè¿ãã«å
¥ãåã«äžåºŠãå
¥åãåãåã£ãŠãã å¿
èŠããããŸãã
String word = scan.next(); // æåã®å
¥å
while (!word.equals("sakura")) {
// ééã£ãŠããã°ãããã§åå
¥åãåãä»ãã
word = scan.next();
}
è§£ç
import java.util.Scanner;
public class Passphrase {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("åèšèïŒ");
String word = scan.next();
while (!word.equals("sakura")) {
System.out.print("ããäžåºŠïŒ");
word = scan.next();
}
System.out.println("éè¡ãèš±å¯ããŸã");
scan.close();
}
}
å¥è§£: ç¡éã«ãŒããšbreakãçµã¿åããã
while (true) {
System.out.print("åèšèïŒ");
String word = scan.next();
if (word.equals("sakura")) {
break;
}
System.out.println("éããŸã");
}
System.out.println("éè¡ãèš±å¯ããŸã");
ã©ã¡ãã®æžãæ¹ã§ãåãçµæãåŸãããŸããæžããããæ¹ãéžãã§åé¡ãããŸãããå®åã§ã¯ãæ¡ä»¶å€å®ã奜ããªäœçœ®ã«çœ®ããæè»ãããããã® while (true) + break ã®åœ¢ãé »ç¹ã«èŠãããŸãã
æ ¹æ¬çè§£
ãç¹°ãè¿ãçšã®å€æ°ããç¹°ãè¿ãã®å€ã§ãããããçšæããŠããããšãããã¿ãŒã³ã¯ãwhileæã䜿ããšãã®å®çªã®åœ¢ã§ãã
å 倿° = æåã®å€; // ç¹°ãè¿ãã«å
¥ãåã«æºå
while (ç¶ç¶æ¡ä»¶) {
// 倿°ã䜿ã£ãåŠç
倿° = 次ã®å€; // ç¹°ãè¿ãã®äžã§æŽæ°
}
foræã¯ããã®3èŠçŽ ã for(...) ã®ã«ãã³ã®äžã«ãŸãšããŠæžããŠãããã®ã ãšæããããšãã§ããŸããããèãçŽããšãforæãšwhileæã¯å¥ç©ã§ã¯ãªããåãèãæ¹ã®ç°ãªãæžãæ¹ã ãšåãããŸãã
ð§ foræãšwhileæã®äœ¿ãåã
| ç¶æ³ | éžã¶æ¹ | äŸ |
|---|---|---|
| ç¹°ãè¿ãåæ°ãæ±ºãŸã£ãŠãã | for | ã10åç¹°ãè¿ãããé åã端ãã端ãŸã§åŠçããã |
| æå€§åæ°ã¯ããããéäžã§æããããšããã | for + break | ãæå€§3åãŸã§ãã°ã€ã³è©Šè¡ã |
| æ¡ä»¶ãæºãããŸã§ç¶ããïŒåæ°ãæªå®ïŒ | while | ãæ£è§£ãããŸã§ç¹°ãè¿ãããããŒã¿ããªããªããŸã§èªã¿èŸŒãã |
| æäœ1åã¯å®è¡ãããã®åŸã«ç¶ç¶å€å®ãã | do-while | ãæäœ1åã¯ã¡ãã¥ãŒã衚瀺ããã |
å€ãã®å Žåãforæã§ãwhileæã§ãæžãã
å®ã¯ãäžã®ã©ã®ãã¿ãŒã³ãforæãšwhileæã®ã©ã¡ãã§ãæžãæãå¯èœã§ããæ©èœãšããŠã¯ã»ãŒåçã§ãæžããããæ¹ãéžãã§æ§ããŸããã
ãã ããèªã¿æã®ããšãèãããšã次ã®ç®å®ã§éžã¶ãšã³ãŒãã®æå³ãäŒããããããªããŸãã
- ç¹°ãè¿ãåæ°ãæç¢ºãªã â foræ
- ç¹°ãè¿ãåæ°ãæç¢ºã§ãªããªã â whileæ
â èªå·±ãã§ãã¯ãªã¹ã
ãã¹ãŠã«èªä¿¡ãæã£ãŠçããããã°ããã®èšäºã®å 容ã¯èº«ã«ã€ããŠãããšèšããŸãã
-
for (int i = 0; i < 10; i++)ã®ã»ãã³ãã³ã§åºåããã3ã€ã®èŠçŽ ãããããã®åœ¹å²ã説æã§ãã -
i < 10ãši <= 10ã®éããã©ã¡ãã䜿ãã¹ããã倿ã§ãã -
i++ãši--ã®æå³ã説æã§ãã -
breakãå®è¡ãããšãäœãèµ·ãããã説æã§ãã -
æååã®æ¯èŒã§
==ã䜿ãã¹ãã§ãªãçç±ã説æã§ãã - foræãšwhileæã®äœ¿ãåãã®ç®å®ã説æã§ãã
- æå³çã«ç¡éã«ãŒããäœããå®è¡äžã®ããã°ã©ã ãæ¢ããæ¹æ³ãç¥ã£ãŠãã
-
!æ¡ä»¶ã®æå³ã説æã§ãã
ð é¢é£èšäº
- ð Javaã®æ¡ä»¶åå²ã6ã€ã®äŸã§èº«ã«ã€ãã â if / switch / è«çæŒç®å / ä¹±æ°
- ð Javaã®ç¹°ãè¿ãïŒfor / whileïŒã4ã€ã®äŸã§èº«ã«ã€ãã â ãã®èšäº
- ðŠ Javaã®é åãšæ¡åŒµforæã4ã€ã®äŸã§èº«ã«ã€ãã
- ð€ Javaã®æåååŠçã5ã€ã®äŸã§èº«ã«ã€ãã
- ð§± Javaã®ã¯ã©ã¹ã4ã€ã®äŸã§èº«ã«ã€ãã â ãã£ãŒã«ã / ã¡ãœãã / ãªãŒããŒããŒã / ãªããžã§ã¯ãé å
次ã®èšäºã§ã¯ãé åãšæ¡åŒµforæ ãåãäžããŸããç¹°ãè¿ããšé åãçµã¿åãããããããã«ãªããšãããŒã¿ãæ±ãããã°ã©ã ã®å€ããæžããããã«ãªããŸãã
ãã®èšäºã®4ã€ã®äŸãèªåã®æã§æžããããã«ãªãã°ãç¹°ãè¿ãã®åºç€ã¯èº«ã«ã€ãããšèšããŸããæ¬¡ã®èšäºã«é²ã¿ãŸãããã