옛날에 알고리즘을 배울 때, 들은 내용이... 모든 알고리즘은 "실행, 선택, 반복"으로 단순화된다는 것이었습니다. NS차트로 구상할 때도 딱 3가지만 표현하도록 배웠었죠. (go to 같은거는 쓰지 않아야 된다는..ㅋ)

그래서 지금도 알고리즘에 있어서 3가지에 대해서는 잘 활용하고 있습니다.. 꼭 프로그래밍이 아니라, 업무절차라든지 메뉴얼화라든지 일상 생활에서도 알고리즘에 대해 활용할 부분이 무궁무진 한 거 같아요.

오늘은 선택문과 반복문에 대해서 정리해 보도록 하겠습니다.

(1) 선택문

 가) if-else 문

    if (조건) 문장1 ;
     [else 문장2 ;]

조건에 따라 참일 경우 문장1이, 거짓일 경우에 문장2를 선택하는 기본 선택문입니다.

  나) if-else if 문

if문을 통해 다중선택을 하게 하는 문법이다.

 if (조건1)
   문장 1;
else if (조건2)
   문장 2;
else if (조건3)
   문장 3;
.....
else
   문장 4;

순차적으로 조건에 대해 참일 경우 바로 밑의 문장을 수행하고, 거짓일 경우 아래 조건으로 내려가는 다중 조건문

 다) switch 문

하나의 수식에 대해서 여러가지 값에 대한 문장들을 선택, 수행할 수 있는 선택문

switch (수식) {
   case  값 1:
      처리문장;
      break;
   case 값 2:
      처리문장;
      break;
   case 값 3:
      처리문장;
      break;
   default :
      해당하는 값이 없을 경우에 수행하는 문장;
}

위의 코드와 같이 수식에 대한 값1, 값2, 값3을 선택해서 처리할 수 있는데, break문을 만나면 case문장 밖으로 빠져나가게 됩니다. 만약 break문을 쓰지 않으면, 값1의 경우에 값1에 해당하는 처리문장을 수행한 후에 값2에 대한 처리문장도 처리하게 된다.
default문은 수식에 대한 해당하는 값이 없을 경우에 수행하게 된다.

 

(2) 반복문

 가) while문

while (조건) {
   반복할 문장;
}

조건이 참일 경우에 아래의 문장들을 계속 반복한다. 따라서 반복할 문장 안에는 조건값을 변하게 하는 문장이 있어야지 무한루프에 빠지지 않으므로 주의해야 합니다.

 나) do while문

do {
   반복 문장들 ;
} while (조건);

이 반복문은 일단 조건을 묻기 전에 반복문장을 한번 수행 하고, 조건을 평가하여 참일 경우 계속 반복하는 반복문입니다.

 다) for문

for문은 조건문 안에 초기값과 조건과 증감문을 다 넣은 문장으로 개인적으로는 가장 깔끔한 반복문이라고 생각합니다.

 for (초기값; 조건; 증감) {
  반복문장;
}

 

(3) 제어문 (이동문)

일반적으로 이동문이라고 하면 옛날 베이직에서 go to 30 이런식의 go to문을 생각할 수 있지만, go to문은 알고리즘 자체가 상당히 깔끔하지 않고 스파게티 코드처럼 된다고 해서 사용을 하지 않는 것을 최우선으로 합니다. (하긴, 요즘 언어툴에서는 goto 문을 거의 지원 안하는 걸로 알고 있습니다..ㅋ)

 가) break문

break문은 해당 코드 내에서 벗어나는 것으로 앞서 switch문에서 벗어나는 것처럼 사용할 수 있다. switch문 외에서도 반복문에서는 반복루프를 벗어나는 경우나, goto문의 개선된 형태로도 사용할 수 있습니다.(특정 조건문에 붙어서 벗어나는 방법)

 나) continue문

break와는 달리 continue를 만나면, 그 즉시 해당 반복문의 처음으로 되돌아 갑니다. while문이나 do while문에서는 continue문을 만나면 조건평가를 하게 되며, for문에서는 증감부분으로 이동하여 증감연산후 평가를 하게 됩니다.

 다) return문

