실습환경
- windows 10
- java sdk: java SE 11
- IDE: Eclipse
SDK(JDK)
- Development Kit
JAVA
- sun micro systems
- 제임스 고슬링에 의해서 만들어짐
개발에 필요한 도구
- JDK
- Text Editor
- 워드나 한글 프로그램은 개발에 사용 불가
- 메모장 같은 프로그램 필요
Compile(번역)
- *.java(소스파일)-> *.class(자바 바이트 코드 )-> 기계어(0,1/binary)
- 컴파일 하는 방법
- cmd창(명령 프롬프트)
- window key + r -> cmd
CLI(Command Line Interface)
GUI(Graphic User Interface)
IDE(Intergrated Dvelopment Environment)
- 통합개발환경
- 개발에 필요한 도구(JDK + Editor + 개발에 필요한 유틸)
- Java -> Eclipse 주로 사용
환경변수 설정
- JAVA_HOME = C:\Program Files\Java\jdk-17.0.1
JAVA?
- Java를 배운다는 것은?
- 자바의 특징
- Java의 가장 큰 장점
- 1세대: (절차적 언어)C, portran, pascal, ada, ...
- 함수를 통한 코드 재사용성의 증가
- 소스코드의 관리와 유지보수
- 2세대: 객체지향 언어(C++, GO, Java, ...)
- 자바는 가장 객체지향 다운 언어
- 클래스를 통한 코드의 재사용성 증가
- 3세대: 함수형 언어
- 자바는 함수형 문법을 지원(Java8)
- 1세대: (절차적 언어)C, portran, pascal, ada, ...
JAVA가 실무에서 많이 사용되나요?
- 모든 분야에서 최적의 성능을 내는 언어는 없음
- 시스템 개발, 웹 개발, 게임 개발, 인공지능 등등
- 시스템 개발: C, C++(대체불가)
- 웹 개발: 프론트(html, css, javascrpt), 백엔드(자바, 파이썬, 루비, php, ...)
- 게임 개발: C++
- 인공지능: Lisp, python, R, java, ...
코드 작성 시 주의사항
- mian이 들어있는 클래스의 이름은 파일 이름과 동일해야 함
- 명령의 끝에는 세미콜론(;)을 붙여줘야 함
- 코드 작성 시, 공백과 대/소문자에 주의해야 함
변수(Variable)
메모리(memory)
- 자료를 저장할 수 있는 공간
- 명령어를 실행한 결과, 파일에서 읽어들인 내용 등을 메모리 어딘가에 저장해두고, 꺼내서 사용 가능
- 자료를 처리하고싶은 경우, 메모리 어딘가에 있어야 함
- 위와 같은 개념을 프로그래밍 언어에서는 변수라고 함
- 자료가 메모리 어디에 있는지, 어떻게 저장이 되는지는 JVM이 결정
바이트(byte)
- 정보를 표현하는 최소 단위: 비트(bit)
- 1bit는 0 또는 1을 표현
주소(address)
- 메모리 상에서 값(자료)이 저장된 위치
- 자료는 비트의 형태로 저장이 되고, 1byte(8bit)마다 번호가 부여됨
- 메모리의 첫 번째 byte의 주소는 0이고
- 그 이후부터 1씩 증가하면서 번호가 차례대로 부여
- 메모리의 크기가 아주 크기 때문에, 주소도 굉장히 크게 나온다.
- 값이 저장된 위치(주소)를 알고 있어야 함
- 주소를 알고 있어야 해당 위치에서 값을 다시 꺼내올 수 있음
- 주소는 숫자로 구성, 메모리의 크기가 매우 크기 때문에, 값이 저장된 위치를 숫자 형태로 전부 기억할 수 없음
- 자바는 메모리의 주소를 이용한 접근을 지원하지 않음
- 결국 변수란, 값이 저장된 위치를 숫자 대신에 사용할 수 있는 이름을 의미
변수의 3대 요소
- 주소
- 값(자료)
- 크기
변수의 이름
- 변수의 이름은 숫자로 시작할 수 없다
- 특수문자 사용 불가(_, $)
- 자바에서 미리 정의된 이름(예약어) 사용불가
변수의 타입
- 변수의 타입이 갖는 가장 큰 의미는 크기
- 메모리에 저장하려는 값의 형태에 따라서 크기가 정해짐
숫자(정수, 실수)
- 정수
- byte(1), short(2), int(4), long(8)
- 실수
- float(4), double(8)
- 논리형(참, 거짓)
- true, false
- boolean(1)
문자
- char(2), String(문자들의 집합/문자열)
- 문자: ' ', 문자열: " " 로 작성
컴퓨터가 문자를 처리하는 방법
- 컴퓨터는 기본적으로 숫자만 처리(이진수)
- 문자 인식 불가능
- 문자를 처리하려면?
- 문자에 대응되는 숫자를 만들자 ⇒ 아스키 인코딩
- 문자에 대응되는 유일한 숫자
- 아스키 코드는 0부터 127까지 128개의 문자에 대한 숫자 테이블(표준)
- 48 65 97 (0, A, a)
- 왜 1바이트가 8비트가 되었는가?
- 8개의 비트면 모든 문자 표현 가능
- 8비트는 2^8개 만큼 표현(256/0~255)
- MSB(Most Signature Bit/최상위 부호비트) ⇒ 음수: 1, 양수:0
- 그래서 MSB를 제외한 7개의 비트로 표현
- 한글처리
- UTF-8, CP949, EUC-KR
'프로그래밍 언어 > Java 프로그래밍' 카테고리의 다른 글
Java Day7 - 객체지향 프로그래밍(클래스, 객체, ...) (1) | 2021.11.09 |
---|---|
Java Day6 - 메서드 (0) | 2021.11.08 |
Java Day4 - 반복문 (0) | 2021.11.04 |
Java Day3 - 연산자, 배열, 조건문 (0) | 2021.11.03 |
Java Day2 - 문자, 타입 변환, 표준 입/출력, 파일 입/출력 (0) | 2021.11.02 |