<1> if 그리고 else
:특정 조건이 만족될 때에만 실행하고픈 문장이 있을때(if), 조건에 따라 실행하고픈 문장을 달리 하고싶을때 (else)
1. if 문과 if~else 문
1) if 뒤의 소괄호() : 안에는 true와 false 반환하는 연산식
2) 소괄호 안이 true이면 아래의 문장 실행, false면 실행 x else 가 있을 시 else 아래의 문장 실행
: 첫번째 if 문의 소괄호 안에 false가 들어갈 경우
: 두번째 if 문의 소괄호 안에 true가 들어갈 경우
3) if~ else 문의 실직적 활용의 예
- 소괄호 안에 연산을 넣어 true나 false를 반환하게 할 수 있다
- 실행시킬 문장이 하나라면 중괄호 생략 가능
* if ~ else 는 하나의 문장
: 자바에서 라인의 수는 결코 중요하지 않다. 한문장 - 여러라인, 여러문장 - 한라인 구성 가능. 따라서 if~ else문을 한줄에 표현해야 할 필요는 없지만 그 중간에 다른 문장이 오면 에러가 발생한다
2. if~else 문의 중첩과 중괄호의 생략 (else if )
: if 문 / if~else 문 내에 또다시 if문이나 if~else 문 삽입 가능.
1) 충접
: num<0 이라면 "num은 0미만"
0 <= num < 100이라면 "0이상 100미만"
100 <=num 이라면 "100이상"
2) 중괄호의 생략 : else if
-
- else if 문 -
- 중간에 else if 는 얼마든지 삽입할 수 있다. if~ else if~ else 문은 최소한 하나의 문장은 실행되는 구조. 순서대로 읽히며 조건에 해당될 때 해당 문장을 실행하고 if ~ 문을 나가므로 순서가 중요하다.
Q1 아래의 코드를 if 문 하나만 사용하는 방식으로 변경하라.
:
Q2 중첩문 예제를
num < 0 일때 "0 미만" , 0<=num<100 일때 "0이상 100미만" , 100<=num<200 일때 "100이상 200미만" , 200<=num<300 일때 "200이상 300미만" , 300<=num 일때 "300d 이상 " 을 출력하도록 예제를 변경하라
(중첩문 예제)
:
:
3. if~else와 유사한 조건 연산자
:피연산자가 세개인 유일한 연산자. 간단한 if~elsel문 대체하는 용도로 사용
소괄호 생략 가능, 하지만 구독성을 위해 소괄호 사용
기본구조 : true of false ? 숫자1 : 숫자2
?기호의 왼편에 true가 등장하면 : 기호의 왼편에 있는 숫자 반환
?기호의 왼편에 false가 등장하면 : 오른편에 있는 숫자 반환
Q3 위의 조건연산식 코드를 조건연산자를 사용하지 않고 if~else를 사용하는 형태로 변경해보자.
:
<2> switch와 break
1. switch문의 기본 구성 : switch, case, default
switch(n)
{
case 1:
...
...
case 2:
...
...
case 3:
...
...
default:
...
}
1) label (case, default) : 위치를 표시하기 위해 사용
- case 해당값: : 주어진 변수가 해당값이면 이 위치에서부터 실행
- default : : 변수에 해당하는 레이블이 없으면 이 위치에서부터 실행 ( 생략가능 )
*n, case에 주어진 값은 정수나 문자만 가능하다. case에 주어진값 상수만 가능.
예제1 : n이 3일경우
예제2 : n이 5일경우
: 레이블이 지정하는 위치부터 switch의 마지막까지 실행하고 switch문 밖의 것을 실행한다.
2. switch문 + break문 : switch문의 일반적인 사용 모델
1) switch문 안에서의 break문 : switch문을 그냥 빠져나간다.
2) 레이블 안에 break을 넣게 되면 원래는 해당 레이블 부터 switch문의 끝까지 실행하던 형태에서 해당 레이블만 실행하는 구조가 된다.
switch(n)
{
case1: //영역1
...
break;
case2: //영역2
...
break;
case3: //영역3
...
break;
default: //영역4 (굳이 break을 붙여줄 필요 없다)
...
}
예제 : Switchbasic1 에서 case레이블 마다 break를 추가
n=2
n=3
: 해당하는 레이블만 실행된다.
3) 한줄에 둘 이상의 레이블도 붙일 수 있다 .
n= 1/2/3 일 경우
n=4/5일 경우
n이 1/2/3/4/5 외의 수일 경우
퀴즈 :
Q1. SwitchBreak.java를 if~else 문을 이용하는 형태로 변경해보자.
- SwitchBreak.java
:
* 안되는 경우*
n==3의 if문만 else와 짝이므로 n==3이 아닌 모든 경우에 (특히 1,2) else문이 실행된다.
Q2. 아래의 예제를 if~else문이 아닌 switch문을 활용하는 형태로 변경해보자.
-내가 한것 :
- 책에 나온 것 :
'언어 > JAVA' 카테고리의 다른 글
Eclipse 설치 및 실행 (0) | 2017.05.11 |
---|---|
Chapter5. 실행흐름 컨트롤(2) (0) | 2017.05.06 |
chapter4. 연산자(Operator) (2) (0) | 2017.04.12 |
chpter4. 연산자(Operator) (0) | 2017.04.07 |
chapter3. 상수와 형변환(Type Casting) (1) | 2017.04.06 |