if/else 구문
if() {
...
}
( ) 안이 참일때 { } 이 실행된다.
int data = 0;
if( 100 && 200) {
data = 100;
}
100 && 200이 참이므로 { } 이 실행된다. 따라서 data는 100이 된다.
즉 if 문을 실행하면 data는 100이 되고, 실행하지 않은 상태에서 data는 0이다.
※ if else문은 사용자의 행동에 따라 수행 결과가 가변적일 때 주로 사용한다. (사용자의 반응에 맞춤)
if else
if() {
//참일 경우
}else {
//거짓일 경우
}
( ) 가 참일 경우 if문이 실행되고 참이 아닐 경우 else문이 실행된다.
if .. else if .. else if... else
if () {
...
}else if( ){
}else if( ){
}else{
//모든 조건이 다 실패했을 때 마지노선 조건
//if가 거짓인 경우 수행
}
"하나만 걸려라"라는 느낌이다
※ 원하는 상황을 만들기 위해서 if와 else if로 연결해서 쓸 것인지, if if 별개의 조건문으로 따로 따로 끊어서 쓸 것인지
즉, 어떻게 묶어줄 지 조건문을 만들기 전에 잘 생각해 봐야 한다!
※ else- 안써도 된다
switch 구문/ 삼항 연산자
- switch 구문은 if문과 굉장히 유사하다.
switch(10) //int iTest = 10;
{
case 10: //if(iTest == 10)
break;
case 20: //else if(iTest == 20)
break;
default: //if문 else와 유사
break;
}
- if문 보다 코드가 조금 간결하고 모양이 좋은 경우가 있다.
- 상황에 따라서 선호하는 문법을 사용하면 된다!
※ 주의할 점: break는 switch의 중괄호를 벗어나겠다는 의미이다.
실수로 break를 적어주지 않는다면, break가 나타나기 전까지 수행하고 종료가 될 것이다. 이 부분을 조심해야 한다.
switch(20)
{
case 10:
break;
case 20:
default:
break;
}
//default까지 실행하고 종료된다
★ 이를 의도적으로 사용하는 경우도 있기 때문에 문법적 오류가 아니다. 따라서 switch를 빠져나가야 하는 상황에서 break를 잘 써주도록 하자
switch(iTest)
{
case 10:
case 20:
case 30:
//case가 10,20,30일 때 실행되는 공통적인 코드 (공통적으로 똑같은 일을 할 경우)
break;
default:
break;
}
아 참고로 이 코드를 if-else로 바꿔본다면 다음과 같다.
if( iTest == 10 || iTest == 20 || iTest == 30){
}else{
}
삼항 연산자 ( :? )
- 조건문을 간략하게 사용하고 싶을 때 사용
iTest == 20 ? iTest = 10 : iTest = 200;
//참일 경우 iTest는 10, 거짓일 경우 iTest는 200
이 코드도 if-else문으로 바꿔보면
if(iTest == 20) {
iTest = 10;
}else{
iTest = 200;
}