Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 삼항 연산자
- 기본형호출
- for문
- 다차원배열
- 단순if
- 자바
- 타입변환
- 비교연산자
- 순환문
- 대입 연산자
- 다중if
- 명명규칙
- 산술 쉬프트 연산자
- 참조형호출
- dowhile문
- while문
- 콘솔출력문
- print()
- 사용자입력Switch문
- 변수유효범위
- 문자열
- 안드로이드스튜디오
- 비정방행렬
- 증감연산자
- Java
- println()
- 배열
- 논리 쉬프트 연산자
- array
- 비트논리연산자
Archives
- Today
- Total
신입개발자
자료형 본문
- 8대 기본 자료형과 바이트수 꼭 외우기! (*가 기본값)
- boolean 1 / byte 1 < short/char 2 < *int 4 < long 8 < float 4 < *double 8
- 자바 정수는 unsigned 추가형이 없음
- (주소)참조 자료형 : 배열, 열거, 클래스, 인터페이스 등 직접 정의가능, 첫대문자로 시작 예)String
- 자바의 메모리 영역은 크게 3가지 분류
1. 클래스영역(메소드 영역, static영역, final영역)
JVM이 바이트코드인 *.class를 여기로 로딩 > 그중 main() 메소드를 시작점으로 실행
2. 스택 stack 영역 : 동전케이스구조, 기본자료형의 값과 참조자료형의 주소가 저장되는 영역
3. 힙 heap 영역 : 바이너리 트리구조, 참조자료형의 값이 저장되는 영역, 직접 접근 불가
public class 자료형 {
public static void main(String[] args) {
//boolean : C언어에 비해 불린형이 존재
boolean bl = true; //또는 소문자 false
System.out.println("bl = " + bl);
// 불린형은 자료형 최소단위인 1바이트 중에서 단 1비트만 사용하고 상위 7비트는 사용하지 않는다
System.out.println("!bl = " + !bl); // NOT 연산자
System.out.println();
//byte : C언어처럼 오버/언더플로우 여전히 발생
byte b = 127;
System.out.println("b = " + b);
b += 1;
System.out.println("b = " + b); // -128
System.out.println();
// char : 문자(정수)형, 0이상의 유니코드값 2bytes 값(ASCII값과 호환)
// A) '한문자'값 대입
char c = 'A';
System.out.println("c = "+ c);
c = '\u0041'; // \ u : 16진수 유니코드 제어문자, 한문자 취급하므로 작은따옴표 필수
System.out.println("c = "+ c); // A (유니코드 65)
// B) 정수값 대입
c = 65; // 10진수
System.out.println("c = "+ c); // A
c = 0B1000001; // 2진수 0b ~
System.out.println("c = "+ c); // A
c = 0101; // 8진수 0~
System.out.println("c = "+ c); // A
c = 0x41; // 16진수 0x~
System.out.println("c = "+ c); // A
//float 형이 대략 소수점이하 7자리 정도
float f = 1.0000001f; // 마지막 f/F는 필수
System.out.println("f = "+ f); // 1.0000001
f = 1.00000001f;
System.out.println("f = "+ f); // 1.0, 오차발생
//double 형 : 대략 15자리 정도 정밀성
double d = 1.000000000000001;
System.out.println("double = "+ d); //1.000000000000001
d = 1.0000000000000001;
System.out.println("double = "+ d); // 1.0, 오차발생
}
}
Comments