* 세미콜론(;), 블록({}), 공백(whitespace)
- 논리적인 한 문장이 끝날 때 반드시 세미콜론을 붙여줍니다.
- 블록은 중괄호로 묶은 부분을 말하며, 복합문을 구성하는 요소입니다.
즉, 종속된 문장이 다수 개일때,' { ' 로 시작하고 ' } '로 닫습니다.
- 공백은 빈칸, 탭, 빈 줄 등이 있으며, 이러한 공백은 소스코드를 보기 좋게 하고 알아보기 쉽게 하는데 사용합니다. 즉, 프로그램을 구조화 형태로 표현하는데 유용합니다.
* 식별자(identifier)
- 자바 언어에서 식별자는 클래스명, 변수명, 메서드명 등 사용자가 만들어서 이용하는 고유한 이름을 식별자라고 합니다.
- 식별자 생성 규칙(꼭 지켜야할 규칙)
1. 대,소문자를 구분하고 길이 제한은 없습니다.
2. 문자와 숫자, 밑줄(_), 달러기호($)를 포함할 수 있습니다.
3. 문자, 밑줄, 달러기호로 시작할 수 있습니다.
4. 숫자로는 시작할 수 없습니다.
5. 공백을 포함할 수 없습니다.
6. 키워드(예약어)는 식별자로 사용할 수 없습니다.
* 식별자 이름 규칙(개발자들의 약속)
1. 클래스/인터페이스 이름 규칙
- 명사나 형용사를 서술적으로 연결하여 사용합니다.
- 첫글자는 대문자로 표기합니다.
- 연결된 단어의 첫 글자도 대문자로 표기합니다.
ex) HelloWorld, MyCalculator
2. 변수 이름 규칙
- 명사적 의미를 갖게 만듭니다.
- 첫글자는 소문자, 연결 단어의 첫글자는 대문자로 표기합니다.
ex) customerAge, phoneNumber
3. 메서드(함수) 이름 규칙
- 동사적 의미를 갖게 합니다.
- 첫글자는 소문자, 연결 단어의 첫글자는 대문자로 표기합니다.
- 메서드 이름 뒤에는 반드시 한 쌍의 괄호"()"가 뒤따릅니다.
- 일반적으로 메서드 이름에는 "_"를 사용하지 않습니다.
ex) writeView(), join()
4. 상수 이름 규칙
- 모든 문자는 대문자로 표기합니다.
- 단어와 단어 사이는 "_"로 연결합니다.
ex) NUMBER_ONE, LOGIN_OK
* 변수(variable)
- 변수는 프로그램이 실행되는 동안 어떤 값을 저장하기 위해 사용하는 공간입니다.
- 변수는 프로그램이 실행될 때마다 저장되어 있는 값이 바뀔 수 있습니다.
- 변수에는 복수 개의 값을 저장할 수 없고, 하나의 값만 저장할 수 있습니다.
- 변수에는 다양한 타입의 값을 저장할 수 없고, 한가지 타입의 값만 저장할 수 있습니다.
- 변수 선언 방법
<데이터 유형> <변수 식별자 이름>;
- 같은 타입의 변수는 콤마(,)를 사용하여 한꺼번에 선언할 수 있습니다. ex) int a, b, c;
- 변수를 선언하고 처음 값을 저장할 경우 이러한 값을 초기값이라고 부릅니다.
- 변수에 초기값을 주는 행위를 '초기화'라고 부릅니다.
* 변수의 사용 범위
- 변수는 중괄호"{ }" 안에서 선언되고 사용됩니다.
- 변수는 선언된 블록 내에서만 사용이 가능합니다.
- 변수는 블록이 끝나면 메모리상에서 제거됩니다.
* 정수형 데이터 타입
- 정수형에는 4가지 유형이 있습니다.
- 정수형 변수는 byte, short, int, long 키워드(예약어)를 사용하여 선언합니다.
- 자바에서 정수의 2진수 표현 방법은 "부호와 2의 보수" 표현방법을 사용합니다.
- 정수형은 10진수뿐만 아니라 2진수, 8진수, 16진수 등의 형태도 표현할 수 있습니다.
- 정수형의 디폴트는 int이므로 long형을 지정하려면 할당할 숫자 뒤에 "L"을 붙여줍니다.
* 실수형 데이터 타입
- 실수형에는 2가지 유형이 있습니다.
- 실수형 변수를 선언할 때 float, double 키워드를 사용합니다.
- 실수형은 디폴트형이 double이므로 float형을 지정하려면 숫자 뒤에 "F"를 붙여줍니다.
- 실수형 표현은 소수점 표현방식인 10진수형 표현방식과, 지수 형식으로 나타내는 과학기술용 표기법이 사용됩니다.
* 논리형 데이터 타입(boolean)
- 논리형 값에는 true와 false가 있습니다.
- 논리형은 다른 데이터 타입과 서로 형 변환(type casting)할 수 없습니다.
- 또한 C언어에서처럼 숫자 값을 논리 값으로 해석하여, 0을 false로 다루고 0이 아닌 값을 true로 해석하는 것을 허용하지 않습니다.
- 논리형 데이터타입에서는 오직 true와 false만 허용합니다.
* 문자형 데이터 타입
- 단일 문자는 char형으로 표현합니다.
- char형은 0~ 2^16의 범위 내에서 부호가 없는 16비트(2byte) 숫자를 사용하여 유니코드 문자를 표현합니다.
- char형 값은 홑 따옴표 (' ')안에 넣어야 합니다.
- 문자열을 표현할 때는 String을 사용합니다.
- String은 기본 데이터형이 아닙니다. 문자열을 좀 더 쉽게 다루기 위해 만들어 놓은 클래스입니다.
- String 클래스는 문자열을 표현하는데 사용됩니다.
- 문자열 값은 겹 따옴표(" ")안에 넣습니다.
* 형 변환(type casting)
- 데이터의 크기
# byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)
- float은 4바이트인데 long보다 큰 타입인 이유는 표현할 수 있는 값의 경우의 수가 float이 더 크기 때문입니다.
- 크기가 작은 데이터 타입을 크기가 큰 데이터 타입으로 변환할 때는 캐스트 연산자를 사용하지 않아도 컴파일러에 의해 자동으로 형 변환이 일어납니다.(자동 형 변환: Promotion)
- 크기가 큰 데이터 타입을 크기가 작은 데이터 타입으로 변환할 때는 반드시 캐스트 연산자를 사용하여 변환할 데이터 타입을 명시해야 합니다.(강제 형 변환: Type Casting). 그렇지 않으면 컴파일시 오류가 발생합니다.
- 서로 다른 타입의 데이터의 연산을 진행할 경우 두 데이터 중 큰 데이터 타입을 가진 쪽에 맞추어 자동 형 변환된 후 연산을 진행합니다.
- int형보다 작은 데이터타입의 연산을 진행할 경우 자동으로 int형으로 형 변환이 이루어집니다.