이것저것
[2020 모각코] 3회차(2020.07.07.) 본문
# 3회차 목표: 컴프 5주차 때 했던 형변환과 조건문 복습, 해당 주차의 과제를 다시 하고 전에 했던 과제와 비교
형변환
1. 문자(string) ▶ 정수(int)
int (변수) = Integer.parseInt(문자);
int (변수) = Integer.valueOf(문자);
2. 문자(string) ▶ 정수(long/short)
long (변수) = Long.parseLong(문자);
short (변수) = Short.parseShort(문자);
3. 정수(int) ▶ 문자(string)
(변수) = String.valueOf(정수);
(변수) = Integer.toString(정수);
(변수) = ""+(정수);
4. 실수(double/float) ▶ 문자(string)
(변수) = String.valueOf(실수);
(변수) = Float.toString(실수);
(변수) = Double.toString(실수);
5. 정수(int) ◀▶ 실수(double/float)
정수 앞에 (double)을, 실수 앞에 (int)를 붙이면 서로 변환이 가능하다.
조건문
1. if문
: 조건식이 참으로 계산되면 해당 문장이 실행되고 거짓으로 계산 되면 else의 문장이 실행된다.
if-else문 안에 다른 if문이 삽입되는 경우 이를 중첩 if문이라고 부르며, else절은 가장 가까운 if와 매칭된다.
(if와 else를 확실하게 매칭시키고 싶을 경우 중괄호{,}를 사용한다.)
조건이 여러 개라 조건식이 분기될 경우 위의 예시와 같이 if 다음에 else if를 사용하여 뒤를 잇는다.
2. switch문
: switch문은 여러 개의 가능한 실행 경로 중에서 하나를 선택하는 데 사용된다.
+) break를 없애면 그 문장을 실행하고 멈추는 것이 아니라 그다음 문장을 계속 실행하게 된다.
5주차 과제: 사용자의 키와 몸무게를 입력받아 저체중, 표준, 과체중 판단
표준체중 = (키-100) * 0.9, 표준체중의 ± 10%인 경우 정상이고 그 이상이나 이하이면 과체중 또는 저체중
import java.util.Scanner;
public class WEEK5 {
public static void main(String[] args) {
int height =0;
int weight;
Scanner input = new Scanner(System.in);
System.out.print("키를 입력하세요 : ");
height = input.nextInt();
System.out.print("몸무게를 입력하세요 : ");
weight = input.nextInt();
double standard = (height-100)*0.9;
if ((weight>standard*(0.9))&&(weight<standard*(1.1)))
System.out.print("당신은 표준체중입니다.");
else if (weight<=standard*(0.9))
System.out.print("당신은 저체중입니다.");
else if (weight>=standard*(1.1))
System.out.print("당신은 과체중입니다.");
}
}
학기 중 제출했던 과제와 실행 결과
: 예전에 했던 과제를 살펴보니 다른 부분은 큰 차이가 없었지만 표준 체중 계산식을 다른 변수로 두지않고 반복해서 적어놓은 것이 눈에 띄었다. 계산식을 변수로 두는 것이 얼마나 코드의 길이를 단축하는데 도움이 되는지 아직 잘 와닿지 않았던 때라서 문제 해결에만 중점을 두었던 것이 원인인 것 같다. 또, 논리적 AND인 &&가 아닌 비트별 AND인 &를 사용한 부분을 발견했는데 이번에는 제대로 &&를 사용하여 실수를 수정했다.
3회차 회고록
: 해당 주차 강의에서 형변환에 대한 것은 자세하게 다루지 않았어서 실수와 정수를 (int) 또는 (double)을 통해 변환하는 것 이외에는 잘 모르고 있었는데 이번에 형변환에 대해 더 찾아보면서 다른 자료형은 어떻게 변환을 하는지 배울 수 있었다. 과제를 다시 할 때에는 지난번에 했던 과제를 비교하는 과정에서 전에는 찾지 못했던 오류를 발견할 수 있었다. 작은 오류였지만 이번에 발견하지 못했더라면 어쩌면 계속 몰랐을 것이고 어쩌면 다음에 같은 실수를 했을지도 모른다는 생각을 하니 조금 아찔했다. 어렵고 많은 내용을 하고 있는 것은 아니지만 회차를 거듭할수록 이렇게 사소한 것들을 조금 더 알게 되고 수정할 수 있게 된다는 것도 꽤나 의의가 있는 것 같다는 생각이 든다.
'2020 하계 모각코' 카테고리의 다른 글
[2020 모각코] 6회차(2020.07.16.) (0) | 2020.07.16 |
---|---|
[2020 모각코] 4회차(2020.07.09.) (0) | 2020.07.09 |
[2020 모각코] 2회차(2020.07.02.) (0) | 2020.07.02 |
[2020 모각코] 1회차(2020.06.30.) (0) | 2020.06.30 |
[2020 모각코] 목표 및 회차별 계획 (0) | 2020.06.19 |