피연산자의 값을 1 증가시킵니다. (K = ++J;)
피연산자의 값을 1 감소시킵니다. (K = --J;)
전위형 : 값이 참조되기 전에 증가/감소 시킨다. (K = ++J;)
후위형 : 값이 참조된 후에 증가/감소 시킨다. (K = J++;)
증감연산자가 독립적으로 사용된 경우, 전위형과 후위형의 차이는 없다.
++K; 와 K++;의 값은 동일하다.
형변환 : 변수 또는 상수의 타입을 다른 타입으로 변환하는 것
방법 : (타입) 피 연산자
class Operator3_1 {
public static void main(String[] args) {
int i = 65, num = 10;
char ch = 'A';
float f = 1.6f;
System.out.println("(char)i = " + (char)i);
System.out.println("(int)ch = " + (int)ch);
System.out.println("(int)f = " + (int)f);
System.out.println("(float)num = " + (float)num);
}
}
자동 형변환 : 컴파일러에 의해 자동으로 형변환되는 것
다른 예로 'int = 3.14f;'처럼 큰 타입을 작은 타입에 저장할 때 Error가 발생한다. 3.14f가 int 타입으로 변환될 때 소수점이 사라지면서 원래 값이 달라지게 되면서 값 손실이 발생하는데 이런 경우, 컴파일러가 자동으로 형변환을 안해준다.
사칙연산자 : 덧셈(+), 뺄샘(-), 곱셈(*), 나눗셈(/)
산술변환 : 연산 전에 피연산자와 타입을 일치시키는 것
Math: 수학과 관련된 메서드를 가지고 있는 클래스
메서드 : 특정한 기능을 수행하기 위해 코드로 작성된 단위
나머지 연산자 %
class Operator5_3 {
public static void main(String[] args) {
int x = 10;
int y = 8;
System.out.print("x를 y로 나눈 몫 = ");
System.out.println(x / y);
System.out.print("x를 y로 나눈 나머지 = ");
System.out.println(x % y);
// 부호 무시 확인
int n = 3;
int z = -3;
System.out.println("x % n = " + x % n);
System.out.println("x % z = " + x % z);
}
}
두 피연산자를 비교해서 true(참)과 false(거짓)을 반환 함
class Operator6_1 {
public static void main(String[] args) {
int n1 = 10, n2 = 6;
char c1 = 'A', c2 = 'B';
System.out.print("n1 >= n2 = " ); // true
System.out.println(n1 >= n2);
System.out.print("n1 <= n2 = " ); // false
System.out.println(n1 <= n2);
System.out.print("n1 == n2 = " ); // false
System.out.println(n1 == n2);
System.out.print("n1 != n2 = " ); // true
System.out.println(n1 != n2);
// 산술변환 규칙에 의해서 char 타입이 int 타입으로 변환되어 연산됨
System.out.print("c1 < c2 = "); // true
System.out.println(c1 < c2); // 65 < 66
System.out.print("c1 > c2 = "); // false
System.out.println(c1 > c2); // 65 > 66
}
}
문자열 비교 : ==대신 equals()를 사용해야 한다.
class Operator6_2 {
public static void main(String[] args) {
String s1 = "사랑";
String s2 = "사랑";
System.out.print("s1 == s2 = "); // true
System.out.println(s1 == s2);
System.out.println("s1.equals(s2) = " + s1.equals(s2)); // true
// 하지만!
String s3 = new String("사랑");
System.out.print("s1 == s3 = "); // false
System.out.println(s1 == s3);
System.out.println("s1.equals(s3) = " + s1.equals(s3)); // true
}
}