본문 바로가기

반응형

형 변환

[Java] 이것이 자바다 3장 확인 문제 9 : 반지름 10인 원의 넓이 구하는 코드 수정하기 Q9. 반지름이 10인 원의 넓이를 구하는데 다음과 같이 var2, ".", var3을 + 연산해서 원주율을 얻은 다음 계산하려고 합니다. 올바른 결과가 나오도록 코드를 수정해보세요. 원의 넓이 구하는 공식 : 반지름 * 반지름 * 3.14(원주율) 이 문제는 var2 , "." , var3 을 원주율(파이) 3.14로 만드는 것이다. int를 string으로 바꿔주면 이렇게 3.14라는 값이 나오는 것을 볼 수 있다. 그걸 다시 Double.paseDouble로 형 변환을 해 주어 숫자로 만들어준다. 그러면 계산이 가능해진다. 더보기
[Java] 이것이 자바다 2장 확인 문제 4 : 연산 수행 후 int형으로 변환하기 우선 여기서는 result 를 출력했을때 나와야하는 값은 '9'인데, '9'를 만들기 위하여 어떻게 + 연산을 해야 할지를 먼저 생각해봐야할것 같습니다. 일반적으로 (컴퓨터가 아닌 그냥 사칙연산을 사용하면) ' 2 + 1.8 + 2.8 + 3.9 = 10.2 ' 가 됩니다. 그럼 여기서 9를 만들려면 어떻게 해야 할까요? '2 + 1.8 + 2.8 = 6.3' 이 되니까 덧셈을 한 후 뒤 소수점을 버리고 정수를 만든 후, 남은 3.9를 정수를 만들어 더하면 될 것 같습니다. 우선 long, float, double을 전부 int로 묶어 + 연산을 해줍니다. 그리고 string 값을 double로 형 변환 합니다. (실수라서 double로 바꾸어 보았어요.) 그리고 원래 하려고 했던 것 처럼 int로 변환.. 더보기
[Java] 이것이 자바다 2장 확인 문제 3 : 실수 덧셈 연산 후 소수점 이하 자리 버리기 먼저 연산을 한 후 소수점 이하 자리를 버리는 것이라서 double을 int로 형 변환 하기 전에 먼저 계산을 합니다. int는 정수(소수점X), double은 실수(소수점O)을 사용하기 때문에 잘 기억해야 합니다. 계산 후 int로 형 변환을 해주면 int가 소수점 자리는 필요없다고 던져버리면서 '6'이 되게 됩니다. 만약 int가 아니고 double로 계산을 하게 되면 어떻게 될까요? 아까 말씀드린것과 같이 double은 소수점을 사용하기 때문에 출력값에도 소수점이 나오게 되어있죠. 연산을 하기 전 먼저 int로 변환을 하게 되면 var1 = 3.5가 소수점을 날려버리면서 3이 되고, var2 = 2.7가 소수점을 날려버리면서 2가 되어 답이 5가 되어 조금 달라지게 되겠죠? 순서를 잘 살피기! 더보기
[Java] 이것이 자바다 2장 확인 문제 2 : 실행 결과 b 출력하기 char(캐릭터형)의 유니코드를 알아보는 방법은 Int형으로 변환을 시켜보는 것이다. char c1 = 'a'; 를 int형으로 변환시켜보면 int b = (int)(c1); 으로 97(유니코드)인것을 확인할 수 있다. 이 문제는char c2 = c1+1;을 계산할 때 c1('a')을 int형으로 바꾸어 상수 1과 연산작업을 한 후 다시 int 형을 char 형으로 변환하여 'b'를 출력할 수 있게 하는 것이다. 위 내용이 짧게 되어있어서 이해가지 않는 분들을 위하여 길게 주석처리 하여 정리해놓았어요. char -> int로 변환 후 계산. 계산 된 int->char 로 다시 변환 하면 'b'를 출력할 수 있음. * 여기서 주의사항! 이렇게 형 변환을 할때는 소문자를 사용! * 더보기

반응형