본문 바로가기
Study/Java_study

Java_study_4 (제어문)

by hjshims 2021. 8. 1.

♨학습내용

더보기

☞ 선택문

☞ 반복문

 

  • 선택문
  • if문

- if문은 가장 기본적인 제어문중 하나로 지정한 조건이 만족할 시에 지정한 블록({ }) 안에 있는 코드가 실행된다.

 

if(조건식) { 
	// 조건식이 true 일 때 수행
}

 

  • if-else문

- if문 만으로는 복잡한 내용을 처리하는데는 한계가 있다.

- if문만을 사용할 때는 true일 때만 실행된다.

- if문이 처리해야하는 조건의 경우의 수가 2개 이상일 때는 else if 와 else 를 사용한다.

- else는 앞의 조건을 만족하지 않아야 하기 때문에 자동으로 '앞의 조건식을 만족하지 않을 때' 라는 조건이 추가된 것과 같다.

 

if(조건식) {
	// 조건식이 true 인 경우
} else {
	// 조건식이 false 인 경우
}

 

- 조건식을 여러개로 둘 경우는 if와 else 사이에 else if 문을 추가한다.

 

if(조건식1){
	//조건식1 true 인 경우
} else if (조건식2) {
	//조건식2 true 인 경우
} else if (조건식3) {
	//조건식3 true 인 경우
} else {
	//위 조건이 전부 false 인 경우
}

 

  • switch문

- switch 문은 if-then과 if-then-else 문과 다르게 변수에 대해 평가를 하고 이를 분기할 수 있다.
- 평가 당하는 변수는 원시형 타입(int, byte, char...)일 수 있고, Enum형 혹은 String, Wrapper(Integer, Byte, Character...) 클래스도 가능하다.

 

switch (조건식) {
	case 값1: 
    	// 조건식의 결과가 값1과 같을 경우 수행되는 문장
        break;
	case 값2: 
    	// 조건식의 결과가 값2과 같을 경우 수행되는 문장
        break;
	default: 
    	// 조건식의 결과와 일치하는 case가 없을 때 수행되는 문장
        break; // 마지막 break;는 생략가능 
}

 


  • 반복문
  • for문

- for문은 초기화, 조건식, 증감식, 블럭{} 모두 4부분으로 이루어져 있다.

- 조건식이 참인 동안 블럭{} 내의 문장들을 수행한다.

 

for (초기화;조건식;증감식) {
	// 조건식이 참일 때 수행
}

 

  • for-each문

- 반복문 내에 카운터 변수를 선언하고 콜론(:) 다음 배열이름을 순서대로 선언한다.

- 일반적으로 배열이나 Collection 클래스(ArrayList ... 등)를 반복하는 데 사용된다.

 

for ( 타입 변수명 : 배열 또는 컬렉션) {
	// 반복할 구문
}

 

  • while문

- while문은 조건식, 블럭{} 두 부분으로 이루어져 있다.

- 조건식이 참인 동안 블럭 내 문장들을 수행한다.

 

while (조건식) {
	// 조건식의 결과가 true 인 경우
}

 

- for문과 다르게 while문은 무조건 조건식을 넣어줘야한다.

 

int i = 1; // 초기화

while(i<=10) { // 조건식
	// 수행할 구문
    i++; // 증감식
}

 

  • do-while문

- do-while문은 블럭{}을 먼저 수행한 후 조건식을 판별하므로 다른 반복문과는 다르게 최소 한 번은 수행한다.

 

do {
	// 조건식의 연산결과가 참일 때
} while (조건식);

 

  • break

- 반복문 수행 중 break문을 만나면 자신이 포함된 가장 가까운 반복문을 벗어난다.

- if 문과 함께 사용하여, 특정 조건을 만족하면 반복문을 벗어나도록 처리한다.

 

int sum = 0;
int i = 0;

while (true) {
	if( sum > 100 ) 
    	break;	// break문 만나면 while문을 벗어남
       
    ++i;
    sum += i;
}

 

  • continue

- 반복문 내에서만 사용가능하며, 반복문 수행 중 continue문을 만나면 반복문의 끝으로 이동한 후 다음 반복으로 넘어간다.

- 반복문의 끝으로 이동하여 다음 반복으로 넘어간다.

- 반복문을 벗어나는 것이 아니다.

 

for (int i = 0 ; i <= 10 ; i++) {
	if( i % 3 == 0 ) {
    	continue; // 3으로 나누어지는 수의 경우, 출력하지 않고 넘김
    }
    System.out.println(i);
}