Day03 2023-01-25

위수현·2023년 1월 25일
post-thumbnail

조건문

조건문이란?

  • 무조건 실행되는 것이 아니라, 특정 조건을 충족할 경우에만 실행되는 구문

조건문의 종류

  • if문 : 주어진 '조건'이 참(true)일 경우에만 실행
  • if ~ else문 : 주어진 '조건'이 참(true)일 경우에만 실행
  • if ~ else if ~ else 문 : 조건을 여러개로 세분화하여 사용
  • switch 문 : 하나의 '값'에 대하여 여러가지 경우의 수로 나누어 분기 처리한다.

if문

  • if문은 주어진 조건이 참일 경우에 지정된 구문이 실행된다.

    -> 비교식(비교 연산자 사용)
    -> 논리식(논리 연산자 사용)
    -> boolean 값

    if( 조건 )
    {
    .. 실행할 구문 ..
    }

    <예제>

if ~ else문

  • 그렇지 않으면?
  • if문이 조건이 참일 경우에 실행되는 구문이라면,
    if문의 조건과 반대는 경우에 실행되는 구문이 else문이다.
  • else문은 독립적으로 실행될 수 없고 반드시 if문의 뒤에 위치해야 한다.

if( 조건 )
{
.. 실행할 구문 ..
}
else
{
.. 반대 경우에 실행할 구문 ..
}

<예제>

if ~ else if ~ else문

  • if문과 else 문 사이에 else if문으로 두 번째 조건, 세 번째
    조건을 나열할 수 있다.
  • else if 문은 필요한 만큼 나열할 수 있으며, 필요치 않을
    경우 else문은 생략 가능하다.

    if ( 조건 )
    {
    .. 실행할 구문 ..
    }
    else if( 조건 )
    {
    .. 실행할 구문 ..
    }
    else
    {
    .. 실행할 구문 ..
    }

  1. 90 < X <= 100은 한 번에 처리가 불가하다.
    따라서, 90 < X 과 X <=100으로 처리해야 한다.
  2. point 값을 계속 변환시켜보면서 값을 확인하는 습관을 갖춘다

switch문

  • 변수 값에 대한 경우의 수를 처리하는 switch문

  • switch문은 하나의 변수(기준 값)에 대한 여러가지
    case를 정의하는 구문이다.

  • if문은 조건에 식(비교식, 부등식)이 사용될 수 있지만
    switch문은 분기 조건이 반드시 일치하는 "값"에 대해서만 처리 가능하다.

    switch( 기준값 )
    {
    case 값1:
    .. 실행될 구문 ..
    break;
    case 값2:
    .. 실행될 구문 ..
    break;
    case 값3:
    .. 실행될 구문 ..
    break;
    default:
    .. 모든 경우에 충족되지 않을
    경우 실행 ..
    break;
    }


-> 조건문 안에 조건문이 와도 무방하다


##### switch문 실행 과정

< I >

1. 베이스는 기준 값
2. case 값1에 기준값에 부합한지 확인
3. 부합한다
4. 구문 실행
5. break를 통해 빠져나옴

< II >
1. 베이스는 기준 값
2. case 값1에 기준값이 부합한지 확인
3. 부합하지 않는다
4. 다음 case 값2 구문으로 이동
5. 반복
6. 특정 구간에서 기준값이 부합한다
7. break를 통해 빠져나옴

< III >

  1. 베이스는 기준 값

  2. case 값1에 기준값이 부합한지 확인

  3. 부합하지 않는다

  4. 다음 case 값2 구문으로 이동

  5. 반복

  6. 그 어떤 구간에서도 기준값에 부합하지 않는다

  7. default 값으로 이동

  8. default 구문 처리

  9. default 구문 안에 break를 통해 빠져나옴

    break; 문이 없으면 빠져나올 수가 없어서 모든 break가 없는 구문에 대해 결과값이 모두 출력된다
    -> break를 만날 때까지 계속 실행됨


    -> 모든 결과물이 출력되는 것을 볼 수 있다.



조건문 예제

<1번>

<2번>

<3번>

<4번>

<5번>

<6번>

<7번>

<1번~7번 출력값>

반복문

for문

  • for문은 사람이 직접 처리하기에 부담스러운
    반복적인 작업을 처리하기에 매우 용이하다.

for( 초기식; 조건식; 증감식 )
{
.. 반복적으로 동작할 구문 ..
}

for문 조건

  • 초기식 : 최초로 초기식을 설정한다.
  • 조건식 : 초기식을 설정한 다음에는 조건식을 판단한다.
  • 만약 조건식이 참이라면 반복적으로 동작할 구문을 1회 수행한다.
  • 반복 구문을 수행한 후, 증감식으로 이동한다. - 증감식을 수행한 후, 다시 조건식으로 이동한다.
  • 여전히 조건식이 참이라면 반복수행을 처리하고,
    그렇지 않다면 for문을 종료한다.

Excel을 통한 이해

< for문 예제>

1.

2.

3.

while문

  • while 역시 for문과 마찬가지로 반복적인 처리를 수행하는 문법
  • for문은 초기식, 조건식, 증감식을 모두 내장하는 반면,
    while문은 조건식만을 내장하기 때문에 초기식과 증감식을 외부에 따로 정의해 주어야함

초기식;

while( 조건식 )
{
	.. 반복적으로 동작할 구문 ..	
	증감식;
}

< while문 예제 >

do~while문

  • 조건의 판별을 나중에 수행하는 반복문 형태
  • 초기식을 설정한 후 do{...} 안의 문장을 우선적으로 1회 실행하고 조건을 판별하므로,
    조건이 참이 아니더라도 최소 1회는 실행된다.
초기식;
do
{
	.. 반복적으로 동작할 구문..
	증감식;
}while( 조건식 );

< do~while문 예제 >

무한루프

  • 증감식이 설정되지 않거나, 증감식이 수행되더라도 조건식이
    거짓이 되지 않은 형태
  • 조건식이 항상 참이므로, 반복문이 종료되지 않는다.
  • 프로그램이 PC의 자원을 매우 많이 사용하게 되므로
    시스템 다운을 발생시킬 수 있다.

for문의 무한루프 예

 for( int i = 0; i <= 100; i--)
{
	System.out.println(i);
}
-> 무한한 음의 정수 값 출력

while문의 무한 루프 예

while( true )
{
	System.out.println("hello");
}
-> 무한한 hello 단어 출력

무한 루프 탈출법

  1. Console창의 Terminate(빨간색 정사각형)클릭
  2. 1번이 안될 시 작업관리자에서 Eclipse 강제 종료

-> 무한루프가 지속되면 PC에 부하가 걸려 강제 다운될 수 있음

profile
수현

0개의 댓글