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 자료형으로 결과가 리턴된다.

언어마다 기능이 비슷하면서도 살짝씩 이러한 차이들이 존재하기 때문에, 코드를 짜기전에 한번 꼭 확인을 해보는 것이 좋다. 여러 언어로 개발을 하다보면 이런 사소한 차이들이 알게모르게 버그로 잡히는 경우가 존재하기 때문입니다.

저도 파이썬만 주언어로 개발하다 보니.. 포스팅을 쓰기전까진 / 연산자가 이렇게 다르게 동작하는 지 모르고있었습니다.

댓글남기기