[JAVA] 21.05.20
<Operator : 연산자>
//연산자
/* 자바의 연산자
* 모든 프로그래밍에서는 데이터를 연산하기 위해서 연산자를 사용합니다.
* 지금 배우는 연산자는 자바뿐 아니라 모든 언어에서 비슷하게
* 사용됩니다. 꼭 기억해 주세요
*
* 주의해서 보아야 할 것 = 연산자의 기능과 순서
* 연산자의 종류가 많기 때문에 모두 외우기 보다는
* 자주 사용하면서 익숙해지는 것이 좋다. (책도 참고할 것)
*
* 순서대로 나열 ->
*
* 1. 최우선 연산자**
* . 점, dot 클래스 또는 객체 소유의 변수, 메소드 등을
* 호출하는 연산자(중요!!!), 소유 의 의미
* [] 배열
* () 괄호
*
* 2. 단항 연산자**
* ! 논리 부정
* ~ 비트 반전
* +/- 부호 연산
* ++/-- 선행 증감
*
* 3. 산술 연산자**
* +, -, /, *, %(모듈러 : 나눈 후 나머지 값을 저장)
*
* 4. 쉬프트 연산자
* <<, >>, >>> 밀기
*
* 5. 관계 연산자*
* <, >, <=, >=, ==, !=
*
* 6. 비트 연산자
* &, |, ^
*
* 7. 논리 연산자*
* &&(AND), ||(OR)
*
* 8. 삼항 연산자*
* 조건식 ? 조건이 참일 때 값 : 조건이 거짓일 때 값
* if로 보면 편하다.
*
* 9. 배정대입 연산자*
* =, /=, +=, -=, *=, ... 많다
*
* 10. 후행증감 연산자*
* ++/--
*/
/* ++ 피연산자 : 다른 연산을 수행하기 전에 피연산자에 +1 값을 저장
* -- 피연산자 : 다른 연산을 수행하기 전에 피연산자에 -1 값을 저장
* 피연산자 ++ : 다른 연산을 수행한 후에 피연산자에 +1 값을 저장
* 피연산자 -- : 다른 연산을 수행한 후에 피연산자에 -1 값을 저장
*/
< ++/-- 선행, 후행 비교 >
num01 = 0;
num02 = 0;
num03 = 0;
++num01;
System.out.println(num01);//1
num02 = ++num01 + 2;
9 2 3 (연산자 순서)
System.out.println(num01);//2
System.out.println(num02);//4
int num01 = 1;
int num02 = ++num01;
int num03 = --num01 + ++num02; //출력 : 1 3 4
int num04 = ++num01 - --num02; //출력 : 2 2 4 0(2-2)
num01 = 0; num02 = 0; num03 = 0; num04 = 0;
num02 = num01++;
num03 = num02++ + num01; //출력 : 1 1 1
num04 = num03-- + num02++ + ++num01; //출력 : 2 2 0 4
//equals 구문 : check = "String".equals("string");
//이진법으로 바꿔주기 a = Integer.toBinaryString(bitNum01);
//스캐너 : Scanner sc = new Scanner(System.in);
// code = sc.nextInt(); //sc. 속에 있는 nextInt()라는 메소드를 읽어라!
//비트 확인 구문 : Integer.toBinaryString(10)
<비트반전>
0101011100
1010100011 이런식으로!
//사용자가 입력한 값 받아서 실행해보기
int code = 0;
Scanner sc = new Scanner(System.in);
System.out.print("성별 코드를 입력하세요. ");
code = sc.nextInt(); //sc. 속에 있는 nextInt()라는 메소드를 읽어줘
< + 연결 연산자 >
// 숫자 + 숫자 = 계산 1 + 2 = 3
// 문자 + 숫자 = 연결 가 + 2 = 가2
// 문자 + 문자 = 연결 가 + 나 = 가나
System.out.println(1 + 2 + "가나다"); //3가나다
// 숫자 + 숫자 + 문자 앞에는 계산, 뒤는 연결
< 쉬프트 >
//10의 비트, >>2 확인
//10 -> 1010
System.out.println(Integer.toBinaryString(10));//1010
System.out.println(Integer.toBinaryString(10 >> 2));//10
System.out.println(Integer.toBinaryString(10 << 3));//1010000
<관계, 비교 연산자>
//관계연산자 비교연산자 = 결과 값이 boolean type으로 나온다.
//1과 2는 같다 = 거짓
//&& 양쪽 다 참이어야 참
//|| 양쪽 중 한 쪽이 참이면 참
System.out.println(('A' == 65) || (3 == 3.0));
//정수 + 정수 = 큰 수 타입, 실수 + 정수 = 실수 타입으로
//따라서 3과 3.0중 실수인 3.0 타입에 맞춰 3도 3.0이 되므로 참!
<삼항연산자>
// 조건식 ? 참 : 거짓
temp = 1 <= 2 ? 100 : 55;
System.out.println(temp); // 100.0
<제어문 : if>
//자바의 제어문
/*
* 제어문 이란 프로그램이 실행될 때 특정 조건, 반복을
* 수행 또는 멈추게 하기 위해 필요한 문장
*
* 제어문은 다시 조건에 따라 분기되는 조건문과
* 특정 조건을 반복적으로 수행하는 반복문으로 구분됩니다
*
* 조건문 if, switch
*
* if 사용방법
* if(조건식) {
* 조건식이 참일 때 실행할 문장
* }
*
* if(조건식) {
* 조건식이 참일 때;
* } else {
* 조건식이 거짓일 때;
* }
*
*/