조건에 따라 서로 다른 처리를 하고 싶을 때 사용하는 구조, 참인지 거짓인지 판별하고 싶을 때 쓴다.
if else 문의 구조는 다음과 같다.
if(조건식) {
조건식이 참이면 실행되는 문장
}else{
조건식이 거짓이면 실행되는 문장
}
짝수와 홀수 구별하기
package ex03;
import java.util.Scanner;
public class EvenOdd {
public static void main(String[] args) {
int number; // 숫자는 값을 할당하지 않으면 0이 된다.
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하시오: ");
number = sc.nextInt();
if (number % 2 == 0){ //number를 2로 나누어서 0이면 짝수이다.
System.out.println("짝수");
} else {
System.out.println("홀수");
}
}
}
실행 결과
D:\\tools\\jdk-21.0.1\\bin\\java.exe "-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2023.3\\lib\\idea_rt.jar=50164:C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2023.3\\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\\workspace\\java_lec\\study\\out\\production\\study ex03.EvenOdd
정수를 입력하시오: 2
짝수
Process finished with exit code 0
다중 if-else 문 : if-else 문장이 연속되는 형태
정수를 입력 받아 양수인지 음수인지 출력하는 코드
package ex03;
import java.util.Scanner;
public class Nested {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하시오: ");
int number = sc.nextInt();
if(number > 0) {
System.out.println("양수");
} else if (number < 0) {
System.out.println("음수");
} else {
System.out.println("0");
}
}
}
실행 결과
D:\\tools\\jdk-21.0.1\\bin\\java.exe "-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2023.3\\lib\\idea_rt.jar=50184:C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2023.3\\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\\workspace\\java_lec\\study\\out\\production\\study ex03.Nested
정수를 입력하시오: 2
양수
Process finished with exit code 0
성적 처리 예제
성적이 90 이상이면 A학점, 80 이상이고 90 미만이면 B학점, 70 이상이고 80 미만이면 C학점, 60 이상이고 70 미만이면 D학점, 60점 미만이면 F학점을 부여하는 코드.
package ex03;
import java.sql.SQLOutput;
import java.util.Scanner;
public class Grading {
public static void main(String[] args) {
int grade;
Scanner sc = new Scanner(System.in);
System.out.println("성적을 입력하시오: ");
grade = sc.nextInt();
if (grade >= 90)
System.out.println("학점 A");
else if (grade >= 80)
System.out.println("학점 B");
else if (grade >= 70)
System.out.println("학점 C");
else if (grade >= 60)
System.out.println("학점 D");
else
System.out.println("학점 F");
}
}
실행 결과
D:\tools\jdk-21.0.1\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3\lib\idea_rt.jar=50874:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\workspace\java_lec\study\out\production\study ex03.Grading
성적을 입력하시오:
80
학점 B
Process finished with exit code 0
가위 바위 보 게임
사용자가 가위, 바위, 보 중에서 하나를 선택하면 컴퓨터가 생성한 난수와 비교해 누가 이겼는지 출력하는 코드.
package ex03;
import java.util.Scanner;
public class RockPaperScissor {
final int SCISSOR = 0;
final int ROCK = 1;
final int PAPER = 2;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("가위(0), 바위(1), 보(2): ");
int user = sc.nextInt();
int computer = (int) (Math.random() * 3);
if( user == computer)
System.out.println("인간과 컴퓨터가 비겼음");
else if (user == (computer+1) % 3)
//0은 1한테 지고 1은 2한테, 2는 0한테 진다.
System.out.println("인간: " + user + "컴퓨터: " + computer + " 인간 승리");
else
System.out.println("인간: " + user + "컴퓨터: " + computer + " 컴퓨터 승리");
}
}
실행 결과
D:\tools\jdk-21.0.1\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3\lib\idea_rt.jar=51417:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\workspace\java_lec\study\out\production\study ex03.RockPaperScissor
가위(0), 바위(1), 보(2):
1
인간과 컴퓨터가 비겼음
Process finished with exit code 0
Share article