[Java] 2주차 과제
공부내용
-
프리미티브 타입 종류와 값의 범위 그리고 기본 값
분류 type size defaultValue Range 정수형 byte byte 0 -128(-2 7)~127(27 -1) 정수형 short 2byte 0 -32768(-2 15)~32767(215 -1) 정수형 int 4byte 0 -2147483648(-2 31)~2147483647(231 -1) 정수형 long 8byte 0L -2147483648(-2 63)~2147483647(263 -1) 실수형 float 4byte 0.0F 실수형 double 8byte 0.0 문자형 char 2byte ‘\u0000’ 0~65535 논리형 boolean byte false true,false - 프리미티브 타입과 레퍼런스 타입
- primitive type -> stack 영역에 생성
- reference type -> heap 영역에 생성되며, 실제 데이터들의 주소값을 가지고 있음, 클래스들을 변수로 받아줌
- 실제 차이예시
int a = 1; Integer b = new Integer(1);
- 리터럴
- 값 그대로인 상수
- literal type
- 정수 리터럴 : 기본값은 int
- 소수 리터럴 : 기본값은 double
- L,l을 봍인 정수의 경우에는 long타입 리터럴
- f,F를 붙인 소수의 경우에는 float타입 리터럴
- 변수 선언 및 초기화하는 방법
- 기본형 변수
// 선언 및 초기화 int a = 1; // 초기화는 기본값을 다시 할당해주면 된다. a = 0;
- 참조형 변수
public static void main(String []args) { //student class를 참조형 변수 s1에 할당해준다. student s1 = new student(); }
- 기본형 변수
- 변수의 스코프와 라이프타임
- instance 변수 메모리에 instance 변수가 올라가 있는 동안
- class 변수 프로그램 사용중 혹은 class가 메모리에 올라가 있는 시간
- local 변수 선언된 블록 안쪽 일반적으로는 method 내부정도로 볼 수 있다.
- 타입 변환, 캐스팅 그리고 타입 프로모션
- 자동형변환(promotion) : 작은타입에서 큰타입으로 가는경우
- 캐스팅(casting) : 일반적으로 명시적 형변환이라고 하며, 큰타입에서 작은타입으로 변형할때, 사용한다.
- 예시
long a = 100L; int b = (int) a;
- 객체간에는 상속관계에 있는지 확인하지 않으면 Error발생할 수 있다
public class main { public static void main(String[] args) { ///casting nation n = new nation(); city c = new city(); if(city instanceof nation) { nation nn = (nation) city; } } } class nation { public string name; } class city extends nation { public string cityName; }
- 예시
- 1차 및 2차 배열 선언하기
- 1차 배열
// 아래코드를 통해서 1차배열을 선언한다. // int사이즈 공간 100개를 미리 할당해 놓는다. int[] a = new int[100]; // 실제 값을 할당한다. for(int i=0;i<a.length;i++) { a[i] = i; }
- 2차 배열
int[][] a = new int[10][10];
- 1차 배열
- 타입 추론, var
- 타입 추론
- 타입이 정해지지 않은 변수를 컴파일 타임에서 타입을 정해주는 것
- 장섬 : 코드 작성자 입장에서는 변하게 작성이 가능
- 단점 : 코드 리뷰자 입장에서 타입을 바로 파악하기 힘들 수 있다.
- var
- java 10부터 사용
- 사용조건
- local variable
- initialize를 만드시 해야한다.
- ex
public void getData() { var a = 1; // continue; }
- lambda에는 쓸수 없다.
var a = () => { return "hello";};
- 타입 추론
Leave a comment