2021. 2. 18. 23:51ㆍJAVA 공부
if 문
이번에는 if 문에 대해 알아봅시다.
영어 if 는 이런 뜻을 가지고 있죠 만약 ~ 라면
JAVA나 C, C++ 에서도 똑같이 쓰입니다.
if ( true 또는 false 가 오는 조건문1 )
{
만약 조건문1이 참(true)일 경우 실행
}
else
{
만약 조건문1이 거짓(false)일 경우 실행
}
그러면 변수와 같이 사용할 때는 어떻게 쓰는지 확인 해 보겠습니다
※if 뒤에 중괄호 같은 경우는 사진과 같이 조건문 옆에 써도 되고 아래에 써도 됩니다. 편한대로 하세요
자 0 ~ 100 까지의 랜덤한 수를 int형 변수 point에 넣고,
if 문에서는 point 가 60보다 크거나 같은지 확인을 하고 있습니다.
만약 참(true)이라면 (point 가 60보다 크거나 같다면) "축하합니다" , "합격이에요" 를 출력하고
만약 거짓(false)이라면 (point 가 60보다 작다면) "불합격 입니다" 를 출력하고 있죠. 결과를 확인해 볼게요
이렇게 if ( 조건문 ) 에서 조건문이 참(true) 일 경우와 거짓(false) 일 경우 실행되는 곳이 다르다는 걸 확인했습니다.
그러면 , if 문 안에서 또 if 문을 쓰는게 가능할까요? 네 가능합니다
이번에는 point 가 60보다 큰 경우 (true) / point가 60 이하 일 경우 (false) 로 나뉘어 지고 있는데
else - point가 60 이하 일 경우(false) 에서 또 if ( point == 60 ) 이 들어가서 point가 60이랑 같은 경우와 아닐 경우else를 두고 있죠.
그러면 point 가 60보다 크면 "축하합니다" "합격이에요" 를 출력하고, point 가 60 이하일 경우 중에서 point 가 60과 같으면 "축하합니다 턱걸이에요 !~" 를 출력하고, point 가 60 이하일 경우 중에서 point가 60보다 작은면 "불합격 입니다" 를 출력합니다.
이렇게 if else 문을 중첩 시키는게 가능합니다. - 무한정 중첩 시키는게 가능하지만, 그럴 경우 가독성이 떨어집니다
그러면 결국 조건이 3개라는 뜻인데, else 중괄호{}에서 if를 쓰지말고 위로 올리는 형태도 있습니다.
이렇게
if ( 조건문1 ) {
조건문1이 참일 경우 수행
}
else if ( 조건문2 ) {
조건문2가 참일 경우 수행
}
else {
조건문 1과 조건문2가 전부(and) 거짓일 경우 수행
}
의 형태를 띕니다. 여기서 else if ( 조건문 ) 은 원하는대로 무한정 넣을 수 있습니다.
여기서, if 안에 있는 조건문이 참인지 아닌지 컴퓨터가 판단을 하는데 참이라면 조건문1을 수행하고, 조건문2를 판단하지 않고 바로 if문을 벗어납니다. 즉 위에서부터 아래로 조건문이 맞는지 검사하고 참이라면 그 다음 중괄호{} 를 수행하고 더이상 조건문을 검사하지 않습니다.
자. 그러면 if 문을 응용해서 간단한 문제를 풀어보죠
- 정수 2개를 입력받아서 어떤 값이 큰수인지 출력, 만약 같은수라면 "같은 수 입니다" 를 출력
먼저 값을 입력받아야 하니까 Scanner scan = new Scanner(System.in); 을 써줍니다
그리고 2개의 정수값을 입력받아야 하죠. int num1 , num2;
2개의 정수값을 입력받아 줍시다. num1 = scan.nextInt(); / num2 = scan.nextInt();
이제 조건을 검사해줘야 합니다.
입력받은 num1 보다 입력받은 num2 가 큰가? if ( num1 > num2 )
입력받은 num1 과 입력받은 num2 가 같은가? else if ( num1 == num2 )
그것도 아니라면 (입력받은 num1 보다 입력받은 num2 가 큰가?) else
이렇게 풀어 볼 수 있었습니다.
이번에는 if문 에 대해 알아 봤습니다 ~
고생하셨습니다.
다음은 switch (스위치문) 에 대해 알아 봅시다
'JAVA 공부' 카테고리의 다른 글
Day05 - 반목문 While (3) | 2021.02.19 |
---|---|
Day04 - Switch (스위치문) (0) | 2021.02.19 |
Day 04 - 입력 Scanner (0) | 2021.02.18 |
Day04 - 배열(Array) (0) | 2021.02.18 |
Day03 - 2항 연산자 정의 및 종류 / 3항 연산자 (0) | 2021.02.17 |