원쥬
원주는 공부중
원쥬
전체 방문자
오늘
어제
  • 분류 전체보기 (29)
    • Django (0)
    • Vue3 (2)
    • Android (7)
    • Arduino (0)
    • JSPServlet (0)
    • CSS (0)
    • HTML (0)
    • Java (9)
      • Java (9)
      • JavaFestival (0)
    • JavaScript (0)
    • Machine Learning (5)
    • Python (2)
    • Project (1)
      • first_project (1)
      • second_project (0)
      • third_project (0)
    • Tistory (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Android Stuido
  • visible
  • v-bind
  • matplotlib
  • textarea 오른쪽 하단
  • machinelearning
  • Python
  • volley
  • vscode
  • JSON
  • 사라지게하기
  • AndroidStudio
  • button
  • while문 예제
  • API
  • Vue3
  • while문
  • 폰트바꾸기
  • invisible
  • 안드로이드
  • while
  • 영화데이터
  • v-on
  • Ref
  • 손글씨데이터
  • android
  • pandas
  • machine learning
  • 안드로이드 스튜디오
  • v-model

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
원쥬

원주는 공부중

[Java] 제어문/ 조건문
Java/Java

[Java] 제어문/ 조건문

2022. 7. 24. 15:41

제어문 

- 프로그램 실행흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것

제어문의 종류

 

조건문

- 주어진 조건을 비교하여 조건에 만족할 경우 지정된 명령문을 실행하고 만족하지 않을 경우 다음 단계의 명령을 실행하는 구문

 

단순if 

단순 if문의 구조

- 조건식의 결과값은 boolean 형태여야 한다.

if(조건식){

	// 조건식이 true이면 실행시킬 코드
	실행코드;
    
}

단순 if문 예제 1)

- 정수(나이)를 입력받아 20세 이상이라면 "성인입니다"를 출력해보자

package 복습Ex20220318;

import java.util.Scanner;

public class ex01if문 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		System.out.print("나이를 입력해주세요 >> ");
		int age = sc.nextInt();
		
		if (age >= 20) {
			System.out.println("성인입니다!");
			
		}
		
		
	}

}

 

단순 if문 예제 2)

- int 타입의 변수 num을 선언하고 키보드로 값을 입력받는다. 만약 num이 3의 배수이면서 5의 배수라면 "3과 5의 배수입니다" 를 출력해보자

-> 3과 5의 배수라면 3과 5로 나눴을 때 각각 나머지가 0 이어야한다

package 복습Ex20220318;

import java.util.Scanner;

public class ex02if예제 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		System.out.print("정수를 입력하세요 >> ");
		int num = sc.nextInt();

		if (num%3 == 0 && num%5 == 0) {
			
			System.out.println("3과 5의 배수입니다.");
			
		}
		
	}

}

if else

if else 문의 구조

- 조건식의 결과값은 boolean 형태여야 한다.

if(조건식){

    // 조건식이 true이면 실행시킬 코드
    실행코드1;

} else {
   
   // 조건식이 false이면 실행시킬 코드
    실행코드2;

}

if else문 예제 1)

- 입력한 숫자가 1이면 "예", 숫자가 0이면 "아니요"를 출력해보자

package 조건문;

import java.util.Scanner;

public class ex03ifelse문 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		
		System.out.print("숫자를 입력하세요 >> ");
		int num = sc.nextInt();
		
		if (num == 1 ) {
			System.out.println("예");
		} else {
			System.out.println("아니요");
		}
		
	}

}

if else문 예제 2)

- 정수를 입력받아서 홀수인지 짝수인지 판별해보자

- 정수를 2로 나눴을 때 나머지가 0이면 짝수, 1이면 홀수이다

package 조건문;

import java.util.Scanner;

public class ex04ifelse예제 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("정수를 입력하세요 >> ");
		int num = sc.nextInt();
		
		if (num%2 == 0) {
			
			System.out.println("짝수입니다");
		} else {
			
			System.out.println("홀수입니다");
			
		}
		
	}

}

if else문 예제 3)

 

- 상품의 갯수가 10개 이하라면, 상품의 갯수 * 10000/ 상품의 갯수가 11개 이상이라면, 상품의갯수*10000 에 10프로 할인된 90프로의 가격만 지불하면 되기 때문에, 0.9를 곱해준다. 

- 0.9를 곱하면, 정수형이 아닌 실수형으로 변하기 때문에 int로 형변환을 시켜주자

package 조건문;

import java.util.Scanner;

public class ex05ifelse예제 {

	public static void main(String[] args) {

		
		Scanner sc = new Scanner(System.in);
		System.out.println("사려는 상품의 갯수를 입력하세요 ");
		int cnt = sc.nextInt();
		int price = 0;
		
		if (cnt < 11 ) {

			price = 10000 * cnt;
			
		} else {
			
			price = (int)((10000*cnt)*0.9);
			
		}
		
		System.out.println("가격은 "+price+"원 입니다");
		
	}

}

다중 if

다중 if문의 구조

- 다수의 조건문을 차례대로 비교하여 실행

- 조건식의 결과값은 boolean 형태여야 한다.

 

 

