본문 바로가기

웹 프로그래밍/JAVA

[JAVA] 반복문 - for문, 중첩 for문, while문, do-while문

728x90
반응형

해당 글은 남궁성님의 자바의 정석을 학습 후에 작성되었습니다.

for문

조건을 만족하는 동안 블럭{}을 반복한다.

  • 반복 횟수를 알 때 적합하다.
for(초기화;조건식;증감식){
   수행될 문장
}

초기화 된 변수가 조건식에 부합할 경우 블럭{} 안의 문장을 수행 후 증감식에 따라 초기화 된 변수의 값이 변경된다.

 

example

for(int i=0;i<5;i++){
  System.out.println("I can do it");
}
​
// 결과 - console
I can do it
I can do it
I can do it
I can do it
I can do it

 

중첩 for문

for문 내에 또 다른 for문을 포함시킬 수 있다.

for(int i=0;i<5;i++){
  for(int i=0;i<10;i++){
    System.out.print("*");
  }
  System.out.println();
}
​
// 결과 - console
**********
**********
**********
**********
**********

 

while 문

조건을 만족시키는 동안 블럭{}을 반복한다

  • 반복 횟수를 모를 때 적합하다.
  • 조건식의 연산 결과가 참일 동안만 실행되므로 처음부터 조건식이 false일 경우 블럭{} 안의 문장은 한번도 실행되지 않을 수 있다.
  • for문과 while문은 언제든지 서로 변경할 수 있다.
while(조건식) {
  // 조건식의 연산 결과가 참(true)인 동안, 반복될 문장들을 적는다
}
int i=1;
​
while(i<=5) {
  System.out.pringln(i);
  i++;
}
​
// 결과 - console
1
2
3
4
5

 

do-while문

블럭{}을 최소한 한 번 이상 반복한다.

  • 블럭{}에 있는 내용이 우선적으로 실행된다.
    • while문과는 달리 반드시 한 번 이상 실행된다.
      • while : 조건식을 만족할 경우 블럭{} 안 문장 실행
      • do-while : 블럭{} 안 문장 실행 후 조건을 만족하는 동안 블럭{} 안 문장 실행
  • 사용자 입력 받을 때 유용하다.
  • 끝에 세미콜론(;)을 잊지 않고 써야 한다.
do {
  // 조건식의 연산 결과가 참(true)인 동안, 반복될 문장들을 적는다(처음 한번은 반드시 실행)
} while(조건식); // 끝에 ';'을 잊지 않도록 주의!!
int answer = 3;
​
do {
  System.out.pringln("1과 10사이의 정수를 입력하세요 >");
  input = scanner.nextInt();
  
  if(input>answer){
    System.out.pringln("더 작은 수로 다시 시도해보세요");
  } else if(input<answer){
    System.out.pringln("더 큰 수로 다시 시도해보세요");
  }
} while(input!=answer); 
​
System.out.pringln("정답입니다.");
​
// 결과
1과 10사이의 정수를 입력하세요 > 5  
더 작은 수로 다시 시도해보세요
1과 10사이의 정수를 입력하세요 > 2
더 큰 수로 다시 시도해보세요
1과 10사이의 정수를 입력하세요 > 3
정답입니다.
728x90
반응형

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] Array, 자바 배열  (0) 2022.02.03
[JAVA] break문, continue 문, 이름 붙은 break 문  (0) 2022.02.02
[JAVA] switch문  (0) 2021.12.06
[JAVA] 연산자  (0) 2021.11.19
[JAVA] CountDownLatch란?  (0) 2021.10.28