용어/Differences by language

[Python/Java/Js] 연산자 비교

줌인. 2024. 6. 25. 10:31
  python 자바 자바스크립트
산술 연산자 +, -, *, /, %, //, ** +, -, *, /, % +, -, *, /, %
비교 연산자 ==, !=, >, <, >=, <= ==, !=, >, <, >=, <= ==, ===, !=, !==, >, <, >=, <=
논리연산자 and, or, not &&, ||, ! &&, ||, !

 

[언어별 '/' : 이해하기]

python 자바 자바스크립트
- 항상 부동소수점(float) 결과를 반환 - 피연산자가 정수 타입이면 정수 나눗셈을 수행하여 정수 결과를 반환
- 부동소수점 결과를 원할 경우
   형 변환이 필요
- 항상 부동소수점(float) 결과를 반환

 

1️⃣ python : java와 다르게 int형 타입이 아닌 float, double 타입 그 자체로 계산 됨 ex) 0.75

         #단순 사칙 연산
         a = 3
         b = 4
         print(a / b) #java와 다르게 int형 타입이 아닌 float, double 타입이 나온다
         print(a % b) #3이 4로 나누어지지 않기 때문에 나머지 3

 

2️⃣ JAVA : int 타입만을 반환하기 때문에 소수점 자리는 가져오지 않음 ex) 0 

public static void main(String[] args) {
    int a = 3;
    int b = 4;
    System.out.println(a / b); // 결과는 0, 정수 나눗셈

    // 부동소수점으로 결과를 얻기 위해서는 형 변환이 필요
    System.out.println((double) a / b); // 결과는 0.75, 부동소수점(double) 타입
}

 

3️⃣ JS : 파이썬과 동일하게 피연산자가 정수든 부동소수점수든 상관없이 항상 부동소수점수(float)로 결과를 반환

let a = 3;
let b = 4;
console.log(a / b); // 결과는 0.75, 부동소수점(float) 타입

 

 

 

[python_// : 이해하기]

- 정수 나눗셈(버림 나눗셈) 연산자로, 결과는 나눗셈 후 소수점을 버린

        # 정수 나눗셈
        result1 = 10 // 3  # 결과는 3
        result2 = 10 // 4  # 결과는 2

        # 실수 나눗셈
        result3 = 10.5 // 3  # 결과는 3.0 (소수점을 버림)
        result4 = 10 // 3.3  # 결과는 3.0 (소수점을 버림)

 

 

 

[python_** : 이해하기]

- 거듭 제곱을 계산할 때 사용

        # **연산자 == 제곱 연산자
        a = 3
        b = 4
        print(a ** b)  #3^4 == 81

 

 

 

[js_=== : 이해하기]

- 엄격한 동등 비교 (자료형, 값 모두 동일)

=== 연산자 == 연산자
두 값의 자료형과 값이 모두 같을 때 true를 반환 두 값이 같은 값으로 간주될 때 true를 반환
// 엄격한 동등 비교 (===)
console.log(5 === 5);         // true (같은 값, 같은 타입)
console.log(5 === '5');       // false (같은 값, 다른 타입)
console.log(true === 1);      // false (같은 값으로 간주될 수 있지만, 다른 타입)
console.log(null === undefined); // false (다른 타입)

// 느슨한 동등 비교 (==)
console.log(5 == 5);          // true (같은 값, 같은 타입)
console.log(5 == '5');        // true (다른 타입이지만 자동 변환 후 같은 값)
console.log(true == 1);       // true (자동 변환 후 같은 값)
console.log(null == undefined); // true (특별한 경우로, 둘 다 "비어 있음"을 나타냄)

※ 자바스크립트의 === 연산자는 자바의 String 클래스에서 오버라이딩된 equals 메서드와 비슷한 개념

728x90