본문 바로가기

Programming Language/JAVA

[JAVA] java제어문( if문, if-else문, switch-case문 ) +퀴즈문제

 

 

 제어문이란?
- 순차적인 흐름을 조건에 따라 통제하는 명령어이다.
- 사용자의 요구에 따라 프로그램이 동작한다.

 

 제어문종류 
1. if-else (조건문)
2.while, do while, for (반복문)
3.switch-case (선택문)
4.continue, break (흐름변경)

 if문 정의
: 조건식을 평가하여 프로그램의 실행순서를 결정하는 제어문
( 간단하게 말하자면, 조건식을 평가해서 참이면 종속문자 실행 / 거짓이면 다음문장 실행 )
예 > if (조건식) {
        종속문장;
       }
        다음문장;

 

 

 


 

package day03;

import java.util.Scanner;

public class Test01 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int num;
		System.out.print("수를 입력:");
		num = input.nextInt();
		if(num % 3==0) {
			System.out.println("입력하신 수는 3의 배수입니다.");
		}else {
			System.out.println("입력하신 수는 3의 배수가 아닙니다.");
		}
	}

}

* if문 설명

우선 num변수에 수를 scenner을 통해 입력받습니다. (scanner 입출력은 "scnner편"을 참고해주세요 !)
if(num%3==0) <- 사용자로부터 입력받은 num을 3으로 나누었을때 나머지가 0이면 true 아니면 false
입력하신 수는 3의 배수입니다. <- 라는 메시지 출력시 true
입력하신 수는 3의 배수가 아닙니다. <- 라는 메시지 출력시 false

 

 

 

 

package day03;

import java.util.Scanner;

public class Test02 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int su1,su2,max,min;
		System.out.print("정수 두개 입력:");
		su1 = input.nextInt();
		su2 = input.nextInt();
		if(su1>su2) {
			max = su1;
			min = su2;
		}else{
			max = su2;
			min = su1;
			System.out.println("max : "+max+",min:"+min);
		}
	}
}

* if문 설명
su1, su2, max, min을 각각 int데이터타입으로 변수선언해줍니다.
scanner를 통해 su1과 su2에 각각 정수 두개를 입력받고,
if 조건문을 통해 입력받은 su1(첫번째 입력값)이 su2(두번째 입력값)보다 클경우 
max에 su1의 값을 저장시켜주고 min변수에 su2의 값을 저장시켜줍니다.
위의 if조건문이 참이 아닐경우, 즉 거짓일경우에는 반대로 저장시켜줍니다.

 

 

 

 

package day03;

import java.util.Scanner;

public class Test04 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int num;
		System.out.print("수 입력 : ");
		num = input.nextInt();
		if(num>100){
			System.out.println(num+": 100보다 크다");
		}else if(num>50) {
			System.out.println(num+": 50보다 크다");
		}else {
			System.out.println(num+": 50보다 작은 값들");
		}
	}

}

이번에는 if문과 else-if 그리고 마지막으로 else를 사용해보겠습니다.
만약 입력받은 num의 변수가 100보다 크면 100보다 크다는 문구를 출력해주고,
50보다 크면 50보다크다 문구를 출력해주고,
100보다도 안크고, 50보다도 안클경우는 모두 50보다 작은값들이라고 메시지 출력해줍니다.

 

 

 

 

 

package day03;

import java.util.Scanner;

public class Test05 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int select;
		System.out.print("수 입력: ");
		select = input.nextInt();
		switch(select) {
		case 1:System.out.println("1.입력한 수: " + select); break;
		case 2:System.out.println("2.입력한 수: " + select); break;
		case 3:System.out.println("3.입력한 수: " + select); break;
		default:System.out.println(("4.입력한 수: 1,2,3이 아닌 다른 수"));
		
		}
	}
}

 

 

 


 

 

 

 

 switch-case
- 다중 if문의 표현식과 비슷한 방법으로써, 식에 맞는 부분을 찾아서 실행해줍니다.
- 주로 메뉴를 만드는 곳에 쓰입니다.

 

 

package day03;

import java.util.Scanner;

public class Test05 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int select;
		System.out.print("수 입력: ");
		select = input.nextInt();
		switch(select) {
		case 1:System.out.println("1.입력한 수: " + select); break;
		case 2:System.out.println("2.입력한 수: " + select); break;
		case 3:System.out.println("3.입력한 수: " + select); break;
		default:System.out.println(("4.입력한 수: 1,2,3이 아닌 다른 수"));
		
		}
	}
}

select변수에 수를 사용자가 입력받습니다.
case 1은 케이스 첫번쨰일때, 
입력받은 값이 1일경우, 사용자가 입력받아 저장되어있는 select변수를 출력해줍니다.
case 2은 케이스 두번쨰일때, 
입력받은 값이 2일경우, 사용자가 입력받아 저장되어있는 select변수를 출력해줍니다.
case 3은 케이스 세번쨰일때, 
입력받은 값이 3일경우, 사용자가 입력받아 저장되어있는 select변수를 출력해줍니다.
default는 1,2,3이외의 숫자일경우를 해당하며, 위와같이 메시지가 출력됩니다.

 

 

 

 

 

 


↓ Q. 아래 퀴즈를 풀어주세요. ↓

1. 수를 입력 받아 5의 배수인지 아닌지 구분해주세요. 
2. 과자의 개당 가격은 2000원이다. 10개 초과하면 개당 1500원의 가격으로 받는다.
    과자의 개수를 입력 받아 금액을 출력하시오.

3. 날짜를 입력 받아서 1일이면 '월' / 2일이면 '화' / 3일이면 '수' ~~~7일이면 '일' / 8일이면 '월'을 숫자에
맞춰서 요일을 출력해주세요.

 

 

 

 

 

 

 

↓ 1번 정답 ↓

package day03;

import java.util.Scanner;

public class Quiz2 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("첫번째입력 : ");
		int num1 = input.nextInt();
		
		if(num1%5 == 0) {
			System.out.println("5의 배수입니다.");
		}else {
			System.out.println("5의 배수가 아닙니다.");
		}
}

 

 

 

 

↓ 2번 정답 ↓

package day03;

import java.util.Scanner;

public class Quiz3 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int apple = 2000;
		System.out.print("사과의 개수 입력 > ");
		int num = input.nextInt();
		
		if(num>10) {
			System.out.println(1500*num+"원 입니다.");
		}else {
			System.out.println(apple*num+"원 입니다.");
		}
	}

}

 

 

 

 

↓ 3번 정답 ↓

 

import java.util.*;
public static void main(String[] args){
	Scanner input = new Scanner(System.in);
	int num;
	System.out.print("날짜 입력 : ");
	num = input.nextInt();
	switch(num%7){
	case 1:System.out.println(num+":월요일");break;
	case 2:System.out.println(num+"화요일");break;
	case 3:System.out.println(num+":수요일");break;
	case 4:System.out.println(num+"목요일");break;
	case 5:System.out.println(num+":금요일");break;
	case 6:System.out.println(num+"토요일");break;
	case 0:System.out.println(num+":일요일");break;
	}
}