조건문 (if문(중첩문), switch()~case, 삼항연산자)
if조건문에는 조건식이 필요하고 그 안에 실행할 문장이 필요하다.
if는 만약에라는 뜻으로 조건식이 true일 때 {}괄호 안에 있는 문장을 실행할 수 있다.
기본식으로는
if (조건식) {
위의 조건식이 true일 때 실행할 코드
}
조건식이 false일때는 error가 난다.
그리고 실행할 코드가 1개라면 {}괄호를 생략 가능하다.
조건식이 2개일 때는 else를 사용하는데 else는 if조건식의 나머지에 해당됨으로
조건식 없이 쓴다.
조건식이 3개이상일때는 else if(조건식)으로 사용하는데 else같은 경우는 if조건식에서 모든 나머지값을 해당함으로
조건값을 설정할 수 없어서 조건식이 필요한 상황에서는 else if(조건식)로 사용한다.
if문 하나당 하나의 값만 출력됨으로 2가지의 값을 원할 때는 같은 행쪽에 if문을 하나 더 넣어줘야 2개의 값을 나오게 할 수 있다.
if 중첩문 같은 경우는
ex) if 중첩문 같은 경우는 조건에 조건을 거는 방식으로
int e = 20;
int i = 10;
if(e>18) {
if(i>9) {
실행할 코드
}
}
이런 식으로 중첩해서 값을 나오게 할 수 있다.
안쪽 if문은 바깥쪽 if문의 조건식이 true여야 실행할 수 있다.
if문과 비슷한 switch() ~case 문이 있다.
이 문법은 switch ()안에 입력할 변수의 값이 case 뒤에 값에 정확한 값이 나오면 출력되는 방식이다.
case에 실행할 코드를 쓰고 그 밑에 break;를 걸어줘야한다. 안 그러면 코드가 끝나지 않기 때문에 에러가 뜬다.
if문의 else와 비슷하게 나머지 값을 default로 쓸 수 있고 default에는 break;를 안걸어줘도 된다.
ex)switch() ~ case
int i = 3;
switch(i) {
case 1:
sysout();
break;
case 2:
sysout();
break;
}
if문과 switch문의 차이는 switch에서 case의 값은 하나의 값만 적을 수 있고 범위로 설정이 불가하지만 if문의 같은 경우에는 범위 설정도 가능하다.
삼항 연산자
기본식(if와 else라고 보면 될거 같다)
변수1 = 초기값;
변수2 = 조건식? 값1:값2;
이 조건식이 true라면 값1이 변수2의 값이 되고 false라면 값2가 변수2의 값이 된다.
(if와 elseif ,else)
변수 = 조건식1? 값1 : 조건식2? 값2:값3;
중첩 삼항 연산자 (if 중첩문과 비슷하다고 보면 된다.)
변수 = 조건식1? (조건식2? 값1:값2) : (조건식3? 값3:값4);