if(조건식){

    // 조건식1이 true이면 실행시킬 코드
    실행코드1;

} else if{

    // 조건식2이 true이면 실행시킬 코드
    실행코드2;

} else {

    // 위 조건에 모두 해당하지 않을경우 실행시킬 코드
    실행코드3;
}

다중 if문 예제 1)

 80점 이상 90점 미만의 조건을 totalScore < 90 && totalScore <= 80로 걸지 않아도 되는 이유

- 코드는 위에서부터 차례대로 실행된다. 그러므로 만약 totalScore >  90 이라면 위에 작성한 코드가 실행되기 때문에 totalScore >= 80 조건만 걸어주어도 된다.

package 조건문;

import java.util.Scanner;

public class ex06다중if문 {

	public static void main(String[] args) {

		
		System.out.print("점수 입력 : ");
		Scanner sc = new Scanner(System.in);
		
		int totalScore = sc.nextInt();
		
		if(totalScore >= 90) {
			
			System.out.println("A학점입니다");
			
		} else if (totalScore >= 80) {
			
			System.out.println("B학점입니다");
			
		} else if (totalScore >= 70) {
			
			System.out.println("C학점입니다");
			
		} else {
			
			System.out.println("D학점입니다");
			
		}
		
	}

}

다중 if문 예제 2)

package 조건문;

import java.util.Scanner;

public class ex07다중if문예제 {

	public static void main(String[] args) {

		
		Scanner sc = new Scanner(System.in);
		int totalScore = 0;
		
		System.out.print("소프트웨어 설계 : ");
		int score1 =sc.nextInt();
		
		System.out.print("소프트웨어 개발 : ");
		int score2 =sc.nextInt();
		
		System.out.print("데이터베이스 구축 : ");
		int score3 =sc.nextInt();
		
		System.out.print("프로그래밍 언어 활용 : ");
		int score4 =sc.nextInt();
		
		System.out.print("정보시스템 구축 관리 : ");
		int score5 =sc.nextInt();
		
		totalScore = score1 + score2 + score3 + score4 + score5;
		
		if (totalScore >= 60) {
			
			if(score1 > 7 && score2 > 7 && score3 > 7 && score4 > 7 && score5 > 7) {
				System.out.println("합격입니다.");
				
			} else {
				
				System.out.println("불합격입니다.");
				
			}
			
			
		} else {
			
			System.out.println("불합격입니다.");
			
		}
	
	}

}

 

단순 if문 여러개 대신, 다중 if문을 사용하는 이유

- 다중 if문은 조건을 한번 만족하면 바로 조건문 실행 후 빠져나오지만, 단순 if문 여러개는 if문이 만족되어도 그 다음 if문으로 넘어간다.

switch- case

switch-case문의 구조

- 딱 떨어지는 값, 변수가 와야한다

- 콜론으로 구분하고, break를 걸어주어야 한다 (조건에 만족하면 case문을 빠져나오기 위해서)

- case 1, 2 둘다 만족하지 않을 경우 default 실행 (if 문 else 역할)

switch(변수) {

    case 값1 :
        실행문장 1;
        break;        
    case 값2 :
        실행문장 2;
        break;
    default :
        break;

}

 

switch- case문 예제 )

- 월을 입력받은 후 월에 따른 계절을 출력시켜보자

- 봄 : 3, 4, 5 / 여름 : 6 , 7 ,8 / 가을 : 9, 10, 11 / 겨울 12, 1, 2

방법 1

package 조건문;

import java.util.Scanner;

public class ex08switch_case예제 {

	public static void main(String[] args) {
		
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("몇 월인가요? >> ");
		int month = sc.nextInt();
		
		switch(month) {
		
		case 3, 4, 5 :
			System.out.println("봄 입니다.");
			break;
			
		case 6, 7, 8 :
			System.out.println("여름 입니다.");
			break;
			
		case 9, 10, 11 :
			System.out.println("가을 입니다.");
			break;
			
		case 12, 1, 2 :
			System.out.println("봄 입니다.");
			break;
		
		default :
			System.out.println("월이 아닙니다");
			break;
		
		}

	}

}

방법 2

- 입력받은 월을 3으로 나누었을 때

봄인 3, 4, 5 는 몫이 1

여름인 6, 7, 8 은 몫이 2

가을인 9, 10 ,11 은 몫이 3 이므로 

switch의 조건을 month/3 으로 걸어주자

		switch (month/3) {
			case 1:
				System.out.println("봄 입니다.");
				break;
				
			case 2:
				System.out.println("여름 입니다.");
				break;
				
			case 3:
				System.out.println("가을 입니다.");
				break;

			default:
				System.out.println("겨울 입니다.");
				break;
		}

 

 

 

 

저작자표시 (새창열림)

'Java > Java' 카테고리의 다른 글

[Java] while문 예제 로그인 프로그램/계산기 프로그램/ 플러스게임  (0) 2022.08.02
[Java] 반복문 while/do-while  (0) 2022.07.28
[Java] 조건문 응용 실습 - 자판기 프로그램 if/ switch-case  (0) 2022.07.24
[Java] 입출력문과 연산자  (0) 2022.07.23
[Java] java 자료형  (0) 2022.07.23
    원쥬
    원쥬
    Git : https://github.com/wonjuju/

    티스토리툴바