06. Java 기초 3 / 20230419

2023. 4. 20. 00:08
🧑🏻‍💻 제어문 - 반복문 

 

💡 반복문

➡️ 코드들이 반복적으로 실행되도록 할 때 사용

 

📍종류

  • for문
  • while문
  • do-while문
for문과 while은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 좋지만,
for문 → 반복 횟수를 알고 있을 때 주로 사용
while문 → 조건에 따라 반복할 때 주로 사용

 

🔎 for 문

➡️ 조건식이 참인 동안 주어진 횟수만큼 실행문을 반복적으로 수행 

for(초기화; 조건식; 증감식) {
 ...실행문...
 }
  • 초기화 : for문이 시작할 때 최초 한 번만 수행, 사용할 변수의 초깃값 정함
  • 조건식 : 계속 반복할지 여부를 결정하는 조건, 조건식이 true라면 실행문 실행 false라면 더이상 블록을 실행하지 않고 끝
  • 증감식 : 반복 횟수를 결정하는 규칙, 변수에 값을 더하거나 곱하는 등 수행 방식 지정
조건식을 충족하는 동안 초기화식부터 싲가해서 증감식의 규칙을 따라 실행 
조건식을 충족하지 않으면 실행하지 않고 끝남
⭐️ 초기화식이 필요 없을 경우에는 초기화식을 생략할 수 있고 초기화식이나 증감식도 둘 이상 가능

 

🔎 향상된 for문(Enchanced for문)

➡️ 배열과 컬렉션 객체를 좀 더 쉽게 처리할 목적으로 제공 

➡️ 반복 실행 위해 카운터 변수와 증감식 제공 x

➡️ 배열 및 컬렉션 항목의 개수만큼 반복하고 자동적으로 for문을 빠져나감

String[] names = {배열1, 배열2, 배열3}
for(String name : names) {
	... 실행문...
}
  • for문 괄호 안에는 배열에서 꺼낸 항목을 저장할 변수 선언, 콜론 , 사용할 배열 작성됨

 

🔎 while 문

➡️ 조건식이 true일 경우에 계속해서 반복

(초기화);
while(조건식) {
  실행문; //조건식이 참인 동안 실행
  증감식;
}
  • 초기화와 증감식은 필요없다면 생략 가능
  • 조건식에 true를 사용하면 무한 루프! -> 탈출 코드 필요! or break 이용!

 

🔎 do-while문

➡️ 조건식에 의해 반복 실행하는 기본 개념은 똑같지만 블록 내부의 실행문을 우선 실행시키고 실행 결과에 따라서 반복 실행을 계속할지 결정

do {
  (1)실행문 //처음 한 번은 무조건 실행
} while((2)조건식);
  • (1)실행문을 먼저 실행하고 모두 실행하고 나면 (2)조건식 평가 결과가 true이면 (1) 실행문, false이면 종료

 

🔎 break문과 continue문

 

📍break문

➡️ for, while, do-while문을 중지할 때 사용 switch에서도 break 사용하여 switch문 종료 

for(...) {
	break;
}

while(...) {
	break;
}
  • 대개 break문은 if문과 같이 사용됨 → if문의 조건식에 따라 for/while문 종료할 때 사용
  • 만약 반복문이 중첩되어 있을 경우 break 문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문에는 영향을 끼치지 않음
레이블(label)문?
➡️ 일반적으로 중첩 루프에 사용, 중첩에서 break나 continue를 사용할 때 유용하게 사용 가능 

 

📍continue문

➡️ 블록 내부에서 continue가 실행되면 for문의 증감문 혹은 while, do-while문의 조건식으로 이동하여 작동
➡️ break문처럼 보통 if문과 함께 사용, 조건을 만족하면 이후 코드를 실행하지 않고 continue 문 실행하여 다음 반복으로 넘어감


조건문에 이어서 반복문에 들어오니 머리가 터질 것 같다. 아니 벌써? 그래도 풀어가는 재미가 쏠쏠하다. 찾아서 해결하는 쾌감도 있고...... 내일은 좀 술술 풀렸으면 좋겠는데 아무래도 이루어질 것 같지는 않다. 오늘은 스터디에 들어가서 사람들이랑 캠스터디도 했다. 확실히 집중이 잘 된다. 다른 분들 열심히 하는 것보니까 나도 열심히 하고 싶다!!! 더 부지런히 움직여야지 오늘의 일기 끝.

'SEB_BE_45 > 공부 정리' 카테고리의 다른 글

08. [Java] 객체지향프로그래밍의 이해 / 20230421  (0) 2023.04.21
07. Java 기초 4 / 20230420  (0) 2023.04.20
05. Java 기초 2 / 20230418  (0) 2023.04.18
04. Java 기초 1 / 20230417  (1) 2023.04.17
03 Git 기초/20230414  (0) 2023.04.14

BELATED ARTICLES

more