안녕하세요. 운이 좋게도! 혼공단을 알게되어 신청기간에 맞춰 신청할 수 있었습니다.
이번 혼공단 11기에 신청한 김에 <혼자 공부하는 자바>를 6주동안 열심히 공부해보겠습니다. 셀프 화이팅~ 🤓
Chap 1. 자바 시작하기
자바란?
1995년도에 처음 썬 마이크로시스템즈에서 발표한 후, 가장 성공한 프로그래밍 언어로 다양한 분야에서 사용되고 있습니다. 특히 안드로이드폰에서 실행하는 어플리케이션, 웹 사이트를 개발하는 핵심언어입니다.
자바의 특징
- 모든 운영체제에서 실행 가능
- 객체 지향 프로그래밍
- 메모리 자동 정리
- 무료 라이즈러리 풍부
자바 개발 도구 설치
혼공자에서는 윈도우를 기준으로 자바 환경 세팅하고 있습니다. 오라클에서 JDK를 다운받아 이클립스를 통해 진행합니다.
저는 맥을 사용하고 있어 다른 방법으로 자바와 인텔리제이 환경을 구축했습니다. 책에서는 자바가 처음이라면 이클립스를 추천하고 있습니다. 🥲 맥으로 혼공자를 공부하실 다른 분에게 도움이 될까 제가 한 방법을 남겨두겠습니다!
- 인텔리제이 다운로드 링크로 이동: https://www.jetbrains.com/ko-kr/idea/download
- Community Edition (무료 버전) 선택
-
macOs: M1, M2: Apple Silicon 선택, 나머지: Intel 선택
인텔리제이 다운 후 실행합니다.
실행하면 처음 보이는 화면입니다! 새로운 프로젝트 생성 눌러주세요.
처음 실행하면 <No SDK> 라고 보이고 클릭해서 다운로드 SDK 선택해줍니다.
저는 21버전 oracle openJDK에서 M2 사용하고 있기 때문에 aarch64로 선택해줬습니다!
다운로드 완료되길 기다렸다가
완료되면 JDK가 선택되어 있습니다!!
프로젝트가 열리면 잘 설치되었는지 초록색 화살표 버튼을 눌러 Run 시켜줍니다.
잘 설치되었다면 콘솔창에 12345가 보이실겁니다!!
Chap 2. 변수와 타입
변수란?
값을 저장할 수 있는 메모리 번지에 붙인 이름입니다. 변수를 통해 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있습니다. 자바 언어에서는 값을 저장할 때 대입 연산자(=)를 사용합니다. =를 기준으로 오른쪽의 값을 왼쪽에 저장한다는 의미입니다.
int a;
a = 2024
int b = 17
int 타입의 a를 선언하고 a에 2024를 저장합니다. 또한 b처럼 변수 선언과 동시에 초기값을 지정할 수도 있습니다.
변수선언
변수에 어떤 타입의 데이터를 저장할 지, 변수의 이름은 무엇으로 할 지 결정하는 것입니다. 변수 이름을 결정할 때는 명명 규칙을 따라야 합니다.
- 첫 번째 글자는 문자이거나 '$','_'이어야 하고 숫자로 시작할 수 없습니다.
- 영어 대소문자를 구분합니다.
- 첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 첫 문자를 대문자로 합니다.
- 문자 수의 제한은 없습니다.
- 자바 예약어를 사용할 수 없습니다.
변수 사용
변수에 저장된 값을 출력하거나 산술 연산식에 사용할 수 있습니다. 또한 다른 변수에 대입해 값을 복사할 수 있습니다.
변수의 사용 범위는 자신이 선언된 위치에서 자신이 속한 블록 내부까지만 사용이 가능하고 블록 밖에서는 사용할 수 없습니다. 메소드 블록 내에서 선언된 변수를 로컬 변수라고 부릅니다.
변수의 타입
구분 | 저장된 값에 따른 분류 | 타입의 종류 |
기본 타입 | 정수 타입 | byte, char, short, int, long |
실수 타입 | float, double | |
논리 타입 | boolean |
정수 타입
타입 | 메모리 사용 크기 | 저장되는 값의 허용 범위 | ||
byte | 1byte | 8bit | -2^7 ~ (2^7-1) | -128 ~ 127 |
short | 2byte | 16bit | -2^15 ~ (2^15-1) | -32,768 ~ 32,767 |
char | 2byte | 16bit | 0 ~ (2^16-1) | 0 ~ 65535(유니코드) |
int | 4byte | 32bit | -2^31 ~ (2^31-1) | -2,147,483,648 ~ 2,147,483,647 |
long | 8byte | 64bit | -2^63 ~ (2^63-1) | -9,233,372,036,854,775,808 ~ 9,233,372,036,854,775,807 |
실수 타입
타입 | 메모리 사용 크기 | 저장되는 값의 허용 범위 | 정밀도(소수점 이하 자리) | |
float | 4byte | 32bit | (1.4 X 10^-45) ~ (3.4 X 10^38) | 7자리 |
double | 8byte | 64bit | (4.9 X 10^-324) ~ (1.8 X 10^308) | 15자리 |
논리 타입
주로 두 가지 상태값에 따라 조건만과 제어문의 실행 흐름을 변경하는 데 사용하며 true, false를 사용합니다.
타입 변환
- 자동 타입 변환: 자동으로 타입이 변환되는 것입니다. 갑의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생합니다.
- 강제 타입 변환: 강제로 타입을 변환하는 것을 말합니다. 값의 허용 범위가 큰 타입을 허용 범위가 작은 타입으로 쪼개져 저장하는 것을 말합니다.
- 문자열 결합 연산: 문자열과 + 연산을 하면 다른 피연산자도 문자열로 변환되어 문자열 결합이 됩니다.
입출력
- System.out.println(): 괄호 안의 매개값을 모니터로 출력하고 개행합니다.
- System.out.print(): 괄호 안의 매개값을 모니터로 출력하고 개행 하지않습니다.
- System.out.printf(): 괄호 안의 매개값을 형식대로 출력합니다.
- System.out.read(): 키보드에서 입력된 키코드를 읽습니다.
Chap 3. 연산자
연산자란?
연산에 사용되는 표시나 기호를 연산자라고 합니다. 연산자와 함께 연산되는 데이터를 피연산자라고 하며 연산자와 피연산자를 사용한 연산 과정을 연산식이라고 합니다.
연산자 정리
연산자 종류 | 연산자 | 피연산자 수 | 산출값 | 연산방향 |
증감, 부호, 논리 | (++, --), (+, -), ! | 단항 | 숫자, 숫자, boolean | <- |
산술 | *, / , % | 이항 | 숫자 | -> |
산술 | +, - | 이항 | 숫자 | -> |
비교 | <, >, <=, >=, instanceof | 이항 | boolean | -> |
비교 | ==, != | 이항 | boolean | -> |
논리 | & | 단항, 이항 | boolean | -> |
논리 | ^ | 단항, 이항 | boolean | -> |
논리 | | | 단항, 이항 | boolean | -> |
논리 | && | 단항, 이항 | boolean | -> |
논리 | || | 단항, 이항 | boolean | -> |
조건 | ?: | 삼항 | 다양 | -> |
대입 | =, +=, -=, *=, /=, %= | 이항 | 다양 | <- |
위에 있을수록 우선순위가 높습니다!
'Backend > JAVA' 카테고리의 다른 글
[혼공자] 2주차 Chap 4 - 5 (1) | 2024.01.14 |
---|