[01]연산자와 형변환

연산자

  • 연산자 연습
    • 이식성이 풍부하다
    • 산술, 비교, 논리
  • 연산자 우선순위
    • 최우선 연산자 ()
    • 후순위 연산자 =

산술연산자

1
2
3
4
5
6
		System.out.println(3+5-8);
		System.out.println(2/4*6); 
		System.out.println(1+3/5);
		
		System.out.println(5%3); 
		System.out.println(3%5);  

비교(관계)연산자

  1. boolean형태로 결과값이 반환된다.

  2. 1
    >= , <= , == , !=
    

논리연산자

  1. 1개 이상의 조건을 전체적으로 판단
  2. boolean 형으로 결과값 반환
  3. AND(그리고) > && , OR(또는) >   , NOT(아님) > !

삼항연산자

  1. (조건) ? 참 : 거짓 > 구분기호는 ? :
  2. 조건은 boolean형으로 반환
  3. 단항, 이항

대입연산자

  • 1씩 증가
    • a=a+1
    • a+=1
    • ++a
    • a++
  • 1씩 감소
    • a=a-1
    • a-=1
    • a–
    • –a

증가,감소 연산자는 단독으로는 괜찮으나, 계산식, 대입연산자와 사용되는 경우 순서주의.

1
2
3
4
int a=b++;
//++이 뒤에있으면 나중에 b값이 증가
int a=--b;
//--이 앞에 있으면 먼저 b값이 감소 되고 시작.

자료형 변환 (Datatype Conversion)

###

자동형 변환

  • 정수
    • byte < short < int < long
  • 실수
    • float < double

정수형이 실수형을 따라간다.

1
2
3
4
5
6
7
8
9
byte a=3;
int b=a; //a형이 b로 들어가면서 자연스럽게 int값이 된다.
//반대로 큰 수가 작은수에 들어가면 오류 

float e=1.2f;
double f=e;

double g=3;
//정수형이 실수값에 들어가면 자연스럽게 실수형으로 변환

강제형 변환(cast 연산자)

  • 필요한 곳에서 일시적으로 변환
  • (자료형)값
1
2
3
4
 System.out.println((int)3.5);				//3
 System.out.println((double)4);				//4
 System.out.println((int)2.6+(int)5.7);		//7
 System.out.println((int)(2.6+5.7));		//8

int형과 char형과의 형변환

ASCII코드, ASCII문자

  • 65는 ‘A’
  • 97은 ‘a’
  • 대문자와 소문자는 32차이.
1
2
3
4
5
6
7
8
9
System.out.println((char)65); //대문자 A가 나온다. 'A' 라는것을 기억.
 System.out.println((char)66); //'B' 라는것을 기억.
 System.out.println((char)67); //'C' 라는것을 기억.

 System.out.println((char)97); //'a'
 System.out.println((char)98); //'b'

 System.out.println((int)'A'); //65
 System.out.println((int)'a'); //97

bit 연산자

  • 자바에서 잘 안쓰임
  • 컴퓨터 용량의 단위
  • 컴퓨터의 신호체계 : 0,1
  • bit
  • 8bit > 1byte > 사람이 인식할 수 있는 최소단위
  • 2byte용 언어 > 한글, 한자, 일어 ..
  • 2^10(2의 10승) > 1024byte > Kilo Byte
  • 2^20 > Mega Byte
  • 2^30 > Giga Byte
  • KB > MB > GB > TB > NB
1
2
	System.out.println(16<<3); //16*2^3
	System.out.println(16>>3); //16/2^3

shift 연산자

  • ’ « ’ : left shift 연산자
    • 대상 * 2^n(2의 n승)
  • ’ » ‘ : right shift 연산자
    • 대상 / 2^n

수의 체계

  • 2진수 : 0 1
  • 8진수 : 0 1 2 3 4 5 6 7
  • 10진수 : 0 1 2 3 4 5 6 7 8 9
  • 16진수 : 0 1 2 3 4 5 6 7 8 9 A B C D E F