JAVA

[JAVA]3. 조건문

CodeJaram 2023. 5. 30. 23:40

[JAVA]조건문

 

  1. 조건문(137p.)
  • 단순 IF문: if (조건식) {실행문장}

 

//예제1. 정수를 입력받아 20보다 크거나 같으면
//"성인입니다."출력하기
	
	
Scanner scan = new Scanner(System.in);
	 
System.out.print("나이 입력: "); 
int age = scan.nextInt(); 
	  
if (age >=20) {
System.out.println("성인입니다."); }

 

  •  IF-ELSE문: if (조건식) {실행문장1} else{실행문장2}

//예제2.정수를 입력받아 홀수인지 짝수인지 판별하세요.
		
Scanner scan = new Scanner(System.in);
		
System.out.print("정수 입력: ");
int num = scan.nextInt();
		
		
if (num%2==0) {
System.out.println("짝수입니다!");
} else {
System.out.println("홀수입니다!");
}

 

  • 다중IF문 : 다수의 조건문을 차례대로 실행하여 조건을 만족하는 실행문장 출력

       if (조건식 1) { 실행문장 1;} else if (조건식 2) {실행문장2;}  else if (조건식 3) {실행문장3;} 

       (선택 ) else {실행문장}--조건을 모두 만족하지 않을 떄 실행

 

      조건을 2개 이상 충족할 경우 가장 먼저 만족하는 조건의 실행문장만 출력됨

      그 다음 조건의 실행문장은 검사하지 않음

 

    -else if, else는 단독사용할 수 없음

    -else 조건입력하지 않고 실행문장만 작성한다.

    -else if는 if조건이 거짓일때만 실행



[예제3]

Scanner scan = new Scanner(System.in);

System.out.print("점수를 입력하세요: ");
int totalScore = scan.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 if (totalScore < 70) {
System.out.println("D학점입니다.");
}
 }

*~이상, ~이하의 조건을 작성하려면 AND연산자(&&)를 활용하여 작성한다.

예)totalScore>=80 && totalScore<90

 

  • SWITCH 문

      switch(식) { //값이 나오는 식만 가능. 연산식, 변수(O)/ 비교하는 식(x)

         case 값1: 실행문장 1

              break;

         case 값2: 실행문장 2

              break;

         default: 실행문장 3 //조건을 벗어난 나머지 경우의 수

              break;}

            

예)num1+num2=2일 때 실행문장 출력

 

* case 뒤에 오는 실행문장의 개수는 제한이 없다.(break문이 나오기 전까지 모두 실행된다.)

* 3개의 case 모두 같은 실행문장을 출력하고자 할 때 각각 실행문장을 뒤에 써주지 않고

   case 여러 개 쓰고 실행문장 1 출력하는 방식도 가능

    예) case 값1 : case 값2: case 값3:

         실행문장1

 

 

 


[예제4]

 

// 계절 알려주기
		
		
		Scanner scan = new Scanner(System.in);
		
		System.out.print("월 입력: ");
		int month = scan.nextInt();
		
		
		switch (month) {
		
		//OR은 ,로 표현 AND는 X(값은 중복불가)
		case 12, 1, 2 : 
		System.out.println(month+"는 겨울입니다.");
		
		break;
		
		case 3,4,5:
			System.out.println(month+ "는 봄입니다.");
		
		break;
		
		case 6,7,8:
			System.out.println(month+"는 여름입니다.");
		
		break;
		
		case 9,10,11 :
			System.out.println(month+"는 가을입니다.");
		break;
		}




[심화]자판기 프로그램

 

Scanner scan = new Scanner(System.in);
		
		System.out.println("금액을 입력하세요");
		int money = scan.nextInt();
		
		System.out.println("메뉴를 고르세요");
		System.out.print("1. 콜라(800원) 2. 생수(500원) 3. 비타민워터(1500원)>>");
		
		int menu = scan.nextInt();
		
		
		switch (menu) {
		
		case 1: 
			if(money<800) {
				System.out.println("돈이 부족합니다.");
			}
			
		System.out.println(money<800 ? "잔돈: " + money +"원": "잔돈:" +(money-800)+"원" );
		
		//천원, 오백원, 백원 개수 출력하기
		int change1 = (money-800); 
		int th1 = change1/1000;
		int fi1 = (change1-(th1*1000))/500;
		int te1 = (change1-(th1*1000)-(fi1*500))/100;
		
		System.out.println("천원: "+ th1 +"개");
		System.out.println("오백원:"+fi1+"개" );
		System.out.println("백원: " +te1 +"개" );
		
		break;
		
		
		case 2:
			if(money<500)
				System.out.println("돈이 부족합니다.");
		
			System.out.println(money<500 ? "잔돈: " +money +"원": "잔돈:" +(money-500)+"원");
		
			//천 원, 오백원, 백원 개수
			int change2 = (money-500); 
			int th2 = change2/1000;
			int fi2 = (change2-(th2*1000))/500;
			int te2 = (change2-(th2*1000)-(fi2*500))/100;
			
			System.out.println("천원: "+ th2 +"개");
			System.out.println("오백원:"+fi2+"개" );
			System.out.println("백원: " +te2 +"개" );
			break;
		
		case 3:
			if(money<1500)
				System.out.println("돈이 부족합니다.");
			System.out.println(money<1500 ? "잔돈: " +money +"원": "잔돈: " + (money-1500)+ "원");
			
			
			//천원, 오백원, 백원 개수 구하기
			int change3 = (money-1500); 
			int th3 = change3/1000;
			int fi3 = (change3-(th3*1000))/500;
			int te3 = (change3-(th3*1000)-(fi3*500))/100;
			
			System.out.println("천원: "+ th3 +"개");
			System.out.println("오백원:"+fi3+"개" );
			System.out.println("백원: " +te3 +"개" );
		break;
		
		default :
		System.out.println("없는 메뉴입니다.");
		
		break;
		
		
		
		
		
		}




[단축키]

ctrl+shift+F 코드 정렬

ctrl+ / 주석처리

 

'JAVA' 카테고리의 다른 글

[JAVA]6. 중첩 for문  (0) 2023.06.05
[JAVA]5. 반복문(FOR문)  (0) 2023.06.01
[JAVA]4. 반복문(while문)  (0) 2023.05.31
[JAVA]2. 연산자의 종류  (0) 2023.05.29
[JAVA]1.입출력  (0) 2023.05.28