지코바 과제[조건문]

지코바 과제 조건문

조건문이란?

조건문이란 말 그대로 주어진 조건으로 코드의 실행이 달라지는 것이라 생각하면 이해하기 쉽습니다.

조건문의 종류?

조건문은 우선 대표적으로 if문, switch문,(for문,while문 => 반복문)이 있습니다.
조건문의 종류들은 이름만으로도 짐작가지만, 사용법이라던지, 컴퓨터에 쓰이는 언어다보니 뜻이 다를 수가 있습니다. 
그러므로 전체적으로 어떻게 작용하는지 찾아보도록 합시다.

각 조건문별 사용법

1. if문

영어단어 그대로 가정법입니다다. 가정한 내용이 참이면 내용을 읽어내고, 거짓이라면 내용을 읽지않고 끝냅니다.

if(조건){실행}

으로 사용을 합니다. 예를 들어, 당모군의 키가 170보다 크면 키가 크다라는 결론을 뽑아봅시다. 그러면,

if(당모군의키 > 170){
system.out.println('당모군은 키가 크다.');
}

로 나타낼 수 있습니다. 당모군의 키는 실제로 170보다 월등히 크기 때문에, '당모군은 키가 크다'를 뽑아낼 것입니다. 그런데, 만약 당모군의 키가 170보다 작아서 '당모군은 키가 작다.'를 뽑아내려면 어떻게 해야할까요? else문을 이용하면 됩니다.

if(당모군의 키 > 170){
system.out.println('당모군은 키가 크다.');
}else{
system.out.println('당모군은 키가 작다.');}

이렇게 될 경우, 실제로 당모군의 키가 170보다 크면 '당모군은 키가 크다.', 170보다 작으면 '당모군은 키가 작다'를 뽑아낼 것입니다.
만약에 분류를 더 세분화한다면, 180이상이 큰 것이고, 170은 보통, 그리고 170미만은 작은 것일 때는 어떻게 해야할까요? 이 세분화된 결과값을 뽑아내는 것은 else if로 나타낼 수 있습니다.

if(당모군의 키 > 180){
system.out.println('당모군은 키가 크다.');
}else if (당모군의 키 == 170){
system.out.println('당모군은 키가 보통이다.')
;}else{
system.out.println('당모군은 키가 작다.');}

이렇게 활용해서 나타낼 수 있습니다.

2. Switch문

스위치는 사전적으로 회로를 끊었다 연결했다 하는 장치입니다. 우리가 생각하는 전등스위치가 있을 수 있겠군요. 하지만 스위치는 연결이 되는 부위의 다음 부분을 전부 연결이 되는건데요. 말이 좀 헷갈리니 예시를 들어보도록 할게요. 이 스위치가 순서대로 1,2,3,4로 존재한다고 생각해 볼게요. 만약 3에서 연결이 된다고 가정을 한다면, 3과 4는 작동을하고, 1과2는 작동을 안합니다. 만약 2에서 스위치 연결이된다면, 1을 제외하고 2,3,4가 작동을 할겁니다. 순서대로에서 스위치의 뒷부분은 모두 작동을 한다 생각하시면 됩니다.

switch (값) {
  case 조건1: 조건1에 대한 결과
  case 조건2: 조건2에 대한 결과
  case 조건3: 조건3에 대한 결과
}

아까 스위치문에 대해서 읽은대로라면, 값이 조건2를 충족한다면 조건2에대한 결과를 내오고, 조건 3에대한 결과도 내올 겁니다. 하지만, 조건2에 대한 결과값만을 나타내고 싶을때는 어떻게할까요? break문으로 사용하시면 됩니다. break문은 말그대로 제동을 거는 장치로, 조건 결과값 뒤에 걸어주면 됩니다.

switch (값) {
  case 조건1: 조건1에 대한 결과
  break;
  case 조건2: 조건2에 대한 결과
  break;
  case 조건3: 조건3에 대한 결과
  break;
}

이렇게 부분부분 걸어주면 조건1, 조건2, 조건3 전부 제동이 걸려있어서 각각 결과값을 불러올 수 있습니다.

3. for문과 while문

for문과 while문은 조건을 걸고, 그 조건이 완료될때까지 반복을 하는 반복문입니다. 둘의 차이는 보통 for문은 반복 횟수가 정해졌을때, 많이 쓰고, while문은 무한대로 반복해야한다거나, 특정 조건에 만족할 때까지 반복해야할 때 사용합니다. 딱 3번만 반복하고 싶을 때는 for문, 숫자 3일때까지만 반복하고 싶을 땐 while문입니다. 주어에 대한 미묘한 차이로 다른 결과를 나타낼 수 있다는 것을 알 수 있습니다.
그렇다면 for문은 어떻게 사용할까요? for문은

for(초기값; 조건; 동작){
  결과값 나타내기
}

로 나타낼 수 있습니다. 보통 동작의 경우, 초기값에서 더하거나 빼는 증감함수를 사용하고, 조건의 경우 증감함수에 따라 값이 특정한 수보다 작거나 클 때 사용합니다. 간단히 예를 들면,

for(int i=1; i <= 10; i ++){ 
//정수 i 초기값은 1이고, 결과값이 나올때마다 증가하며, i값이 10이하일 때까지 반복한다.
  결과값 나타내기 
}
while(조건) {
동작
}

으로 나타냅니다. for문과 똑같이 나타낼 수도 있으며, for문의 예제와 같은 결과를 출력하려면,

let i = 1; 
while (i <= 10){
결과값 나타내기
    i++; 
  } 

로 나타낼 수 있습니다. 둘다 마찬가지로 결과값을 i가 10이 될 때까지 반복하다가 10보다 커지면 멈추게 됩니다. 여기서 만약 중간중간에 특정한 값을 건너뛰고 싶다면, continue문을 사용하면 됩니다. 예를 들어서, i값이 5일때의 결과값을 건너 뛰고 싶다면,

let i = 1; 
while (i <= 10){
결과값 나타내기
if(i ==5) continue;
    i++; 
  } 

말 그대로 i가 10이 될 때까지 값을 토해내고, i값이 5일때는 건너 뛰며, 결과값을 나타내고 i값을 증가시키는 함수를 나타냅니다.

연습문제

  1. if문을 사용해서, a= 10 , b= 20이고, a가 b보다 작다면, 참을 나타내는 식을 나타내시오.

  2. switch문과 break를 이용해서 90점 이상이면 A, 80점 이상이면 B, 70점 이상이면 C, 70점 미만이면 D인 식을 작성해보세요.

  3. for문 혹은 while문을 이용해서 초기값 i가 1이고, i가 증가함수일 때(i++), i가 10 이하일 때까지의 조건으로, i가 홀수인 값을 출력하십시오.(continue 이용)

좋은 웹페이지 즐겨찾기