for문

for(변수 초기화; 조건식; 증감식) {
  실행문;
}
for(int i=0; i <= 5; i++) {
  System.out.println(i); // 조건식이 참이면 명령을 실행한 뒤, 변수 증감
} // 이 코드에선 i의 값으로 0,1,2,3,4,5가 출력
- 기본적인 for문의 형태
- '변수 초기화 → 조건식의 검증 → 명령 실행 → 변수 증감' 의 순서로 진행
- 사용된 변수는 반복문이 끝나면 사라짐
- 실행할 명령문이 한 줄이면, 중괄호{}를 생략 가능

  

for문 - 다중 조건

for(int i = 1, j = -1; i < 5 || j > -5; i++, j --) // 변수, 조건식, 증감식을 여러 개 넣을 수 있음
- 변수, 조건식, 증감식은 꼭 하나가 아니어도 됨 

 

for문 - 변수 초기화 생략

int i=0;
for(; i <= 5; i++) {실행문} // 외부에 선언 되어있는 변수면 생략 가능
- 반복문의 외부에 선언되어 있는 변수라면 초기화를 생략 가능
- 외부의 변수로 반복문을 실행했을 때에는, 반복문이 끝나도 변수가 사라지지 않음

 

중첩 for문 ( 구구단 예제 )

for(int i=1; i <=9; i++) {         
    
    System.out.println(i+"단");
    
    for(int j=1; j <=9; j++) {
    	System.out.println(i + "x" + j + "=" + (i*j) );
    }
    
}
- for 반복문 안에 for문을 계속해서 중첩 할 수 있음

 

while문

변수 초기화;

while(조건식) {
  실행문;
  증감식
}
int i=0; // while문은 외부의 변수를 사용

while(i <= 5) { // for문과 달리 조건만 넣어 사용
  System.out.println(i); // 조건식이 참이면 명령을 실행
  i++ // for문과 달리 실행문 내부에 변수를 증감하는 코드를 삽입, 생략하면 무한 반복이 일어날 수 있음
}
- for문과 기능은 비슷하지만, 상황에 따라 간결하게 표현 가능
- for문은 일정 횟수를 반복 할 때 주로 사용하고, while문은 특정 조건 시 계속 반복을 요청할 때 주로 사용
- 실행할 명령문이 한 줄이면, 중괄호{}를 생략 가능

 

do-while문

do {
  실행문;  
} while (조건식)
do {
	System.out.println("do 내부는 무조건 1번 출력");
} while (false) // 조건식이 참이 아니어도, do 내부의 명령은 1번은 실행

- while문과 동일하나, 조건식이 false여도 무조건 1번은 실행되는 특징이 있음

 

break문

while (true) // 조건식에 true를 넣어 무한 반복

	int num = (int) (Math.random() * 100);
// 0~1사이 임의의 실수를 뽑는 random 함수에 100을 곱한 뒤, 정수형인 int타입으로 강제 형변환하여 소수점 삭제
	System.out.println(num); // 해당 숫자를 출력 후 break문을 만나기 전까지 무한 반복
    
	if (num >= 90) { // 해당 숫자가 90이상이면 조건문을 실행
		break; // break문으로 반복문을 탈출
	}	
    
}
- 실행중인 반복문에서 break를 만나면 하단의 코드를 실행하지 않고 즉시 탈출
- 반복문 뿐만 아니라, switch 조건문에서도 사용

 

break문 - 라벨 기능

Eight: for(int i=1; i <=9; i++) { // 바깥 for문에 Eight이라는 라벨 추가
    
    System.out.println(i+"단");
    
    for(int j=1; j <=9; j++) {
    	System.out.println(i + "x" + j + "=" + (i*j) );
        
        if(i == 8 && j == 9){ // 8단까지 출력이 완료되면, 바깥 for문까지 중지하여 9단은 출력X
        	break Eight;
        }
    }
    
}
- break문에 라벨 기능을 이용하면 해당 반복문이 아닌 바깥 반복문까지 종료 가능

 

continue문

 for(int i=1; i <=5; i++) { // i가 5가 될 때 까지 실행
 
    if(i%2 = 0 ) { // i를 2로 나눈 나머지가 0, 즉 짝수면 continue 실행 → i출력 실행 X
      continue;
    }
    
    System.out.println(i); // 홀수인 1,3,5만 출력
    
  }
- 실행중인 반복문에서 continue를 만나면, 하단의 코드를 실행하지 않고 다음 회차 반복으로 넘어감

 

향상된 for문 ( = for each문 )

배열 초기화;

for(배열의 각 요소를 대입할 변수 : 배열명) {
	실행문;
}
int array[] = {1, 2, 3}; 

for(int i : array) { // array 배열의 각 요소를 변수 i에 대입하여 3번(배열의 항목 수) 반복
	System.out.println(i); // 대입된 값인 1,2,3이 출력
}
- 배열의 수 만큼 명령을 반복하고 싶을 때 사용
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기