프로그래밍/java

[자바JAVA] 제어문 _ 조건문(if문과 switch문)

pupu91 2022. 7. 5. 11:29
반응형

조건문

 


  • 프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로 조건에 따라 다른 문장이 수행되도록 함.
  • 조건문의 종류 : IF문, SWITCH문

 


i f 문

 


if(조건식){
}
 : 조건식의 결과 값이 true면 {}안의 내용 실행, false면 실행하지 않음
if(num > 0){
   System.out.println("양수입니다.");
   }
   System.out.println("시스템을 종료합니다.");
   
   조건식의 결과 값이 true면 "양수입니다" 실행
   false면 if블럭을 무시하고 "시스템을 종료합니다." 실행

 

 

if 문 예제

 

  • 정수 한 개를 입력 받아 그 수가 짝수이면 "입력하신 숫자는 짝수입니다." 라고 출력하고,
    짝수가 아니면 출력하지 않는 구문을 작성해보자!
Scanner sc = new Scanner(System.in);
		
System.out.print("숫자 한 개를 입력하세요 : ");
int num = sc.nextInt();
		
어떤 수를 2로 나누었을 때 나머지가 0이면 짝수이다. 즉 2의 배수이다
		
if(num % 2 == 0) {
System.out.println("입력하신 숫자는 짝수입니다.");
}
조건문과 상관 없이 실행하는 구문
System.out.println("프로그램을 종료합니다.");
}
반응형



if 중첩문 예제

  • 정수 한 개를 입력 받아 그 수가 양수인 경우에만 짝수인지를 확인하여짝수이면 "입력하신 숫자는 양수이면서 짝수입니다."라고 출력하고 둘 중 하나라도 해당하지 않으면 아무 내용도 출력하지 않는 구문을 작성해보자.
Scanner sc = new Scanner(System.in);
System.out.print("숫자 한개를 입력하세요 : ");
int num = sc.nextInt();
 
● 양수인지 조건 확인 
  if(num > 0) {
● 양수가 맞는 경우 다시 한 번 더 짝수인지 조건을 확인함
  if(num % 2 == 0) {
	System.out.println("입력하신 숫자는 양수이면서 짝수입니다.");
			}
	}
		System.out.println("프로그램을 종료합니다.");
 }

 


if ~ else 문

 


  • 조건식 결과 값이 true면 if안의 내용 실행, false면 else안의 내용 실행
  • if(조건식){ 출력할 내용 } else { 출력할 내용 }
if(num % 2 == 0) {
      System.out.println("짝수");
} else {
      System.out.pringln("홀수");
}

 

if ~ else문 예제

 

  • 정수 한 개를 입력 받아 그 수가 홀수이면 "입력하신 숫자는 홀수입니다."라고 출력하고 홀수가 아니면 "입력하신 숫자는 짝수입니다."라고 출력하는 프로그램을 작성해보자.
Scanner sc = new Scanner(System.in);		
System.out.print("정수 하나 입력하세요 : ");
int num = sc.nextInt();
		 
  if(num % 2 != 0) {
        System.out.println("입력하신 정수는 홀수입니다.");
	} else {
		System.out.println("입력하신 정수는 짝수입니다.");
  }
		System.out.println("프로그램을 종료합니다.");		
}




-if - else 문 중첩 예제


  • 숫자를 하나 입력 받아 양수이면 "입력하신 숫자는 양수입니다."라고 출력하고, 음수이면 "입력하신 숫자는 음수입니다." 출력해보자. 단, 0이면 "0입니다."라고 출력
Scanner sc = new Scanner(System.in);
System.out.print("정수를 하나 입력하세요 : ");
int num = sc.nextInt();
		
if(num != 0) { 0인지 아닌지 조건 확인
			
	if(num > 0) { 0이 아닌 경우 양수인지 음수인지 조건 확인
		System.out.println("입력하신 숫자는 양수입니다.");
	} else {
		System.out.println("입력하신 숫자는 음수입니다.");
	}
	} else { 0인 경우 출력할 내용
		System.out.println("입력하신 숫자는 0입니다.");
	}

if ~ else, if ~ else문

 


if(조건1){
} else if(조건식2){
} else {
}
: 조건식1의 결과 값이 true면 if 안의 내용 실행
  조건식2의 결과 값이 true면 else if 안의 내용 실행
  모두 false면 else안의 내용 실행

 

 

if ~ else, if ~ else문 예제


  • 김교수님은 학생 시험 성적을 수기로 계산해서 학점 등급을 매기는 채점 방식을 사용하고 있다.90점 이상이면 'A', 80점 이상이면 'B', 70점 이상이면 'C', 60점 이상이면 'D'를 60점 미만인 경우에는 'F'를 학점 등급으로 하는 기준이다. 추가로 각 등급의 중간 점수(95, 85, 75, ...) 이상인 경우 '+'를 붙여서 등급을 세분화 한다.학생의 이름과 점수를 입력하면 자동으로 학점 등급이 계산 되는 프로그램을 만들어 보자.
● 학생의 등급을 저장하기 위한 변수 초기화
String grade = "";
		
● 학생의 이름과 점수 입력 받기
Scanner sc = new Scanner(System.in);
System.out.print("학생의 이름을 입력하세요 : ");
String name = sc.nextLine();
System.out.print("학생의 점수를 입력하세요 : ");
int point = sc.nextInt();
		
if(point >= 90) {
	grade = "A";
} else if(point >= 80) {
	grade = "B";
} else if(point >= 70) {
	grade = "C";
} else if(point >= 60) {
	grade = "D";
} else {
	grade = "F";
}		
● 각 등급의 중간 점수 이상이면서 60점 이상인지 확인, 100점인 경우도 '+'가 붙도록 
if(point % 10 >= 5 && point >= 60 || point == 100) {
	grade += "+";
    }
    System.out.println(name + " 학생의 점수는 " + point + "이고, 등급은 " + grade + "입니다.");
	}

 

 


switch문

 


  • 조건식 하나로 많은 경우의 수를 처리할 때 사용하며, 이때 조건식의 결과는 정수 또는 문자, 문자열 비교 가능
  • 조건식의 결과 값과 일치하는 case문으로 이동
  • default문은 일치하는 case문이 없을 때 수행(=else)
switch(num % 5){
case 1:
      team = "1조";
       break;       
case 2:
       team = "2조";
       break;              
case 3:
      team = "3조";
       break;              
case 4:
       team = "4조";
       break;              
default:
       team = "다시";
 }

 

System.out.println("========== vending machine ==========");
System.out.println("  사이다   콜라  환타  박카스  핫식스  ");
System.out.println("================================");
System.out.print("음료를 선택해주세요 : ");
      
Scanner sc = new Scanner(System.in);
String selectedDrink = sc.nextLine();
		
● 원하는 음료에 맞는 가격을 저장할 변수
	int price = 0;
        
    switch(selectedDrink) {
	case "사이다" :
		price = 500;
		break;
	case "콜라" :
		price = 600;
		break;
	case "환타" :
		price = 700;
		break;
	case "박카스" :
		price = 1000;
		break;
	case "핫식스" :
		price = 2000;
		break;
		}
		System.out.println(selectedDrink + "를 선택하셨습니다.");
		System.out.println(price + "원을 투입해주세요!");
	}
반응형