컴퓨팅적 사고
- 순서와 차례를 바탕으로 문제를 해결하는 것
프로그래밍 언어
- 기계와 의사소통을 할 수 있게 해주는 언어
자바(JAVA)
- 1995년도 제임스 고슬링은 가전기기 운영을 위한 언어로 JAVA를 완성
- 이식성이 높은 언어
- 객체 지향 언어
- 함수적 스타일 코딩을 지원
- 메모리를 자동으로 관리
- 다양한 어플리케이션 개발 가능
- 멀티스레드를 쉽게 구현 가능
- 동적 로딩
- 풍부한 오픈 소스 라이브러리
Java 개발 환경 구축
JDK(Java Development Kit) 다운받기
https://www.oracle.com/java/technologies/downloads/
이클립스를 설치해보자
Eclipse Downloads | The Eclipse Foundation
자바의 기본 자료형 (Primitive Data Type)
1. 논리형
- boolean : 참과 거짓 / 1byte
boolean a = true;
boolean b = false;
2. 문자형
- char : character를 의미하며 유니코드 문자를 표현 / 2byte
char c = 'a';
3. 정수형
- byte, short, int, long
byte : -128~127 / 1byte
short : -32,768 ~ 32,767 / 2byte
int : -2,147,483,648 ~ 2,147,483,647 / 4byte
long: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 /8byte
- 보편적으로 integer을 의미하는 int를 많이 쓴다.
int d = 8;
4. 실수형
float : +-(1.40x10^-45 ~ 3.40x10^38) / 4byte
double : +-(4.94x10^-324 ~ 1.79x10^308) / 8byte
크기의 차이로 정밀도를 기준으로 선택하면 된다. double이 손실값이 더 적다!
double e = 3.14;
✔ 강제형변환 (명시적형변환)
큰 자료형에서 작은 자료형으로 이동할 때 오류가 발생하는것을 막기위해서 강제적으로 형변환 해주는 것!
float h = (float) 3.14
float f = 1.5f;
✔ 묵시적형변환(자동형변환)
작은자료형에서 작은자료형으로 이동할때 자동으로 형변환을 시켜줌!
double g = e;
✔ 레퍼런스형인 String
- 기본 데이터타입은 아니지만 자주쓰기 때문에 미리 적어놓겠다!
- char은 한글자밖에 표현을 못하기 때문에 String을 사용한다
String name7 = "abc";
위 예시들은 기본데이터형을 사용하여 변수를 선언한 것이다
변수 : variable
변할 수 있는 수로 프로그래밍에서는 데이터를 저장하는 공간을 의미한다.
변수를 선언할 때는
자료형 변수명 = 값;
형태를 띈다. 현재 a에는 0이라는 값이 할당 돼 있다.
int a = 0;
a의 값을 재할당할때는
자료형 없이
변수명 = 값;
이렇게 작성하면 된다.
a = 1;
그와 반대되는 개념으로 상수가 있다.
상수 : constant
변하지 않는 수이고, 데이터를 담을 수는 있지만 한번 넣으면 변하지 않는다.
즉 절때 변하면 안되는 중요한 데이터는 상수로 표현한다!
final 자료형 변수명 = 값;
final b = 10;
변수명을 지정해줄때는 규칙이 존재한다.
1. 예약어 사용 불가능
2. 대소문자가 구분되며 길이제한이 없다 .
(int true; != int TRUE;)
3. 숫자로 시작할 수 없다.
4. 특수문자는 _와$만 허용된다.
그 외에도 필수는 아니지만 프로그래머들간의 규칙이 있다.
1. 변수 이름의 첫 글자는 항상 소문자
int sum = 0;
2. 변수 이름이 여러단어로 구성 돼 있을 시 단어의 첫글자를 대문자
int maxValue = 0;
'Java > Java' 카테고리의 다른 글
[Java] while문 예제 로그인 프로그램/계산기 프로그램/ 플러스게임 (0) | 2022.08.02 |
---|---|
[Java] 반복문 while/do-while (0) | 2022.07.28 |
[Java] 조건문 응용 실습 - 자판기 프로그램 if/ switch-case (0) | 2022.07.24 |
[Java] 제어문/ 조건문 (0) | 2022.07.24 |
[Java] 입출력문과 연산자 (0) | 2022.07.23 |