[JAVA] 기본 문법
JAVA 프로그램과 기본사항
- 식별자
- 클래스, 변수, 메소드, 레이블 등의 이름
- 프로그래머가 작명함
- 작명 규칙
1) 대소문자 구분
2) 길이에 제한 없음
3) 영 대소문자, 한글, 숫자, ‘_’, ‘$’를 사용
4) 숫자로 시작할 수 없음
5) 키워드, true, false, null은 불가
- 클래스, 변수, 메소드, 레이블 등의 이름
- 식별자를 만들 때의 관례
- 클래스 : 첫 자는 대문자, 단어의 첫 글자는 대문자, 나머지는 소문자
- 메소드, 변수(필드) : 위와 같으나 첫 글자가 소문자
- 상수 : 모든 문자를 대문자로 표기하고, 단어 사이에 ‘_‘를 넣어 구분
- 변수의 경우 자료형을 표시하기 위한 접두어를 붙이기도 함
- 클래스 : 첫 자는 대문자, 단어의 첫 글자는 대문자, 나머지는 소문자
자료형
- 변수와 자료형
- 변수를 선언할 때, 저장되는 값의 자료형을 선언
- 메소드를 선언할 때, 반환 값의 자료형을 선언
- 자료형에 따라 적용 가능한 연산이 다름
- 변수를 선언할 때, 저장되는 값의 자료형을 선언
- 변수의 종류
종류 | 설명 |
---|---|
인스턴스 변수 | (클래스 정의에서 static이 아닌 필드) 객체가 소유하는 변수 |
클래스 변수 | (클래스 정의에서 static 필드) 객체가 공유하는 변수 |
지역 변수 | 메소드 내부(또는 블록 내부)에서 선언된 변수 |
파라미터 | 메소드 호출 시 전달하는 값을 저장하기 위한 변수 |
- 지역변수와 파라미터
- 선언된 곳부터 해당 블록이 종료될 때까지 유효함
- 지역변수는 초기값을 지정한 후 사용해야 함
- 지역 변수 선언에서 접근 제어자를 사용하지 않음
- 선언된 곳부터 해당 블록이 종료될 때까지 유효함
- 데이터 필드(인스턴스 변수 or 클래스 변수)
- 선언된 클래스 내부에서 사용 가능
- 클래스 외부에서의 사용 가능 여부는 접근 제어자에 따라 다름
- 선언된 클래스 내부에서 사용 가능
- 자바의 기본 자료형
분류 | 키워드 | 길이 |
---|---|---|
문자 | char | 2 |
논리 | boolean | 1 |
정수 | byte | 1 |
정수 | short | 2 |
정수 | int | 4 |
정수 | long | 8 |
실수 | float | 4 |
실수 | double | 8 |
- 상수
- 리터럴(실제 데이터 값) 또는 값이 변하지 않는 변수
- final, 선언 시 초기 값을 지정
- 리터럴(실제 데이터 값) 또는 값이 변하지 않는 변수
- 정수형 리터럴
- byte, short, int, long
- 소문자 l이나 대문자 L로 끝나면 long형, 나머지는 int
- byte와 short는 허용 범위 안에서 int와 호환됨
- byte와 short는 허용 범위 안에서 int와 호환됨
- 26L, 26, 0b11010(2진수), 032(8진수), 0x1a(16진수)
- byte, short, int, long
- 실수형 리터럴
- 소수점이 있는 숫자
- f나 F로 끝나면 float형, 나머지는 double형
- 123.4f, 123.4, 1.234e2
- 소수점이 있는 숫자
- 문자형 리터럴
- 1개의 문자를 표현하고 16비트 UNICODE로 인코딩 됨
- 단일 따옴표를 사용하고 Unicode 사용가능
- ‘\u0000’ ~’\uFFFF’
- (0~65536)의 수와 호환됨
- ‘\u0000’ ~’\uFFFF’
- (char)65, ‘A’, ‘\u0041’, ‘가’, ‘\uAC00’
- 1개의 문자를 표현하고 16비트 UNICODE로 인코딩 됨
참조형
기본형을 제외한 모든 자료형
- 배열, 클래스 형 등
- int anArray[];
- Circle myCircle;
- String szStr;
- int anArray[];
- 참조형 변수는 저장 공간에 참조 값을 저장함
- 실제 데이터는 별도의 공간에 저장됨
- 실제 데이터는 별도의 공간에 저장됨
- 기본형 변수는 저장 공간에 값 자체를 저장
형변환
- 묵시적 자료형의 변환
- 작은 타입에서 큰 타입으로는 자동 형변환
- byte → short → int → long → float → double
- byte → short → int → long → float → double
- 작은 타입에서 큰 타입으로는 자동 형변환
- 명시적 자료형의 변환
- 큰 타입에서 작은 타입으로 변환할 때는 명시적 형변환이 필요
- 문법은 (자료형)피연산자
- 예 : float f = (float)5.5;
- 문법은 (자료형)피연산자
- 큰 타입에서 작은 타입으로 변환할 때는 명시적 형변환이 필요
연산자와 제어문
구분 | 예 |
---|---|
산술연산자 | + - * / % 단항연산자 + - ++ – |
비교연산자 | > >= < <= == != instanceof |
논리연산자 | && || 단항 ! 삼항?: & | ^ |
비트연산자 | 비트논리 & | ^ ~ 비트이동 « » »> |
대입연산자 | = += -= *= /= %= &= ^= |= »= «= »>= |
형변환연산자 | (자료형) |
기타 | [] () |
- 명령행 매개 변수
- 프로그램을 실행할 때 전달하는 인자
- main() 함수에 전달되는 인자
- 문자열로 전달
- 프로그램을 실행할 때 전달하는 인자
- 문장의 종류
1) 수식문
2) 변수 선언문
3) 제어문
4) 기타
- 블록문 : { … }
- 레이블문 : 레이블 : 문장
- 예외처리문 : try-catch문
- 동기화문 : synchronized
제어문
- 제어문
- 프로그램의 실행은 기본적으로 위에서 아래로 순차 실행됨
- 제어문은 실행 흐름을 바꿈
- 제어문의 종류
1) 선택문 : 조건에 따른 문장의 선택. if문, switch문
2) 반복문 : 조건에 따른 문장의 반복. for문, while문, do-while문
3) 분기문 : return문, break문, continue
- 프로그램의 실행은 기본적으로 위에서 아래로 순차 실행됨