개발자가 코딩한 구문을 특정 조건하에 실행 흐름을 나눠서 동작하도록 제어하는 것
IF문과 Switch문 두 개가 있다.
if(조건문){
실행문1;
실행문2;
}
조건문은 true라면 실행되고 false라면 실행되지 않는다.
public class Java_if_1 {
public static void main(String[] args) {
// main 메서드 실행
if(true){
System.out.print(1);
}
System.out.print(2);
}
public static void main2(String[] args) {
if(false){
System.out.print(1);
}
System.out.print(2);
}
}
위 식에서 if( ) 이 사이가 true일 경우에만 조건문이 나오고 false면 나오지 않아서 결과값은 [1,2] 만 나온다.
그렇다면 false일 땐 어떻게 나와야 할까?
if(조건문){
실행문1;
실행문2;
}
else{
실행문3;
실행문4;
}
조건문이 true라면 실행문1,2를 실행하고 false라면 실행문3,4를 실행하는 것
public class IfElseExampleWithoutScanner {
public static void main(String[] args) {
int number = -5; // 고정된 숫자 값
if (number > 0) {
System.out.println("숫자는 양수입니다.");
} else if (number < 0) {
System.out.println("숫자는 음수입니다.");
}
}
}
이렇게 고정된 값 -5가 있다고 할 때, number 변수가 0보다 크면 "숫자는 양수입니다"를 프린트하고
0보다 작다면 "숫자는 음수입니다"를 프린트한다.
근데 조건이 3개라면?!
2개 이상의 조건문을 만들고 싶다면 else if 문을 쓰면 된다.
파이썬은 elif라고 바로 쓸 수 있는데 Java는 그게 없다.
package Java_if;
import java.util.Scanner;
public class Java_if_elseif {
public static void main(String[] args) {
Scanner c = new Scanner(System.in);
System.out.print("A 점수를 입력하세요: ");
int A = c.nextInt();
if(A>=90){
System.out.println("학점 A");
}else if (A>=80) {
System.out.println("학점 :B");
}else if (A<80) {
System.out.println("학점 :C");
}
c.close();
}
}
일단 Scanner와 int는 보지마셈 맘아프니깐 ^^
토글로 정리해드림!
Scanner c = new Scanner(System.in);
System.out.print("A 점수를 입력하세요: ");
int A = c.nextInt();
if(A>=90)로 변수 A가 90이상이라면 "학점 A"
else if (A>=80)로 변수 A가 80이상이라면 "학점 :B"
else if (A<80)로 변수 A가 80미만이라면 "학점 :C"
이렇게 else를 넣고 거기에 조건문을 추가할 수 있다.
(무한증식가능)