1. 변수 (Variable)
- 자료를 저장하기 위한 메모리 공간
- 메모리 공간에 값을 할당 후 사용
2. 타입
- 기본형 : 미리 정해진 크기의 데이터 표현, 변수 자체에 값 저장 (ex. 10)
- 참조형 : 크기가 미리 정해질 수 없는 데이터의 표현, 변수에는 실제 값을 참조할 수 있는 주소만 저장 (ex. int 나이 = 10)
3. 기본형의 크기
- 논리형 (boolean)
- 정수형 (byte) : 8bit
- 정수형 (short) : 16 bit
- 정수형 (int) : 32bit (기본)
※ 정수 계산시 오버플로우 주의
- 정수형 (long) : 64bit
- 실수형 (float) : 32bit
- 실수형 (double) : 64bit (기본)
System.out.println(((int) (d1 * 100) - (int) (d2 * 100)) / 100.0);
// 실수의 연산은 정확하지 않다. >> 유효 자리수를 이용한 반올림 처리
- 문자형 (char) : 16bit
4. 형 변환
- 변수의 형을 다른 형으로 변환하는 것
- 기본형은 기본형끼리, 참조형은 참조형끼리 형 변환 가능
- boolean은 다른 기본형과 호환 X
- 기본형과 참조형의 형 변환을 하기 위해는 Wrapper 클래스(ex. Integer, Byte)를 사용
5. 형 변환 방법
- byte >> short, char >> int >> long(64bit) >> float(32bit) >> double
- short <-> char은 불가능
- 명시적 형 변환 (큰 집 >> 작은 집)
int i = 300;
byte b = (byte) i;
- 묵시적 형 변환 (작은 집 >> 큰 집)
byte b = 10;
int i = b;
- 두 개의 피연산자 중 큰 타입으로 형 변환 후 연산을 진행한다
- 산술 이항 연산자는 연산 전에 피 연산자의 타입을 일치시킨다.
6. 연산
- 비트 연산( &, |, ^, ~ )은 뒤에 까지 모두 확인
System.out.println((a += 10) > 15 | (b -= 10) > 15);
- 논리 연산( &&, ||, ! )은 앞에가 true이면 뒤를 확인하지 않는다.
System.out.println((a += 10) > 15 || (b -= 10) > 15);
7. 배열
- 동일한 타입의 데이터 0개 이상을 하나의 연속된 메모리 공간에서 관리하는 것
- 크기 변경 불가
- Type에 대한 default 초기화
- Array 만들기
// 타입[] 변수명;
int[] arrays;
String[] names;
- 변수의 타입과 저장하는 데이터 타입
int a; // a는 int 타입변수
int[] arr; // arr은 reference 타입변수
- 배열의 생성과 초기화
int[] points = new int[3]; // int타입의 자료 3개를 저장할 수 있는 배열을 메모리에 생성
// 배열은 new int[3]
// points는 메모리에 있는 배열을 가리키는 reference 타입 변수 >> 배열의 주소값을 저장
// 다른 방법1
// 한번만 사용할 때 자주 사용
int[] b = new int[] {1,3,5,7};
// 다른 방법2
int[] c = {1,3,5,7}; // 선언 시에만 사용 가능
- 배열의 출력
// 방법1
Arrays.toString();
// 방법2
for (int x : arrays) {
System.out.println(x);
}
// 방법3
for (int i; i < arrays.lenghth(); i++) {
System.out.println(arrays[i]);
}
- 문자열을 char[]에 저장
String org = "SSAFY";
char[] chars = new char[org.length()];
chars = org.toCharArray();
- 2차원 배열
// 방법1
int[][] arrays = new int[4][3]; // 행 : 4, 열 : 3
int[][] arrays = new int[4][]; // 행 : 4, 열의 크기는 추후에 넣을 수 있다.
// 방법2
int[][] arrays = {{0, 1, 2}, {1, 2, 3}, {2, 3, 4}};
'Web > JAVA' 카테고리의 다른 글
예외 처리(exception handling) (0) | 2024.01.22 |
---|---|
abstract class, Interface, generic (0) | 2024.01.19 |
데이터 은닉(Encapsulation), 다형성(Polymorphism), Singleton (0) | 2024.01.18 |
상속(Inheritance), overriding, package, import, 제한자 (0) | 2024.01.17 |
클래스, 객체, 메서드, 변수, 생성자 (0) | 2024.01.16 |