본문 바로가기

Java

조건문 if 구문 3.31

if구문의 구조를 이해하고 응용해본다.

앞으로 개발자로 일하게 된다면 가장 많이 쓰게되는 구문이다.

package ch05;

public class fiTest {

public static void main(String[] args) {

 

// 제어문if

// 주어진 조건에 따라서 실행이 다르게 이뤄지도록 구현할 때 사용한다

// 만약 ..이라면

boolean flag = false; // 변수의 선언과 동시에 초기화했다

// if문에는 몇가지 종류가 있는데

// if문 단독

if (flag) {

System.out.println("괄호 안에 조건의 식이 true이면 이 부분이 실행됩니다.");

} // end of if

// 정리 : if문 단독은 실행이 될 수도 있고 안될 수도 있다.

// if else 구문

 

int age = 16;

if (age >= 20) {

System.out.println("고등학교를 졸업했습니다.");

} else {

System.out.println("아직 학교에 다니고 있습니다.");

}

// 정리 : if else 구문은 두개중 하나는 반드시 실행이 된다.

 

// if else if else 구문

int myAge = 12;

if (myAge <= 7) {

System.out.println("아직 학교에 다니지 않습니다.");

} else if (myAge <= 13) {

System.out.println("초등학교에 다니고 있습니다.");

} else if (myAge <= 16) {

System.out.println("중학교에 다니고 있습브니다.");

} else {

System.out.println("고등학교에 다니고 있습니다.");

}

 

} // end of main

} // end of class

 

if구문

scanner 메소드

활용해 성적을 입력하면 학점을 매기는 구문을 만들어본다.

package exercise;

import java.util.Scanner;

public class IfExercise1 {

public static void main(String[] args) {

 

// System.out.println("본인의 성적을 정수값으로 입력해주세요.");

// 키보드에서 정수값을 입력 받으려면 도구가 필요하다.

// Scanner sc = new Scanner(System.in);

// int point = sc.nextInt(); // 사용자가 정수값을 입력할 수 있도록 프로그램이 대기중..

// System.out.println("로깅 - 받은 값을 출력해 보는 것 : " + point);

 

// 식을 만들어보자.

// 90점 이상이라면 출력값으로 "A학점입니다."

// 80점 이상이라면 출력값으로 "B학점입니다."

// 70점 이상이라면 출력값으로 "C학점입니다."

// 60점 이상이라면 출력값으로 "D학점입니다."

// 59점 이하라면 출력값으로 "F학점입니다."

 

Scanner sc = new Scanner(System.in);

System.out.println("본인의 성적을 정수값으로 입력해주세요.");

// int myPoint = 88;

int myPoint = sc.nextInt();

 

if (myPoint >= 90) {

System.out.println("A학점입니다.");

} else if (myPoint >= 80) {

System.out.println("B학점입니다.");

} else if (myPoint >= 70) {

System.out.println("C학점입니다.");

} else if (myPoint >= 60) {

System.out.println("D학점입니다.");

} else {

System.out.println("F학점입니다.");

}

System.out.println("프로그램 종료.");

 

} // end of main

} // end of class

 

if구문

scanner 메소드

논리합 개념

활용해서 더 복잡한 식을 만들어본다.

package exercise;

import java.util.Scanner;

public class IfExercise2 {

public static void main(String[] args) {

 

Scanner sc = new Scanner(System.in);

System.out.println("본인의 성적을 0에서 100 사이로 입력해주세요.");

int myPoint = sc.nextInt();

 

// if 문은 하나의 괄호로 만들어야 컴파일러가 인식한다.

if ((myPoint <= 100) && (myPoint >= 90)) { // 100점 이하는 100점도 포함

System.out.println("'A' 학점");

System.out.println("우수한 성적이네요! \n계속 좋은 성적 유지하길 바랍니다.");

} else if ((myPoint < 90) && (myPoint >= 80)) {

System.out.println("'B' 학점");

System.out.println("좋은 성적입니다. 조금만 더 노력하면 A학점도 가능해요!");

} else if ((myPoint < 80) && (myPoint >= 70)) {

System.out.println("'C' 학점");

System.out.println("괜찮은 성적이지만, 더 높은 등급을 위해 노력해봅시다.");

} else if ((myPoint < 70) && (myPoint >= 60)) {

System.out.println("'D' 학점");

System.out.println("학습에 더 집중할 필요가 있어요. 도움이 필요하면 말해주세요.");

} else if ((myPoint < 60) && (myPoint >= 0)) {

System.out.println("'F' 학점");

System.out.println("불합격입니다. 부족한 부분을 파악하고, 추가 학습이 필요해요.");

} else {

System.out.println("잘못된 입력입니다. 성적은 0에서 100 사이로 입력해주세요.");

}

System.out.println("프로그램을 종료합니다.");

 

} // end of main

} // end of class

 

