주석과 식별자
- 한 줄 주석은 '// ...', 여러 줄 주석은 '/* ... */'로 적는다.
- '/** ... */' 주석은 javadoc 문서이다. 소스코드 맨 위에 작성하며, 클래스에 대한 설명을 기술한다.
- 식별자는 숫자로 시작할 수 없다.
- 식별자에는 특수문자를 쓸 수 없다. 단, '$'와 '_'는 허용된다.
- 식별자는 camelCase로, 클래스 이름은 PascalCase로 표현한다.
상수와 변수형
- 상수는 final int CONST_NUM = 0; 처럼 표현한다.
- 상수는 대문자 SNAKE_CASE로 표현한다.
- boolean, byte (char), short, int, long, float, double을 기본형 변수라 한다.
- char 타입은 2바이트이다. '\u0000'부터 '\uffff'까지 표현할 수 있다.
- 작은따옴표 'a'는 char 타입이고, 큰따옴표 "a"는 String 타입이다.
- 정수는 기본적으로 int형이다. long형은 long l = 10l; 처럼 표현한다.
- 실수는 기본적으로 double형이다. float형은 float f = 10.0f; 처럼 표현한다.
- 작은 자료형에서 큰 자료형으로는 묵시적 형변환이 가능하다.
- short s = 10; int i = s;
- 큰 자료형을 작은 자료형으로 저장하려면 명시해야 한다.
- int i = 10; short s = (short)i;
변수의 종류
- 클래스에 선언된 변수 중 static으로 선언된 변수를 클래스 변수라 한다.
- 클래스에 선언된 일반 변수는 인스턴스 변수라 한다.
- 메소드 내부에서만 사용되는 변수는 지역변수라 한다.
- 파라미터도 일종의 지역변수라고 할 수 있다.
- 객체 변수의 초기값은 null이다.
- 객체의 주소를 저장하는 변수를 참조형 변수라 한다.
- java.lang.String은 참조형이지만, 기본형처럼 다루는 것이 가능하다.
for 반복문과 for-each 반복문
- for 문의 용법은 C언어와 같다.
- for-each 반복문은 아래와 같은 것이다.
int[] items = {1, 2, 3};
for (int item : items) {
System.out.print(item);
}
배열
- 배열은 int[] arr; 또는 int arr[]; 처럼 선언할 수 있다.
- C언어와 달리 선언 시 크기를 미리 지정할 수 없다.
- 배열을 선언했으면 생성도 해야 한다.
- arr = new int[100]; 처럼 생성한다.
- int[] arr = {1, 2}; 처럼 선언과 생성을 한 줄에 할 수 있다.
- arr.length; 처럼 배열의 길이를 구할 수 있다.
문자열
- 문자열은 java.lang.String 클래스의 인스턴스이다.
- 문자열끼리 + 연산자를 사용하면 합쳐진다.
- 문자열과 다른 타입을 + 연산자로 합치면 전부 String이 된다.
입출력
- java.util.Scanner 클래스로 키보드나 파일 입출력이 가능하다.
// System.in를 생성자로 넣으면 키보드 입력을 받는다.
Scanner scanner = new Scanner(System.in);
// new File("a.txt")를 생성자로 넣으면 a.txt로부터 입력을 받는다.
Scanner scanner = new Scanner(new File("a.txt"));
// next() 메소드는 스페이스로 구분된 String 입력을 받는다.
String s = scanner.next();
// nextLine() 메소드는 줄바꿈으로 구분된 String 입력을 받는다.
String s = scanner.nextLine();
// nextInt(), nextDouble()로 정수 입력도 받을 수 있다.