개발공부 2023 ~03~13

3일차 복습 (내포된 if문,return문,switch문)

주우동 2023. 3. 15. 22:51

내포된 if 문 (if문안의 if문)

		//내포된 if문 
		// if 또는 else 구문은 if문을 포함할수있다.
		
		//성적이 60점 이상이면 합격
		//60점 미만이면 불합격
		//95점 이상이면 장학급 지금 및 합격
		//주의 할점으론 if else 문을 구분할때 모든경우의 수가 나올수 있어야한다. 
		
		int score = 40;
		if (score>=60) {
			System.out.println("합격입니다.");
				if (score>=95) {
					System.out.println("장학금 직급대상입니다.");
				}
		}else {
			System.out.println("불합격입니다.");
				if(score<40) {
					System.out.println("재 응시기회가 박탈되었습니다.");
				}

return문

/*
		 * 빠른 종료
		 * 빠른 종료는 return 키워드나 throw 키워드를 이용해서 나쁜경우를 만나면 메소드의 실행을
		 * 즉시 중단시킨다. 빠른 종료를 활용하면 if문의 구조를 단순화 시킬수 있고 다양한 조건이 내표된 코드를 작성할수있게 된다.
		 * 빠른 종료를 활용한 코드는 제어문의 구조가 단순하고 코드 가독성이 높아지고 유지보수도 쉽다.
		 *국어 영어 수학 성적으로 합격 여부판단
		 *평균 60점 이상이면 합격 미만 불합격
		 *국어 영어 수학 과학 중에 한과목이라도 40점 미만이면 불학격
		 *
		 *else 를 두번쓸수도 있네 ? 이건 몰랐다.
		 */
		int kor = 90;
		int meth = 100;
		int eng = 100;
		
		if ((kor<40)||(meth<40)||(eng<40)) {
			System.out.println("불합격입니다.");
			return;
		}
		int total = kor+meth+eng; //여긴 전역변수인가 아님 지역변수인가 모르겠다,,
		int avg = total/3;
		
		if (avg>=60) {
			System.out.println("합격입니다.");
			if (avg>=95) {
				System.out.println("장학급 지급대상입니다.");
			}
			return;
		}else {
			System.out.println("불합격입니다.");
		}

switch문

/*switch문 
		 * 			switch(값){
		 * 				case 값1:
		 * 					수행문1;
		 * 					break;
		 * 				case 값2:
		 * 					수행문2;
		 * 					break;
		 * 				case 값3:
		 * 					수행문3;
		 * 					break;
		 * 				default:
		 * 					수행문4;
		 * 
		 * }
		 * 값의 타입은 실수, 정수 , 문자 , 문자열 , enum만 가능하다. 
		 */
		
		
		String tier = "gold";
		int orderAmount = 1000;
		double dp = 0;
		switch(tier) {
		case "gold":
				dp = 0.05;
				break;
		case "silver" :
				dp = 0.03;
				break;
		case "bronze" :
				dp = 0.01;
				break;
		default:
				dp = 0.001;
		}
		int point = (int)(orderAmount*dp);
		System.out.println("고객등급"+tier+"입니다");
		System.out.println("적립률"+dp+"입니다");
		System.out.println("구매금액"+orderAmount +"입니다");
		System.out.println("포인트"+point+"입니다");
	}
}

◆변수의 선억 폭은 좁게 사용하는 것이 일반적으로 좋지만 상황에 따라 변수의 범위를 결정해야된다.

◆초보자는 코드리뷰를 하며 한줄한줄 어떤 의미인지 주석을 달아가면서 분석해보는 것도 굉장히 중요한 효과적인 
코딩배우기방법중 하나이다.