[JAVA] 접미사 L, F 접미사 L, F JAVA는 수를 변수에 저장하기 전에 stack 메모리에 임시저장하는데, 이때 정수는 int형, 실수는 double형으로 임시저장됨. 정수 아래와 같이 초기화하는 경우 에러가 뜰 것 임시저장하는 타입이 int인데 int의 범위를 벗어난 리터럴을 주었기 때문 long l1 = 1234567890123456789; //이상태로 실행시키면 //java: integer number too large JAVA 2022.06.09
JVM, JRE, JDK JVM 자바 가상 머신(JAVA Virtual Machine) 자바 프로그램을 컴파일해서 나온 바이트코드를 실행시킴 JRE 자바 런타임 환경(JAVA Runtime Environment) 자바 코드를 실행하기 위한 도구들로 구성된 패키지 JVM이 동작할 때 필요한 자바 라이브러리들이 담겨 있음 JDK 자바 개발 키트(JAVA Development Kit) 자바 기반 애플리케이션 개발에 필요한 소프트웨어 패키지 JAVA 프로그램 컴파일 및 디버그에 필요한 도구, 실행 파일, 바이너리 등을 포함하고 있어, 자바로 개발할 수 있는 여러 기능들을 제공함 JDK에서 제공하는 기능들 JRE, JVM, Javac(자바컴파일러. 자바 소스파일을 바이트코드로 변환), jar (자바라이브러리. 관련 있는 클래스 라이브러리.. JAVA 2022.06.09
리터럴(literal) 리터럴 변하지 않는 데이터 그 자체, 소스 코드 내에서 직접 입려된 값 int a = 28; String b = "리터럴이란?"; //28, "리터럴이란?" 이 리터럴인 것 원시타입과 String으로 구분됨 저장타입 예시 정수 byte(1byte), char(2byte), short(2byte), int(4byte), long(8byte) 소수점 없는 정수 리터럴은 10진수 정수로 간주 ex) 0, 10, -37 0으로 시작되는 리터럴은 8진수로 간주 ex) 09, -03 0x, 0X로 시작하고 0~9, A~F, a~f로 구성된 리터럴은 16진수로 간주 ex) 0x1, 0XF, 0xAC08 실수 float(4byte), double(8byte) 소수점이 있는 리터럴은 10진수 실수로 간주 ex) 0.25.. JAVA 2022.06.08
[JAVA]형변환 - 암시적 형변환, 명시적 형변환 형변환 변수의 타입을 다른 타입으로 변환하는 것 boolean은 변환 불가, boolean을 제외한 나머지 기본형은 서로 형변환 가능 메모리공간 크기가 기준이 아니라 값의 표현범위를 기준으로 함 → float은 4byte, long은 8byte임에도 long(정수)이 float(실수)로 형변환이 가능한 이유 암시적(묵시적) 형변환(implicit Conversion) 표현 범위가 큰 자료형으로 변경할 경우(byte → short, int → long)에는 암시적 형변환이 이뤄짐 연산 시 컴파일러가 자동으로 수행 명시적 형변환(Explicit Conversion) 변수의 값을 더 작은 타입의 변수에 넣는 경우 타입을 지정해줘야 형변환 가능 기존 값의 손실 혹은 변질이 일어날 가능성이 있는 경우(float .. JAVA 2022.06.08
사용자 정의 타입 정렬 (Comparable, Comparator) 사용자 정의 타입이 들어간 List를 정렬하고자 할 때 Comparable과 Comparator 두 인터페이스를 활용할 수 있음. Comparable, Comparator의 차이점 Comparable Comparator 구현부 클래스 내부 클래스 외부 비교대상 자기자신 vs 매개변수 매개변수1 vs 매개변수2 사용 상황 객체에 구현되어 있는 compareTo() 메소드가 구현된 대로 정렬됨. 즉, 한 가지 기본 정렬규칙을 설정하고자 할 때 사용 클래스의 기본 정렬 규칙 외에 다른 정렬을 원할 때 사용 Comparable, Comparator의 공통점 return 타입 양수, 0, 음수 양수 : 변수1 .. JAVA 2022.05.19