반응형
if~else 문은 특정 조건이 만족될 때에만 실행하고 싶을때 사용합니다.
예를 들면
어떤 값일때 어떠한 명령을 수행시키고 싶다하면
if문의 괄호안에 그 조건을 넣으면 됩니다.
public class IEBasic {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(true) {
System.out.println("if & true");
}
if(false) {
System.out.println("if~else & true");
}
else {
System.out.println("if~else & false");
}
}
}
이 코드의 실행 결과는
if & true
if~else & false
이렇게 나오게 됩니다.
조건이 참일때만 if의 영역 안에 선언된 명령을 수행하게 됩니다.
따라서 중간에 if(false)의 영역은 실행되지 않고 if(true)와 else 영역의 명령만 실행을 했습니다.
또한 if~else문은 중첩해서 사용할 수 있습니다.
public class IEReit {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=120;
if(num<0) {
System.out.println("0 미만");
} else {
if(num<100) {
System.out.println("0이상 100미만");
} else {
System.out.println("100이상");
}
}
}
}
num에 120이 저장이 되어있기 때문에
첫번째 if문에서 조건을 만족하지 않으므로 else로 넘어가게 됩니다.
else에서는 if~else가 또 있는데,
if의 조건에 맞지 않으므로 else로 넘어가고 "100이상"이 출력됩니다.
if~else와 유사한 성격의 조건 연산자도 있습니다.
public class CondOp {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num1 = 50, num2 = 100;
int big, diff;
big = (num1>num2) ? num1 : num2;
System.out.println(big);
diff = (num1>num2)? num1-num2 : num2-num1;
System.out.println(diff);
}
}
100
50
이 연산자는 true or false? 숫자1 : 숫자2
같은 구조를 가지고 있습니다.
? 기호의 왼편에 true가 있으면 : 기호의 왼편에 있는 숫자가 반환,
? 기호의 왼편에 false가 있으면 기호의 오른편에 있는 숫자가 반환되는 구조를 가지고있습니다.
즉, big = (num1>num2) ? num1 : num2; 에서 num1>num2가 false이기 때문에 num2의 값이 big에 들어가게 됩니다.
반응형
'Programming > JAVA' 카테고리의 다른 글
5-3 for, while, do~while (0) | 2018.10.13 |
---|---|
5-2 switch / break (0) | 2018.09.17 |
4-3 비트와 관련이 있는 연산자 (0) | 2018.08.27 |
4-2 자바에서 제공하는 단항 연산자들 (0) | 2018.08.27 |
4-1 자바에서 제공하는 이항 연산자들 (0) | 2018.08.26 |