[1주차] Java 기초 예습 - (2)

서연·2025년 4월 10일

Java

목록 보기
2/36

1. 연산자

1. 연산자와 피연산자 구별

  • 연산자 : 연산을 수행하는 기호 ex) *, +
  • 피연산자 : 연산자의 연산 수행 대상 ex) 9, 3, x
  • 모든 연산자는 연산결과를 반환

2. 연산자의 종류

3. 연산자 우선순위

  • 산술 > 비교 > 논리 > 대입

  • 단항 > 이항 > 삼항

  • 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행 방향은 왼쪽에서 오른쪽

2. 증감 연산자와 부호 연산자

1. 증감 연산자

  • 증가 연산자(++) : 피연산자의 값을 1 증가 시킴
  • 감소 연산자(--) : 피연산자의 값을 1 감소 시킴
  • 증감 연산자가 독립적으로 사용된 경우, 전위형과 후위형의 차이는 없음

2. 부호 연산자

  • '-'는 피연산자의 부호를 반대로 변경

  • '+'는 아무런 일도 하지 않음(실제로 사용X)

3. 형변환 연산자와 자동 형변환

1. 형변환 연산자

  • 형변환 : 변수 또는 상수의 타입을 다른 타입으로 변환하는 것
class Main {
    public static void main(String[] args) {
      int i = 65;
        System.out.println((char)65); // A
    }
}

2. 자동 형변환

  • float f = 1234; => int 타입의 값을 float타입의 변수에 저장

    • int 타입이 float 타입 보다 크기가 작기 때문에 가능
    • '1234'앞에 (float)가 생략 되어있는 형태로 컴파일러에 의해 자동으로 형변환이 된 모습
  • int i = 3.14f => 큰 타입을 작은 타입에 저장했으므로 에러 발생
    - int i = (int)3.14f => 수동으로 형변환을 시켜줘야함

4. 사칙 연산자와 산술변환

1. 사칙 연산자

  • 덧셈(+) 뺄셈(-) 곱셈(*) 나눗셈(/)
class Main {
    public static void main(String[] args) {
        int a = 10, b = 4;

        System.out.println(a + b); // 14
        System.out.println(a - b); // 6
        System.out.println(a * b); // 40
        System.out.println(a / b); // 2
        System.out.println(a / (float)b); // 2.5
    }
}

2. 산술변환

  • 연산 전에 피연산자의 타입을 일치 시키는 것을 의미

    1. 두 피연산자의 타입을 같게 일치 시킴(보다 큰 타입으로 일치)

    • long + int -> long + long => long
    • float + int -> float + float => float
    • double + float -> double + double => double

    2. 피연산자의 타입이 int 보다 작은 타입이면 int로 변환

    • byte + short -> int + int => int
    • char + short -> int + int => int

5. Math 클래스와 나머지 연산자

1. Math : 수학과 관련된 메서드를 가지고 있는 클래스

  • 매서드는 특정한 기능을 수행하기 위해 코드로 작성된 단위
    • round() : 실수를 소수점 첫 째자리에서 반올림한 정수를 반환
    • ceil() : 올림값을 double 형으로 반환
    • floor() : 내림값을 double 형으로 반환
    • abs() : int, double 기본형 모두 사용 가능하며 절대값을 얻음

2. 나머지 연산자 %

  • 오른쪽 피연산자로 나누고 남은 나머지를 반환

  • 나누는 피연산자는 0이 아닌 정수만 허용

  • 부호는 무시

6. 비교 연산자와 문자열의 비교

1. 비교 연산자

  • 두 피연산자를 비교해서 true 또는 false를 반환

2. 문자열의 비교

  • 문자열 비교에는 == 대신 equals()를 사용해야함
    • equals : 비교하고자 하는 두 피연산자의 값 자체를 비교
    • == : 비교하고자 하는 두 피연산자의 주소값을 비교

7. 논리 연산자와 비트 연산자

1. 논리 연산자

class Main {
    public static void main(String[] args) {
        boolean reusult5, result6;

        int num = 10;
        // num 은 2의 배수 그리고 3의 배수이다.
        reusult5 = num % 2 == 0 && num % 3 == 0;
        System.out.println("num 은 2의 배수 그리고 3의 배수 = " + reusult5); // false

        // num 은 2의 배수 또는 3의 배수이다.
        result6 = num % 2 == 0 || num % 3 == 0;
        System.out.println("num 은 2의 배수 또는 3의 배수 = " + result6); // true
    }
}

2. 비트 연산자

  • 비트 연산자는 값을 비트 단위로 연산
  • 0과 1로 표현이 가능한 정수형이나 형변환이 가능한 자료형만 연산이 가능

8. 조건 연산자와 대입 연산자

1. 조건 연산자

  • 삼항 연산자 : 조건식 ? 반환값1: 반환값2
class Main {
    public static void main(String[] args) {
        int num1 = 5, num2 = 7;
        int result;

        result = num1 - num2 > 0 ? num1 : num2;

        System.out.println("두 정수 중 더 큰 수는 " + result + "입니다."); // 7
    }
}

2. 대입 연산자

class Main {
    public static void main(String[] args) {
        int num1 = 7, num2 = 7, num3 = 7;

        num1 = num1 - 3;
        num2 -= 3;
        num3 =- 3;

        System.out.println("- 연산자에 의한 결과 : "+ num1); // 4
        System.out.println("-= 연산자에 의한 결과 : "+ num2); // 4

        // = 위치를 주의하셔야 합니다.
        // num3 =- 3; 는 num3 = -3 입니다.
        System.out.println("=- 연산자에 의한 결과 : "+ num3); // -3
    }
}

0개의 댓글