2023. 12. 5. 20:10ㆍ2023.11.21-2024.05.31
package dec05;
//연산자(102p) = 계산할 때 사용하는 기호, 순서
/*모든 프로그래밍에서는 데이터의 연산을 하기 위해 연산자를 사용합니다.
* 지금 배울 연산자는 자바 외 모든 언어에서 비슷하게 활용됩니다.
* 잘 알아두시면 편합니다.
*
* 주의해서 보셔야 할것은 연산자의 기능과 순서입니다.
* 연산자의 종류가 많기 때문에 모두 외우려고 하기보다는 자주 사용하시면서 익숙해지도록 하시면 좋습니다.
*
* 또한 아래 나열되는 연산자의 종류는 그 순서대로 정의한 것이기 때문에 그대로 외우시면 좋습니다.
* 1. 최우선 연산자
* . 닷, 점 = 클래스 또는 객체 소유의 변수 , 메소드
* [] 배열
* () 괄호
* 2. 단항 연산자
* !(논리 부정, not), ~(비트 반전), +/-(부호연산), ++/--(선행증감),
* 캐스팅(cast)
//! 논리 부정, not
System.out.println(!true);//false
System.out.println(1 != 2);// true
//비트 반전 0 -> 1, 1-> 0
System.out.println(Integer.toBinaryString(~1));
//0000000000000000000000000001 ->1
//11111111111111111111111111111110 ->-1
//선행증감
int num = 1; //변수를 1로 초기화
int num2 = ++num; //++ -> +1
//num에 +1을 "먼저"더해 그리고 num을 해 ->1 + 1
//num을 1 증가시킨 후에 num2에 대입해
System.out.println(num); //2 ++먼저 처리 후 num 처리
System.out.println(num2); //2
int num3 = ++num + num2;
System.out.println(num);//3
System.out.println(num2);//2
System.out.println(num3);//5
//계산 순서========= 선행증감, 산술, 대입
int num4 = --num + --num2 + --num3; //-- ->-1
// 2 1 4
System.out.println(num4);//7
num =1; num2 = 1; num3 = 1; num4 = 1;
num2 = num--;//0
System.out.println(num);//0
System.out.println(num2);//1
num4 = ++num - --num2 + num3--;
System.out.println(num);//1
System.out.println(num2);//0
System.out.println(num3);//0
System.out.println(num4);//num=2가 되고 난 후 num3은 --가 되서 1이 된다.
* 3. 산술 연산자
* +, -, /, *, %(모듈러: 나눈 후 나머지 값을 가져갑니다.)
*
//산술 연산자 모듈러
num = 2;
num2 = 2;
num3 = 8 % 2;
//나누는 값이 더 클 경우에는 작은 수를 리턴합니다.
System.out.println(num3); //0
* 4. 쉬프트 연산자(잘안쓰이는 연산자)
* <<, >>, >>>
*
//쉬프트
num = 10;
System.out.println(Integer.toBinaryString(num));
//000000000000000000000000000001010
// ---> 2칸 밀어
System.out.println(Integer.toBinaryString(num >> 2));
//000000000000000000000000000000010
System.out.println(Integer.toBinaryString(num >> 3));
//000000000000000000000000000000001
System.out.println(Integer.toBinaryString(num << 2));
//0000000000000000000000000000101000
//System.err.println(10 << 2);// 40
System.out.println(Integer.toBinaryString(-1<< 2));
//11111111111111111111111111111111 -1
//11111111111111111111111111111100 -1 >> 2
//00111111111111111111111111111100 -1 >>> 2
//11111111111111111111111111111100 -1 << 2
* 5. 관계 연산자
* >, <, >=, <=, ==, !=
*
* 6. 비트 연산자
* &, |, ^
*
//비트 연산자 &(and, 논리곱), |(or, 논리합), ^ XOR
// & = 양쪽 모두 참일때 참
// | = 어느 한쪽이 참일때 참
// ^ = 한쪽이 참이고, 다른 한 쪽이 거짓일때 참
// 참^참 = 거짓
// 거짓^거짓 = 거짓
// 1010 = 10
// 0110 = 6
// 1110 = 1
System.out.println(10 ^ 6);
System.out.println();
* 7. 논리 연산자
* &&, ||
*
//논리연산자 &&, ||
System.out.println(1 +1 ==2 && false);
/* AND
* 참 && 참 = 참
* 참 && 거짓 = 거짓
* 거짓 && 참 = 거짓
* 거짓 && 거짓 = 거짓
*
* OR
* 참 || 참 = 참
* 참 || 거짓 = 참
* 거짓 || 참 = 참
* 거짓 || 거짓 = 거짓
*/
System.out.println(1>0.5 || true);
System.out.println(1 != 1-2 || true);
* 8. 삼항 연산자
* 조건식 ? 참일때 : 거짓일때
*
// 삼항 연산자 조건식 ? 참일때 : 거짓일때
num = 1;
if(num == 1) {
System.out.println("1입니다.");
} else {
System.out.println("1이 아닙니다.");
//조건식 ? 참일때 문장 : 거짓일때 문장;
System.out.println(num == 1 ? "1입니다" : "1이 아닙니다.");
* 9. 배정대입 연산자
* =, +=, -=, /=, %=
//배정대입
int number = 10;
number += 1;
number = number + 1;
number -= 1;
number /=2;
System.out.println(number);
* 10. 후행증감 연산자
* ++/--
*/
'2023.11.21-2024.05.31' 카테고리의 다른 글
1205수업11일차(JAVA) - If02(짝수, 홀수) (1) | 2023.12.06 |
---|---|
1205수업11일차(JAVA) - If01(제어문-조건문 ;주민등록번호 첫 자리) (1) | 2023.12.06 |
1205수업11일차(JAVA) - Test02 (0) | 2023.12.05 |
1205수업11일차(JAVA) - Test01 (1) | 2023.12.05 |
1205수업11일차(JAVA) - HelloWorld(1204 복습) (1) | 2023.12.05 |