어제 집내려갔다가
오늘 올라왔는데, 바로 잘까하다가..
JAVA공부 조오금만 하고 정리하고 자야겠다라는 생각이 들어서
책을 펼쳤다. (의지..!)

chap 5 실행흐름의 컨트롤 부분이였는데,
C 언어와 상당히 비슷했다. (그만큼 빨리 넘어갈 수 있었다.)

조금 놓치고 있었던 부분에 대해 정리해 두려고 한다.

Switch 문.

 

위의 경우 n = 2일 때,
실행내용(2), 실행내용(3)이 실행된다.
n이 1이면
실행내용 1,2,3 전부 실행된다.

(엥?. ) n이 2면 2만 실행되는거 아닌가?..

C 언어에서 배울때 관습적으로 case : 실행내용 적고 break;를 추가했었다.
바로 이게 실행내용을 이어서 하지 못하게 끊어주었던 것이다.

 

이렇게 되면 n=1 일때, 실행내용 1만 실행되게 된다.

추가로
* break;     는 가장 가까운 반복문을 탈출하는 역할을 한다.
(가장 가까운 한개의! 반복문을  탈출하는 역할을 해준다.)

* continue;     는 break;  와 헷갈리지 않게 잘 이해해야한다.
break; 는 가장 가까운 반복문 하나를 벗어나게 한다. continue;는 continue를 만나면 그 아래 반복 실행코드를 무시하고 다시 반복문조건으로 돌아간다.
(+그러므로 반복문의 조건항에 반복문을 수렴하게하는 문장이 포함되야한다. ex) n++)

오늘 공부 중 실수
문제 : 1000이하의 자연수 중에서 2의 배수이면서 7의 배수인 숫자를 출력하고, 그 출력된 숫자들의 합을 구하는 프로그램을 while문을 이용해서 작성해보자.

문제 5-43번문제 풀다가

 

(첫 작성 코드)

 

(에러)

 

 

오류가 났다. 다시 코드를 확인해 보니,
비교문에서 ==을 써야하는데 =을 사용했다.
= 은 대입연산자이다..

 

(수정)

 

(실행)

 

물론 이런 실수는 오류 메세지로 코드를 다시 확인하면 쉽게 발견할 수 있는 오류지만
첫 작성시 주의할 필요가 있겠다.

 

+ Recent posts