반응형
이전 글
5장. 계산을 하고 싶어요
직접해봅시다.
public class SalaryManager {
// 월 급여
public double getMonthlySalary(int yearlySalary) {
double monthSalary = yearlySalary / 12.0;
double tax = calculateTax(monthSalary);
double nationalPension = calculateNationalPension(monthSalary);
double healthInsurance = calculateHealthInsurance(monthSalary);
double taxCredit = tax + nationalPension + healthInsurance;
return monthSalary -= taxCredit;
}
// 근로소득세
public double calculateTax(double monthSalary) {
double tax = monthSalary * (12.5/100);
System.out.println("tax : " + tax);
return tax;
}
// 연금
public double calculateNationalPension(double monthSalary) {
double nationPension = monthSalary * (8.1/100);
System.out.println("nationalPension : " + nationPension);
return nationPension;
}
// 건강보험료
public double calculateHealthInsurance(double monthSalary) {
double healthInsurance = monthSalary * (13.5/100);
System.out.println("healthInsurance : " + healthInsurance);
return healthInsurance;
}
public static void main(String[] args) {
SalaryManager manager = new SalaryManager();
System.out.println(manager.getMonthlySalary(20000000));
}
}
정리해봅시다.
- 값을 할당할 때 사용하는 연산자의 기호는 무엇인가요?
= (대입 연산자) - 기본적인 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지를 계산할 때 사용하는 연산자의 기호는 무엇인가요?
+(덧셈), -(뺄셈), *(곱셈), /(나눗셈), %(나머지) - +=는 무엇을 할 때 사용하는 연산자인가요?
+=는 기존 변수에 저장되어 있던 값과 += 뒤에 오는 값을 더해서 변수에 저장한다. - 여러분들이 연산의 순서를 모르거나 확실히 하고 싶을 때에는 어떤 기호를 사용해야 하나요?
괄호 - ==와 !=의 차이는 무엇인가요?
== 는 같다, !=는 다르다. - <와 <=의 차이는 무엇인가요?
A < B는 A가 B보다 작다. A <= B는 A가 B보다 작거나 같다. - ! 연산자는 어떤 타입에 사용할 수 있나요?
boolean - ? :로 표시하는 삼항 연산자의 ?와 : 뒤에 명시해 주는 값은 무엇을 의미하나요?
조건 ? true 일 때 대입되는 값 : false일때 대입되는 값 - 자바는 형 변환을 한다고 했는데, short의 값을 long에 할당할 때에는 어떤 것을 해 주어야 하나요?
아무것도 안해도 됨 - 반대로 long 값을 short에 할당할 때에는 어떤 것을 해 주어야 하나요?
명시적 형변환 - 9와 10의 경우 중 어떤 경우가 기존 값이 사라지고, 엉뚱한 값으로 바뀔 수 있나요?
범위가 넓은 long 타입의 값을 short로 형변환 할 경우 엉뚱한 값으로 바뀔 수 있다.
6장. 제가 조건을 좀 따져요
직접해봅시다.
public class InterestManager {
public double getInterestRate(int day) {
if( day <= 90 ) return 0.5;
else if( day <= 180 ) return 1.0;
else if( day <= 364 ) return 2.0;
else return 5.6;
}
public double calculateAmount(int day, long amount) {
double rate = getInterestRate(day);
double resultRate = amount * (rate/100);
return amount + resultRate;
}
public static void main(String[] args) {
InterestManager manager = new InterestManager();
for(int i = 10; i <= 370; i+=10) {
double result = manager. calculateAmount(i, 1000000);
System.out.println("day : " + i + " amount : " + result);
}
}
}
정리해봅시다.
- if 문장의 소괄호 안에는 어떤 형태의 결과가 제공되어야 하나요?
boolean - if 조건에 맞지 않는 모든 경우를 처리할 때 사용하는 예약어는 뭔가요?
else - switch를 사용할 수 있는 기본 자료형의 타입에는 어떤 것들이 있나요?
long 타입을 제외한 정수형 타입, Enum, String - switch 블록 안에서 비교 대상값 앞에 사용하는 예약어는 무엇인가요?
case - switch 조건을 빠져나가도록 하는 예약어는 무엇인가요?
break - switch 조건들에 맞지 않을 때 기본 처리를 하기 위한 예약어는 무엇인가요?
default - while문의 소괄호 안에는 어떤 형태의 결과가 제공되어야 하나요?
boolean - while문을 무조건 한번은 실행하게 하려면 어떻게 해야 하나요?
do-while 사용 - while문을 마음대로 빠져나가게 하려면 어떤 예약어를 사용하면 되나요?
break - while문 중간에 while문의 소괄호 점검 구문으로 건너뛰도록 할 때 사용하는 예약어는 무엇인가요?
continue - for 루프의 소괄호 안의 가장 첫 구문(첫 세미콜론 앞의 문장)은 for 루프가 수행되는 동안 몇 번 수행되나요?
한 번 - for 루프의 소괄호 안의 중간에 있는 구문은 어떤 타입의 결과가 제공되어야 하나요?
boolean - for 루프의 소괄호 안의 마지막에 있는 구문에서는 어떤 작업을 수행해야 하나요?
조건값을 증감시킴
반응형