Casting
python 과 java 를 비교하는 형식으로 Java Casting 방법에 대해 포스팅한다.
숫자를 문자로
01. Integer -> String
-
python
-
a = 123 b = str(a) print(b) // "123"
-
-
java
-
int a = 123; // solution 1 String b = String.valueOf(a); // solution 2 String b = Integer.toString(a); System.out.println(b); // "123"
-
02. Float -> String
-
python
-
a = 123.0 b = str(a) print(b)
-
-
java
-
Double a = 123.0; // solution 1 String b = String.valueOf(a); // solution 2 String b = Double.toString(a); System.out.println(b);
-
문자를 숫자로
String -> Integer
-
python
-
a = '123' b = int(a) print(b)
-
-
java
-
String a = "123"; // solution 1 int b = Integer.parseInt(a); // solution 2 double b = Double.parseDouble(a); System.out.println(b);
-
Operator
python 과 java의 연산자 차이가 약간 존재합니다.
%
: 나머지//
: 몫
expression | python | java |
---|---|---|
4 + 2 | 6 | 6 |
4 - 2 | 2 | 2 |
4 * 2 | 8 | 8 |
4 / 2 | 2.0 | 2 |
5 / 2 | 2,5 | 2 |
2 / 4 | 0.5 | 0 |
4 % 2 | 0 | 0 |
5 % 2 | 1 | 1 |
4 // 2 | 2 | 2 |
5 // 2 | 2 | 2 |
위 도표에서 보면
/
나누기 연산을 할때, python은 float 자료형으로 변환되어 소수점이 표기되는데
반면 java 에서는 소수점을 버리고 Integer 자료형으로 결과가 리턴된다.
언어마다 기능이 비슷하면서도 살짝씩 이러한 차이들이 존재하기 때문에, 코드를 짜기전에 한번 꼭 확인을 해보는 것이 좋다. 여러 언어로 개발을 하다보면 이런 사소한 차이들이 알게모르게 버그로 잡히는 경우가 존재하기 때문입니다.
저도 파이썬만 주언어로 개발하다 보니.. 포스팅을 쓰기전까진 /
연산자가 이렇게 다르게 동작하는 지 모르고있었습니다.
댓글남기기