/* ======================================
■ ■ ■ 연산자(Operator) ■ ■ ■
======================================= */
// 비트 단위 연산자
// 비트 단위 연산자 『xor』 연산자를 활용하여
// 두 변수에 담겨있는 내용(값) 바꾸기
public class Test026
{
public static void main(String[] args)
{
// 주요 변수 선언 및 초기화
int x =20, y=23;
//int temp; //-- 임시 저장 변수(빈 컵)
// 담긴 내용물 확인
System.out.printf("x → %d, y → %d\n", x, y);
// 연산 및 처리
/*
temp = x;
x = y;
y = temp;
*/
/*
x=x^y; //-- 공식과같음
y=y^x; // 순서 상관없이 마지막이 최초 내용으로 한번 더 마무리
x=x^y;
*/
y=y^x;
x=x^y;
y=y^x;
// 담긴 내용물 확인
System.out.printf("x → %d, y → %d\n", x, y);
}
}
/*
x → 20, y → 23
x → 23, y → 20
계속하려면 아무 키나 누르십시오 . . .
*/
/*------- ↓↓ 연산 과정 -----
x=x^y; → x : 20 y: 23
00010100 → 20
^ 00010111 → 23
-------------------
00000011 → 3
x = 3;
y=y^x; → y : 23 x : 3
000010111 → 23
^ 000000011 → 3
----------------------
000010100 → 20
y = 20;
x=x^y; → x : 3 y : 20
00000011 → 3
^ 00010100 → 20
----------------------
00010111 → 23
x = 23;
-----------------------*/
728x90
'JAVA' 카테고리의 다른 글
Test028.java / 연산자 - 논리연산자 / and &&, or ||, not ! (0) | 2022.07.08 |
---|---|
Test027.java / 연산자 - 비트 쉬프트 연산자 << / 비트열을 옮기는 연산자 (0) | 2022.07.08 |
Test025.java / 연산자(Operator) - 비트 단위 연산자 / 비트 and, or, xor 연산 (0) | 2022.07.05 |
Test024.java / 연산자(Operator) - 비트 단위 연산자 / 비트열반전 ~ (0) | 2022.07.05 |
Test023.java / 산술 연산자 BufferedReader 및 printf() / + - * / % (0) | 2022.07.05 |
댓글