개발공부 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+"입니다");
}
}
◆변수의 선억 폭은 좁게 사용하는 것이 일반적으로 좋지만 상황에 따라 변수의 범위를 결정해야된다.
◆초보자는 코드리뷰를 하며 한줄한줄 어떤 의미인지 주석을 달아가면서 분석해보는 것도 굉장히 중요한 효과적인
코딩배우기방법중 하나이다.