1. 변수
package com.young.java.ch02;
public class VariableBasic {
public static void main(String[] args) {
// 1. Declare Variables
int studentNum;
// 2. Declare Variables (Initialization)
studentNum = 500;
// 3. Calculation (Assignment)
studentNum = 600;
}
}
package com.young.java.ch02;
public class VariableUsage {
public static void main(String[] args) {
// 1. Declarate & Initialize Variables at the same time
int studentNum = 500;
// 2. Calculation (Assignment)
studentNum = 600;
}
}
2. 상수
- 자바에서 가장 올바르게 상수를 정의하는 방법은 함수 외부에(즉, 클래스 수준으로) 정의하는 것이다.
- 상수 이름은 대문자와 underscore만 사용한다.
- 상수는 선언과 정의를 동시에 하는 것이 바람직하다.
- 상수를 선언하는 키워드:
static final
package com.young.java.ch02;
public class ConstantBasic {
// 1. Initialize Constants generally
static final double PI = 3.14159236;
}
3. 데이터 타입
- 원시형(primitive type): int, double, boolean, char, ...
- 참조형(reference type): string
4. 연산자
- 산술 연산자
- 대입 연산자
- 비교 연산자
- 논리 연산자
- 비트 연산자
5. 데이터의 입력과 출력
Scanner
클래스 사용
Scanner
의 메서드들: nextInt()
, nextDouble()
, nextLine()
Scanner s = new Scanner(System.in);
System.out.println("이름을 입력하세요? ");
String name = s.nextLine();
6. 배열
- 배열은 같은 데이터 타입들만 단일 변수에 저장할 수 있다.
- 배열은 인덱스로 접근 가능하다.
- 배열은 한번 정의하면 늘어날 수 없다. (즉, 데이터 크기가 고정됨)
- 다차원인 배열을 정의하는 것이 가능하다.
- 배열 바로 정의하기
- 배열 선언 후 정의하기
-
double[] sensorData; // Declare Array named sensorData
sensorData = new double[] { // Assign Arrray named sensorData
1.0, 2.2, 3.1,
};
- 배열의 정의를 분리할 때는 어떤 타입으로 배열을 할당할지를 별도로 표기해주어야 한다.
new
키워드를 사용하는 이유: 배열도 객체이기 때문
- 다차원 배열 정의하기
-
int[][] gradeMulti = {{80, 95, 92, 70}, {70, 99, 75, 100}};
- 배열의 약점
- 길이가 고정되어 있다는 점. out of bound 시
java.lang.ArrayIndexOutOfBoundsException
발생
- 만약 데이터가 수시로 추가/삭제될 가능성이 있어 배열 길이의 관리가 어려운 경우 ArrayList 등의 자료구조 클래스로 교체한다.