어제 집내려갔다가
오늘 올라왔는데, 바로 잘까하다가..
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-4의 3번문제 풀다가
(첫 작성 코드)
(에러)
오류가 났다. 다시 코드를 확인해 보니,
비교문에서 ==을 써야하는데 =을 사용했다.
= 은 대입연산자이다..
(수정)
(실행)
물론 이런 실수는 오류 메세지로 코드를 다시 확인하면 쉽게 발견할 수 있는 오류지만
첫 작성시 주의할 필요가 있겠다.
'Programing > JAVA 일지' 카테고리의 다른 글
JAVA(5일차) - (2) 클래스 패스, 패키지 (0) | 2016.12.07 |
---|---|
JAVA(5일차) - (1) 클래스와 인스턴스 (0) | 2016.12.07 |
JAVA(4일차) - 메소드, Recursive 메소드 (0) | 2016.12.06 |
JAVA(2일차) - 변수, 자료형, 상수, 연산자 (0) | 2016.12.05 |
JAVA (1일차) - java compile, .class (1) | 2016.12.05 |