haju__log
DAY 3 본문
✅ 기본형 타입
- 가장 기본이 되는 데이터 타입, 정수형, 실수형, 문자형, 불린형
▶ 논리형
- boolean
- 1byte
- true와 false 중 한 가지 값을 가짐
▶ 문자형
- char
- 2byte
- 작은 따옴표(' ')를 이용해 한 글자 표현
▶ 정수형
- 정수의 범위에 따라서 다양하게 제공함
- 가장 자주 사용하는 int - 4byte
- long - 8byte : int보다 더 큰 범위의 정수 표현
- long을 사용할 때는 소문자나 대문자로 L을 적어야 함
▶ 실수형
- float - 4byte
- double -8byte : float보다 더 큰 범위의 실수 표현
- float을 사용할 때는 소문자나 대문자로 F를 적어야 함
✅ 리터럴
- 값이라고 생각하면 됨
- true, false, 10, 11.1, a 등 값 자체를 리터럴이라고 함
✅ 기본형 타입(형)변환 : 변수 또는 리터럴의 타입을 다른 타입으로 변환하는 것
✅ 묵시적 형변환 (=암묵적 형변환)
크기가 작은 타입 ➡ 더 큰 타입으로 바꿀 때 사용
int x = 50000;
long y=x;
✅ 명시적 형변환 (=강제 형변환)
크기가 더 큰 타입 ➡ 작은 타입으로 바꿀 때 사용
long x=5;
int y= x ;
Tyep mismatch: cannot convert from long to int
사진과 같이 변환할 수 없다고 에러 메세지가 뜸
long x=5;
int y= (int)x ;
(타입)으로 명시적 형변환을 해주면 사용가능~
✅ 연산자와 연산식
연산 : 데이터를 처리하여 결과를 산출하는 것
연산자(Operations) : 연산에 사용되는 표시나 기호 (+,-,*,/,%,=, ...)
피연산자(Operand) : 연산 대상이 되는 데이터 (리터럴, 변수)
연산식(Expressions) : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것
✅ 부호 연산자 ( + , - )
부호 결정
int i1 = -5;
int i2= +i1;
int i3= -i1;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
결과 >>
-5
-5
5
해설>> ⭐⭐⭐
변수 앞에 + 부호 연산자가 붙게되면 부호 비트를 그대로 유지시켜주는 역할을 함
- 부호 연산자가 붙게 되면 양수 ➡ 음수, 음수 ➡ 양수로 바꿔주는 역할을 함
✅ 산술연산자 ( + , - , * , / , % )
산술 계산을 함
✅ 증감 연산자 ( ++ , -- )
1씩 증가하거나 감소시킴
전위 > 다른 연산을 수행하기 전에 피연산자의 값을 1 증가 or 감소
후위 > 다른 연산 수행 후에 피연산자의 값을 1 증가 or 감소
int a=5;
System.out.println(++a -5); //1번
System.out.println(a);
System.out.println(a++ -5); //2번
System.out.println(a);
1번 >> a 증가 먼저 시킨 후 산술 연산
>> 결과값
1
6
2번 >> 산술 연산 후 a 값 증가
>> 결과값
1
7
✅ 부호 연산자, 증감 연산자 ▶ 단항 연산자
✅ 비교 연산자 ( ==, !=, < , >, <=, >= )
결과는 boolean 이다.
✅ 단순 대입 연산자
i=10;
✅ 복합 대입 연산자
i+=10; //i=i+10; 과 동일
i-=10;
i*=10;
i/=10;
i%=10;
✅ 연산자 우선순위
최우선 연산자 | . , [] , () |
단항연산자 | ++ , -- , ! , ~ , +/- : 부정, bit 변환 > 부호 >증감 |
산술연산자 | * , / , % , + , - , shift/시프트연산자 ( >> , << , >>> ) |
비교연산자 | > , < , >= , <= , == , != |
비트연산자 | & , | , ^ , ~ |
논리연산자 | && , || , ! (&&가 우선순위 젤 높음) |
삼항연산자 | (조건식) ? : |
대입연산자 | = , *= , /= , %= , += , -= |