1.자바 프로그램의 기본 구조
클래스, 메소드
1) 클래스 만들기
a. Hello 이름의 클래스 선언
public class Hello {
}
b. class 키워드로 클래스 선언
c. pulic 선언하면 다른 클래스에서 접근 가능
d. 클래스 코드는 {} 내에 모두 작성
2) main() 메소드
a. 자바 프로그램은 main()에서 실행 시작
public static void main(String[] args) {
}
b. public static void으로 선언
c. String[] args로 실행 인자를 전달 받음
3) 메소드 호출
a. sum() 메소드 호출
int i = 20;
s = sum(i,10);
b. sum() 호출 시 변수 i의 값과 정수 10을 전달
c. sum() n,m에 각각 20,10, 값 전달
d. sum() n과 m 값을 더한 30 리턴
e. 변수 s는 정수 30을 전달받음
2. 식별자(identifier)
1) 식별자란?
클래스, 변수, 상수, 메소드 등에 붙이는 이름
2) 식별자의 원칙
a. ‘@’, ‘#’, ‘!’와 같은 특수 문자, 공백 또는 탭은 식별자로 사용할 수 없으나 ‘_’, ‘$’는 사용 가능
b. 유니코드 문자 사용 가능. 한글 사용 가능
c. 자바 언어의 키워드는 식별자로 사용불가
d. 식별자의 첫 번째 문자로 숫자는 사용불가
e. ‘_’ 또는 ‘$’를 식별자 첫 번째 문자로 사용할 수 있으나 일반적으로 잘 사용하지 않는다.
f. 불린 리터럴 (true, false)과 널 리터럴(null)은 식별자로 사용불가
길이 제한 없음
g. 대소문자 구별
3) 식별자 예시
a. 사용 가능한 예
int name;
char student_ID; // '_' 사용 가능
void $func() { } // '$' 사용 가능
class Monster3 { } // 숫자 사용 가능
int whatsyournamemynameiskitae; // 길이 제한 없음
int barChart; int barchart; // 대소문자 구분. barChart와 barchart는 다름
int 가격; // 한글 이름 사용 가능 but 권장하지 않음
b. 사용 불가능한 예
int 3Chapter; // 식별자의 첫문자로 숫자 사용 불가
class if { } // 자바의 예약어 if 사용 불가
char false; // false 사용 불가
void null() { } // null 사용 불가
class %calc { } // '%'는 특수문자
>> 이거 은근 헷갈림.. 잘 알아두기
tip. 좋은 이름 붙이는 이름 습관 (코드는 나만 보는 것이 아님!!)
1) 목적을 나타내는 이름 붙이기 ex) s보다 sum
2) 충분히 긴 이름으로 붙이기 ex) AVM보다 AutoVendingMachine
3) 첫 번째 문자는 대문자로 시작
4) 각 단어의 첫 번째 문자만 대문자
5) 상수 이름 모든 문자를 대문자로 표시 ex) final static double PI = 3.141592;
3. 자바의 기본 타입
4. 변수와 선언
1) 변수란?
프로그램 실행 중에 값을 임시 저장하기 위한 공간이며 데이터 타입에서 정한 크기의 메모리 할당
2) 변수 선언
변수의 타입 다음에 변수 이름을 적어 변수를 선언
3) 변수 선언과 초기화
5. 리터럴(literal)
1) 리터럴이란?
a. 프로그램에서 직접 표현한 값
b. 정수, 실수, 문자, 논리, 문자열 리터럴 있음
2) 정수 리터럴와 실수 리터럴
3) 문자 리터럴
4) 논리 리터럴
6. 상수
1) 상수 선언
a. fianl 키워드 사용
b. 선언 시 초기값 지정
c. 실행 중 값 변경 불가
7. 타입 변환
1) 자동 타입 변환
a. 작은 타입은 큰 타입으로 자동 변환 (컴파일러에 의해 이루어짐)
b. 치환문(=)이나 수식 내에서 타입이 일치하지 않을 때
ex) long m = 25; // 25는 int 타입. 25가 long 타입으로 자동 변환되는 사례
ex) double d = 3.14 * 10; // 실수 연산을 하기 위해 10이 10.0으로 자동 변환
// 다른 피연산자가 3.14가 실수이기 때문
2) 강제 타입 변환
a. 자동 타입 변환이 안 되는 경우 : 큰 타입이 작은타입으로 변환할 때
b. 강제 타입 변환
8.Scanner
1) Scanner 클래스이란?
System.in에게 키를 읽게 하고, 읽은 바이트를 문자, 정수, 실수 , 불린 , 문자열 등 다양한 타입으로 변환하여 리턴
2) Scanner를 이용한 키 입력받기
a. Scanner는 입력되는 키 값을 공백으로 구분되는 아이템 단위로 읽음
b. 공백 문자: '\t' , '\f' , '\r' , ' ' , '\n'
c. 개발자가 원하는 다양한 타입의 값으로 바꾸어 읽을 수 있음
3) Scanner 주요 메소드
9. 연산자
1) 연산자
2) 산술 연산자
a. 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%) , /와 % 응용
3) 증감 연산
a. 1 증가 혹은 감소 시키는 연산
4) 대입 연산
a. 연산의 오른쪽 결과는 왼쪽 변수에 대입
5) 비교 연산
a. 두 피연산자를 비교하여 true 또는 false의 논리 값을 내는 연산
6) 논리 연산
a. 논리 값으로 NOT, OR, AND, XOR 논리 연산. 논리 값을 내는 연산
10. if 문
1) 단순 if문
a. if의 괄혼 안에 조건식(논리현 변수나 논리 연산)
b. 실행문장이 단일 문장인 경우 둘러싸는 {,} 생략 가능
2) if-else 문
a. 조건식이 true면 실행문장1 실행 후 if-else 문을 벗어남
b. false인 경우에 실행문장2 실행 후, if-else 문을 벗어남
3) 다중 if-else 문
a. if-else가 연속되는 모양
b. 조건문이 너무 많은 경우, switch 문 사용 권장
11. switch문
1) switch문은 식과 case 문의 값과 비교
a. case의 비교 값과 일치하면 해당 case의 실행문장 수행
b. break를 만나면 switch문을 벗어남
c. case의 비교 값과 일치하는 것이 없으면 default 문 실행
2) default문은 생략 가능
3) switch문에서 벗어나기
a. break문 만나면 switch문 벗어남
b. case 문에 break문이 없다면, 다음 case문으로 실행 계속
c. 언젠가 break를 만날 때까지 계속 내려 가면서 실행
4) case 문의 값
a. 문자, 정수, 문자열 리터럴만 허용
b. 실수 리터럴은 허용되지 않음
'JAVA' 카테고리의 다른 글
java #문제풀기2 객체문제 (0) | 2021.05.02 |
---|---|
java #문제 풀기1 객체문제 (0) | 2021.05.01 |
java #4 메소드, 가비지 컬렉션, 맴버의 접근, static, non-static (0) | 2021.04.30 |
java #3 클래스와 객체(객체 지향, 생성자, this) (0) | 2021.04.29 |
java #2 반복문과 배열 (0) | 2021.04.28 |