<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

+ Recent posts