bit : 이진수 한자리의 정보단위
byte : 8bit
메모리는 메모리셀의 집합체로 각 메모리셀은 주소를 가진다
ex) 0x(8자리 16진수)
데이터를 저장할 수 있는 메모리 공간을 확보하고 그 메모리 공간에 사람이 식별하기 쉽게 이름을 붙인 것이다.
데이터 종류에 따라 필요한 메모리 공간의 크기가 다르다.
그래서 변수를 선언할 때에는, 데이터의 유형(데이터 타입)을 같이 알려줘야 한다.
초기화 : 변수 선언 후 처음 값을 할당하는 것
재할당 : 이후 다른 값 할당하는 것
변수 명명 규칙
1. 두번째 단어부터 대문자 시작 ex) sumArr
2. 소문자/대문자 구분됨
3. 영문자, 숫자, _, $, 사용가능
4. 숫자로 시작하는 변수명 사용 X
5. 자바에서 사용중인 예약어는 사용 X
변수 이외에도 상수라는 것이 있다.
상수는 재할당이 금지된 변수로 final로 선언하고 관례적으로 대문자에 _를 넣는다.
ex)final double CALCULATOR_PI = 3.14;
어떤 값의 유형 및 종류이다.
타입에 따라 값이 차지하는 메모리 공간 크기와 값이 저장되는 방식이 결정된다.
기본타입 : 데이터 실제값
-정수타입(byte, short,int,long), 문자(char), 실수(float,double), 논리타입(boolean)
참조타입 : 값이 저장된 주소를 값으로 갖음
-문자열(String), 배열...
유의사항
1. float 사용시 변수에 리터럴 할당할 때 리터럴 뒤에 f붙여줘야 함.
2. long 변수에 리터럴 할당 시 리터럴 뒤에 L붙여줘야 함.
<정수 타입> : byte, short(2byte), int(4byte), long(8byte)
오버 플로우 : 표현범위 넘어감 -> 최솟값으로 값이 순환
언더 플로우 : 표현범위 최솟값 넘어감 -> 최대값으로 값이 순환
<실수 타입> : float(4byte), double(8byte)
double은 float에 비해 더 큰 실수 저장하고 더 정확하게 저장한다.
오버 플로우 : 값이 음 최소범위, 양 최대 범위 벗어나면 무한대 값
언더 플로우 : 값이 음 최대범위, 양의 최소범위 벗어나면 값은 0
<논리 타입> : boolean(1byte) true나 false만 가짐
<문자 타입> : char(2byte)
<타입변환>
byte -> short/char -> int -> long / float -> double
클래스는 그 자체로 타입으로 사용될 수 있다. String 클래스는 문자열 타입으로 사용된다
클래스는 일종의 거푸집이며, 그 거푸집을 통해 찍어낸 것이 인스턴스이다.
클래스로 인스턴스 찍어낼 때, new 연산자를 사용
ex) String name1 = "stringname"; / String name2 = new String("문자열");
String클래스의 인스턴스 생성하여 할당하는 방법:
String 클래스의 메서드
charAt() : 해당 문자열의 특정 인덱스에 해당하는 문자 반환
compareTo() : 사전 편잔순으로 비교(대소문자 구분) 같으면 0, 작으면 음수, 크면 양수 반환
compareToIgnoreCase() : 대소문자 구분X 비교
concat() : 문자열 연결
indexOf() : 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스 반환.
만약 포함되어 있지않으면 -1 반환
trim() : 해당 문자열에 맨 앞과 맨 뒤에 포함된 모든 공백 문자를 제거
toLowerCase() : 해당 문자열의 모든 문자 소문자 변환
toUpperCase() : 해당 문자열의 모든 문자 대문자 변환
toString() : String 타입변수가 저장하고 있는 주소값에 위치한 String 인스턴스의 내용을 문자열로 반환
equals() : 문자열 같은지 비교
equalsIgnoreCase() : 대소문자 구분없이 문자열 비교
String.format() : 문자열 형식 지정