JAVA/JAVA 수업

[JAVA] 21.05.20

샛별KIM 2021. 5. 20. 17:14

<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 {
 *   조건식이 거짓일 때;
 *  }
 *  
 */