자바 스터디 할래 2주차 과제 자바 데이터 타입, 변수 그리고 배열
2021. 8. 8. 17:40ㆍJava
- 프리미티브 타입과 레퍼런스 타입
- Primitive Type(원시형) → 원시타입은 정수,실수,문자,논리 리터럴을 직접 저장하는 타입을 말한다. → Stack memoty에 저장
- Reference Type(참조형) → 원시형을 제외한 모든 형을 참조형이라고 한다. → 빈 객체를 의미하는 NULL을 설정할 수 있다. → Heap Memory에 저장된다.
- 리터럴(literal)
- 변수의 초기 값은 코드에서 직접 입력하는 경우가 많은데, 소스 코드 내에서 직접 입력된 값을 리터럴(literal)이라고 부른다.
example)
1 1.0 '1' 1L "one" true false null
- 변수의 초기 값은 코드에서 직접 입력하는 경우가 많은데, 소스 코드 내에서 직접 입력된 값을 리터럴(literal)이라고 부른다.
- 변수 선언 및 초기화하는 방법
→ 변수는 변수형을 먼저 쓰고서 변수 이름을 지정한다. 그리고 =을 이용해서 초기화하는 데이터를 입력한다. 예를 들면 아래와 같다.
변수형 변수이름 = 초기화하는 데이터; int test = 10;
- 변수의 스코프와 라이프타임
- 변수는 선언된 블록내에서만 사용이 가능하다. 블록을 벗어나게 되면 사용할수도 없고 변수의 사용이 끝나게 된다.
- 타입 변환, 캐스팅 그리고 타입 프로모션
- 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말한다.
- 타입 변환 2가지 종류
- 자동(묵시적) 타입변환(Promotion)
-> 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말한다. 자동 타입 변환은 작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장될 때 발생한다.
- 강제(명시적) 타입변환
-> 큰크기의 타입은 작은 크기의 타입으로 자동 타입 변환을 할 수 없다. 그래서 강제적으로 큰 데이터 타입을 작은 데이터 타입으로 쪼개어서 저장한다. 이러한 것을 강제타입변환(Casting)이라고 한다.
- 자동(묵시적) 타입변환(Promotion)
- 타입 변환 2가지 종류
- 1차 및 2차 배열 선언하기
- 1차원 배열
→ 같은 타입의 데이터형을 저장할 수 있는 구조 따라서 같은 타입의 데이터만 저장할 수 있다.
1) 타입[] 변수; int[] arr = new int[3]; 2) 타입 변수[]; int arr[] = new int[3]; -> 참고로 이 방식 보다는 위에 방식을 주로 사용한다. 3) int[] arr = new int[]{1,2,3};
- 2차원 배열
-> 1차원 배열에서 행과 열로 구성된 배열이다.
1) 타입[][] 변수; int[][] arr = new int[3][2]; 2) 타입 변수[][]; int arr[][] = new int[3][2]; -> 참고로 이 방식 보다는 위에 방식을 주로 사용한다. 3) int[][] arr = new int[][]{{1,2,3},{4,5,6}};
- 1차원 배열
- 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말한다.
- 타입 추론, var
- 개발자가 명시적으로 변수의 타입을 지정하지 않고 컴파일러가 알아서 변수의 타입을 추론하는 것
- var 라는 변수형으로 선언 가능하다. 이것은 Java11에서 처음 생긴 기능이다.
1) var는 초기화 없이 사용할 수 없다. 2) var는 초기값이 있는 지역변수로만 선언이 가능하다 3) var는 null 값이 들어갈 수 없다. 4) 배열을 선언할 때는 var대신 타입을 명시해야한다. 5) var는 런타임 오버헤드가 없다.
참고 자료 :
이것이 자바다 신용권의 Java 프로그래밍 정복
'Java' 카테고리의 다른 글
자바 스터디 할래 5주차 과제 Class(클래스) (0) | 2021.10.31 |
---|---|
자바 스터디 할래 4주차 과제 제어문 (0) | 2021.09.05 |
중간 값 구하는 여러가지 방법 (0) | 2021.08.29 |
자바 스터디 할래 3주차 과제 연산자 (0) | 2021.08.29 |
자바 스터디 할래 1주차 과제 JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (0) | 2020.12.20 |