참고로 자바에서 데이터타입이 같아야 비교가 가능하다.
예) char c = '가' ;
String s = "가";
c == s → 비교불가
< 정수형 데이터의 범위 >
- byte : 8bit ( -128 ~ +128 )
- short : 16bit ( -32,768 ~ +32,768 )
- int : 32bit ( -21억 4천 ~ + 21억 4천 )
- long : 64bit
∴ long > int > short > byte
< 실수형 데이터의 범위 >
- float : 32bit (-3.4 x 10^38 ~ +3.4 x 10^38)
→ float aa=100.0; 이라고 작성한다면 64bit 메모리라고 받아들여서 오류가 난다.
그래서 float aa = 100.0f 라고 해줘야함
- double : 64bit → 가수 (11bit) + 지수(52bit)
∴ double > float
< 문자표 >
- 유니코드 문자표 : 문자들을 숫자로 표현
char c = '가' ; // 메모리에 16비트를 가지는 c라는 이름의 위치를 선정
char c = 'A';
System.out.println(c); // 결과 : A
System.out.println((int)c); // 결과 : 65
< 자바의 기본 데이터형 변환 >
기본데이터형 : 정수형, 실수형, 문자형
① 자동 형변환
- 컴파일러가 알아서 변환시켜줌
int형 a에 100.0 을 넣었을 때는 오류가 나지만, double형 b에 100을 넣었을 때 오류가 발생하지 않는다. b는 자동형 변환이 일어난 것
※ 규칙
- 실수형 → 정수형 불가능
- 정수형 → 실수형 가능
- 정수 → 큰 정수형 가능
② 수동 형변환
- 개발자가 변환시켜 줘야함 → ( ) 연산자 이용
- 실수형 → 정수형
int a = (int)100.0;
short b = (short)100.0;
long l = 10000;
a = (int)l;
< 연산자 >
① 산술 연산자
- + , - , * , / , %
- ( 데이터 : 정수 □ 정수 = 정수
정수 □ 실수 = 실수
실수 □ 정수 = 실수
실수 □ 실수 = 실수)
② 대입 연산자
- = , += , -= , *= , /= , %=
int a = 100;
a += 100; // a=a+100;과 같음
a -= 100; // a=a-100;
a *= 100; // a=a*100;
a /= 100; // a=a/100;
③ 비교 연산자
- == , != , <= , >= , < , >
- (char형도 비교 가능)
char ch1='a';
char ch2='b';
System.out.println(ch1>ch2); // 결과값 : false
④ 논리 연산자
- &(AND , && ) , | (OR,|| ) , ! (NOT)
A | B | A&B | A|B |
F | F | F | F |
F | T | F | T |
T | F | F | T |
T | T | T | T |
int a = 100;
int b = 200;
char ch1='가';
char ch2='나';
System.out.println(true & false); // 결과값 : false
System.out.println(a>b & ch1<ch2); // 결과값 : false
⑤ 3항 연산자
- 조건문 ? 참일 경우 값 : 거짓일 경우 값 ; → if문으로 대체 가능
< 상수 >
- final double PI = 3.141592;
- 변수는 소문자, 상수는 전체적으로 대문자 사용하는 것이 일반적
- 상수 선언할 때 값을 초기화한 후 변경은 못함
'자바 웹 개발자가 될거야 > JAVA' 카테고리의 다른 글
[JAVA] 필드 / 생성자 / 생성자 오버로딩 / this. 참조 / this() 다른생성자 호출 (0) | 2021.11.19 |
---|---|
이클립스 워크스페이스 기본 경로 변경 / 프로젝트 익스플로어 창 사라졌을 때 (0) | 2021.11.19 |
[JAVA] 중첩클래스 / 인스턴스 멤버 클래스 / 정적 멤버 클래스 / 로컬 클래스 / 중첩클래스 참조 (0) | 2021.11.18 |
[JAVA] 메서드 / 리턴문 / 메서드 호출 / 메서드 오버로딩 (0) | 2021.11.03 |
[JAVA] 자바 이클립스 시작/ 자바 변수명 규칙/ print와 println 차이/ 연결연산자 / 자바 데이터 타입 / 데이터 형 변환 (0) | 2021.10.01 |