nueijeel

[Java 이론 ] 0427 조건문과 반복문 본문

Java

[Java 이론 ] 0427 조건문과 반복문

nueijeel 2023. 5. 4. 22:02

2023.04.27

 

1. 조건문

 

- if 문

: 특정 조건에 만족할 때만 수행해야하는 경우에 사용하는 제어문. 주어진 수식의 결과가 true인 경우 해당 블록의 코드가 수행되고 그렇지 않은 경우에는 수행되지 않는다.

if (조건식) { 수행할 코드 }
if (조건식) { 수행할 코드 } else { 수행할 코드 }
if (조건식) { 수행할 코드 } else if (조건식) { 수행할 코드 } else { 수행할 코드 }

 

< if문 >

int a = 0;

if(a==0)
	System.out.println("a는 0입니다.");

if(a!=0)
	System.out.println("a는 0이 아닙니다.");

 

< if - else문 >

int a = 10;

if(a==0)
	System.out.println("a는 0입니다.");
else
	System.out.println("a는 0이 아닙니다.");

if문의 조건에 만족하지 않을 때 수행해야할 코드가 있을 경우 else문을 사용한다.

 

< if - else if - else문 >

int score = 95;

if(score==100){
    System.out.println("A+");
} else if(score > 90){
    System.out.println("A");
} else if(score > 80){
	System.out.println("B");
} else if(score > 70){
	System.out.println("C");
} else if(score > 60){
	System.out.println("D");
} else{
    System.out.println("F");
}

다양한 조건이 있을 경우 else if문을 사용해 추가적으로 조건을 설정해준다. 제어문이 실행할 코드가 여러 줄이면 해당 범위를 괄호로 묶어줘야함.

 

 

- switch문

: 수식이나 변수의 값을 확인하여 수행될 부분으로 바로 이동하는 경우

switch(변수) {
case 값 : 수행할 코드
}

switch(변수) {
case 값 : 수행할 코드 
default : 수행할 코드
}

 

< switch - case 문 >

String season = "봄";

switch(s){
    case "봄":
    	System.out.println("봄 입니다.");
        break;
    case "여름":
    	System.out.println("여름 입니다.");
        break;
    case "가을" :
    	System.out.println("가을 입니다.");
        break;
    case "겨울":
    	System.out.println("겨울 입니다.");
        break;
{

코드를 수행하다가 break문을 만나면 속해있는 조건문을 탈출한다. 만약 위 코드에서 case문 내에 break문이 없다면 수행될 코드에서 시작해 switch문이 종료될 때 까지 모든 코드를 거치고 종료될 것이다.

 

< switch - case - default 문 >

int month = 5;

switch(month){
    case 3,4,5 : 
    	System.out.println("봄 입니다.");
        break;
    case 6,7,8 : 
    	System.out.println("여름 입니다.");
        break;
    case 9, 10, 11 : 
    	System.out.println("가을 입니다.");
        break;
    case 12, 1, 2 : 
    	System.out.println("겨울 입니다.");
        break;
    default : 
    	System.out.println("1월부터 12월까지만 있습니다.");
        break;
}

default 문에는 case 문이 하나도 수행되지 않을 때 작동할 코드를 작성해주면 된다. if문의 else구문 같은 역할이라고 생각하면 된다.

 

 

 

2. 반복문

 

- for 문

: 조건식을 만족하지 않을 때 까지 초기식을 증감하면서 코드를 수행하는 반복문

for ( 초기식 ; 조건식 ; 증감식 ) { 수행할 코드 }

 

int sum = 0;

for( int i = 1; i <= 10; i++){
	sum += i;
}

1부터 10까지를 더하는 과정을 for문으로 구현해 봤다. 초기 식에서 설정한 변수 i가 10보다 작거나 같을 동안,  i의 값을 sum 변수에 더해주고 i를 증가시키는 과정을 반복한다. i가 11이 됐을 때 설정한 조건식에 위배되므로 반복문이 종료된다.

 

< for문을 이용한 구구단 출력 >

for(int i = 2; i < 10; i ++){
	for(int j = 1; j < 10; j++){
    	System.out.printf("%d x %d = %d\n",i, j, i*j);
    }
}

중첩 for문을 사용해 구구단 2단부터 9단까지 출력하는 코드를 작성해 보았다.

 

 

- while 문

: 반복 횟수가 결정되지 않고, 반복이나 종료에 대한 조건만 결정된 경우에 사용하는 반복문이다. 조건식의 결과가 true인 동안 코드 수행을 반복한다.

while ( 조건식 ) { 수행할 코드 }

 

< while 문 >

int a = 1;

while(a<=10){
	System.out.printf("%d\n", a++);
}

while문을 통해 a의 값을 증가시키면서 1부터 10까지의 수를 출력하는 코드를 작성해보았다.

 

 

< while 문 특징 >

int a = 10;

while(a<10){
	System.out.println("a : %d\n", a);
}

while문은 조건식이 수행될 코드보다 먼저 작성되어 있기 때문에, 처음 실행했을 때 조건을 만족하지 않으면 한 번도 수행되지 않는다.

 

 

- do-while 문

: while문과 달리 조건식이 수행될 코드 이후에 위치해있어, 조건을 만족하지 않을 경우에도 코드가 최초 한 번은 수행되는 구조의 반복문이다.

do { 수행할 코드 } while ( 조건식 ) ;

 

< do-while문 >

int a = 10;

do{
	System.out.printf("a : %d\n", a);
}while(a++>10);

a 값을 출력하는 do-while 반복문인데, a값이 비교연산이 이루어진 후 증감연산자에 의해 증가되는 구조이므로 조건식을 만족하지 않아서 한 번만 출력되고 종료된다.

728x90