return은 현재 수행중인 메소드를 중단하고 그 메소드를 호출한 곳으로 돌아가게 됩니다.

 

(4) 그 외 기본 문법들

앞서 언급하지 못했던 기본적인 문법들을 정리해 봅니다.

 가) 문자열 (String)

char형과는 달리 문장을 지정할 수 있습니다. 겹따옴표(")로 문장을 지정할 수 있으며, JAVA에서는 String 클래스에서 객체로 구현되어 있습니다.

String str = "test String";
System.out.println(str);

java는 변수끼리 결합이 까다롭지 않아서 아래와 같은 경우도 에러가 발생하지 않고 출력됩니다.

int num = 12;
System.out.ptintln("일년은 " + num + "달로 되어있습니다.");

위의 소스처럼 정수형 변수와 string문과도 같이 출력이 됩니다.

 나) 배열 (Arrays)

JAVA에서는 배열을 Arrays 클래스의 객체로 취급하여 선언할 수 있습니다.

type[] array-name = new type[size]

위에서처럼 자료형(type)을 지정한 배열이름을 선언하고, 동시에 그 배열의 크기를 정하는 것을 동시에 할 수 있습니다. 1차형 배열 뿐 아니라, 2, 3차형 배열도 사용할 수 있으니 참고하시기 바랍니다. (4차원 이상도 되려나...)

 다) 주석(comment)

잘 짠 프로그램이라는 것 중에 하나가 주석을 잘 다는 것입니다. 주석을 잘 달아놓으면, 후에 수정하거나 담당이 바뀌어서 다른 사람이 내 코드를 볼 경우에도 어려움 없이 코드를 볼 수 있도록 도와주는 역할을 합니다.

/* 주석 */   : /* 에서  */까지를 모두 주석으로 처리
// 주석       : // 에서부터 그 행 끝까지를 주석으로 처리
/** 주석 */ : /** 에서부터 */ 까지의 모든 것을 주석으로 처리.

다음 포스팅에서는 클래스에 대해서 알아보도록 하겠습니다. (이번 포스팅에선 그림이 없네요.ㅎㅎ)


 - 일반행정직

 - 검찰직공무원

 - 경찰공무원

 - 교정직공무원

 - 사회복지직공무원

 - 환경직공무원

 - 감사직공무원

 - 화공직공무원

 - 농업직공무원

 - 보건직공무원

 - 사서직공무원

 - 외무영사직공무원

 - 임업직공무원

 - 전산직공무원

 ● 유망자격증 기출문제

 - 소방공무원

 - 교육행정직공무원

 - 세무직공무원

 - 10급공무원

 - 토목직공무원

 - 간호직공무원

 - 건축직공무원

 - 농업연구사

 - 농촌지도사

 - 보호직공무원

 - 식품위생직공무원

 - 의료기술직공무원

 - 전기직공무원

 - 출입국관리직공무원

 ● 공무원 최신자료 받기


 - 4대보험관리사

 - 결혼상담사

 - 공인중개사

 - 노인여가건강관리사

 - 농산물품질관리사

 - 도로교통사고감정사

 - 사회복지사1급

 - 소비자전문상담사

 - 실버시터상담지도사

 - 아동심리상담사

 - 영재놀이지도사

 - 주택관리사

 - 치매예방관리사

 - 저작권관리사

 - 일반행정사

 - PIA사설정보관리사

 - 건강식이요법사

 - 경호(경비)지도사

 - 노인심리상담사

 - 노후생활설계사

 - 다문화가정상담사

 - 속기사

 - 심리상담사

 - 연예인관리사

 - 장례지도사

 - 직업상담사

 - 유기농관리사

 - [방과후]교육마술지도사

-[방과후]창의사고력지도사

 - [학점은행제]사회복지사

  1. 2011.02.08 21:55 신고 [Edit/Del] [Reply]
    그림이 없고....어려운말만 적혀있어서 ^^;
    자바는 머리가 좋은 사람이 해야하는가봐요~ ㅎㅎ

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret