대입연산자
public static void main(String[] args) {
//대입 연산자
int a = 10;
int b = 15;
System.out.println("a="+a);
System.out.println("b="+b);
a+=3; b-=3; //a=a+3 즉 13 , b=b-3 즉 12
//10에 3을 더한값을 a에 대입하라는 뜻
// (a + 3 을 한 값의 결과를 a에 저장하라는뜻)
System.out.println();
System.out.println("a="+a);
System.out.println("b="+b);
a*=3; b/=3; // a=a*3 즉 39 , b=b/3 즉 4
System.out.println();
System.out.println("a="+a);
System.out.println("b="+b);
a%=2; //a=a%2 즉 1
System.out.println();
System.out.println("a="+a);
int c =40;
int d = 40;
c<<=2; d>>=2; //c를 왼쪽으로 2만큼 자리이동 d를 오른쪽으로 2만큼 자리이동
//쉬프트 연산자 (2진수로 바꾼후 좌, 우 로 자리이동(한칸당 *2 , /2)) /즉 160 , 10
System.out.println();
System.out.println("c="+c);
System.out.println("d="+d);
}
}
쉬프트연산자 부연설명
40을 2진수로 바꾸었을때
(아래 그림처럼 숫자를 써넣으면 계산하기편하다)
101000이 되는데
여기서 왼쪽으로 2칸을 이동하게되면
10100000이 되어 160이라는 숫자가 나오게된다
즉 왼쪽으로 한칸 이동할때마다 *2를 하는셈
오른쪽이동은 이와 반대로 생각하면 되고 오른쪽이동은 이동할때마다 /2를 하는셈이 된다
출력값