논리곱

논리합

이용해 다른 방식으로 문제를 풀어봤다.

package exercise;

import java.util.Scanner;

public class IfExercise2_2 {

public static void main(String[] args) {

 

Scanner sc = new Scanner(System.in);

System.out.println("본인의 성적을 0에서 100 사이로 입력해주세요.");

int point = sc.nextInt(); // 사용자 입력값 받는 곳

 

// if 구문 연습

// 2중 if 구문

// if (true) {

// if (true) {

// }

// }

 

// 만약 0보다 작거나 100보다 크다면 잘못된 입력입니다.

// 둘 중 하나라도 true를 반환하는 연산자는 논리 합

if (point < 0 || point > 100) { // 둘 중 하나라도 사실이면 수행한다.

System.out.println("잘못된 입력입니다. 성적은 0에서 100 사이로 입력해주세요.");

// 사용자가 잘못 입력하면 무조건 수행하는 구문

} else {

// 이중 if 구문

if (point >= 90 && point <= 100) {

System.out.println("A학점");

System.out.println("우수한 성적이네요.");

} else if (point >= 80 && point < 90) {

System.out.println("B학점");

System.out.println("좋은 성적이네요.");

} else if (point >= 70 && point < 80) {

System.out.println("C학점");

System.out.println("괜찮은 성적이네요.");

} else if (point >= 60 && point < 70) {

System.out.println("D학점");

System.out.println("더 집중합시다.");

} else {

System.out.println("F학점");

System.out.println("불합격입니다.");

}

}

System.out.println("프로그램을 종료합니다.");

 

} // end of main

} // end of class

 

2중 if문

활용해 두가지 조건 따라 다른 결과를 출력하는 예제를 만들어봤다.

package exercise;

import java.util.Scanner;

public class IfExercise3 {

public static void main(String[] args) {

 

// 놀이기구 탑승 조건 예제

// 나이가 10세 이상이어야 하고

// 키가 120센티미터 이상이어야 탑승 가능하다.

 

// 2중 if문으로 만들어보자

 

// 만약 10살 이상이라면

// true

// 10살일때 키가 120센티미터 이상이라면

// 놀이기구에 탑승 가능합니다.

// 아니라면 "키가 부족해서 탑승할 수 없습니다." 출력

// 만약 10살 이하라면 "나이가 어려서 탑승할 수 없습니다."라고 출력

 

Scanner sc = new Scanner(System.in);

 

System.out.println("나이를 입력해주세요");

int age = sc.nextInt(); // 사용자 입력값 받는 곳

 

System.out.println("키를 입력해주세요");

int height = sc.nextInt(); // 사용자 입력값 받는 곳

 

if(age >= 10) {

// 나이조건이 완성 수행

if(height >= 120) {

System.out.println("놀이기구 탑승 가능");

} else {

System.out.println("나이는 ok, 키가 부족해서 탑승 불가");

}

} else {

System.out.println("나이가 어려서 탑승 불가");

}

 

} // end of main

} // end of class

 

'Java' 카테고리의 다른 글

자바 학습 목표  (0) 2025.04.09
반복문 Do While 구문 4월3일  (0) 2025.04.03
반복문 for 구문 4월1일  (0) 2025.04.01
연산자(관계,논리,삼항) 개념 이해 3.28  (0) 2025.03.28
자바 데이터들의 형 변환 3.27  (0) 2025.03.27