본문 바로가기
Back/Java

[열혈 java 프로그래밍, 윤성우] 자바 강의 1~2강 정리

by SIXXXX_ 2022. 2. 25.
728x90

1. Java 실행 및 변수

Program + Java Virtual Machine : 자바 프로그램

 

자바 컴파일러(javac.exe) 

소스파일(.java) ->  컴파일러 역할(javac.exe로 클래스파일로 바꿔줌) -> 클래스파일(.class): 바이트 코드(명령문)로 존재하는 파일 

 

자바 런처 java.exe

자바 가상 머신 구동시키고 프로그램 실행하게 이어주는 역할

클래스 파일을 대상으로 구동을 시작한다.

 

 

 

OS 위에 JVM(java JVM이 OS에 따라 바꿔줄 수 있다.)

ex. Window JVM, Linux JVM 가상머신이 다 다르다.

 

 

중괄호를 이용해 클래스와 메소드의 영역을 구분

class 클래스이름{

   public static void 메소드(main)(String[] args){ 

    명령할때 끝에 ;

    }

}

 

 

메모리 공간의 활용을 위해 필요한 변수(Variable)

선언으로 결정하는 것

- 변수용도(자료형)

- 변수이름

 

- (변수선언시, 메모리공간할당)

 

'='은 대입의 의미 : 오른쪽 값을 왼쪽으로 대입한다(값을 저장한다고 생각)

 

 

초기화 : 대입, 선언 동시에 

 

 

 

primitive data type (기본 자료형)

 

자료형과 데이터, 메모리 할당, 값의 범위

 

 

 

실수표현에 오차가 존재!

 

 

변수의 이름 짓는 규칙

- 대소문자 구분

- 숫자시작 불가

- $과 _이외 특수문자불가

- 키워드는 변수의 이름으로 사용할 수 없다.

 

변수 권장 규칙

- camelCase

- 변수, 메소드의 첫글자 소문자, 클래스의 첫글자 대문자

- 상수의 이름은 대문자, 단어는 _(언더바)로 구분한다.

2-2. 정수/실수의 표현 방식 이해하기

정수는 소수점 포함x

실수는 소수점 포함

문자 ' ' 

문자열 " "

 

 

16진수

int 4byte 

long 8byte : 표현할 수 있는 값의 범위가 넓어진다.

이러한 방식으로 메모리공간이 채워짐

 

정수+5의  바이트코드 00000101

0을 1로 1을 0으로 바꾸고 1을 더하면

정수 -5의 바이트코드 11111011

 

둘의 합은 0(올림수는 버리니까)

 

 

 

2-3. 실수의 표현 방식 이해하기

- 정수(오차X)와 실수(오차O)는 표현방식이 다르다

- 실수는 근사치를 표현할 수 밖에 없고 이를 표현 하는 방법의 기준이 생겼다. IEEE 754

 

실수 표현 방법의 기준 : IEEE 754, 최대한 가까운 실수의 표현이 저장

 

 

2-4. 자바의 기본 자료형 설명

 

정수 자료형, 메모리 할당 크기

정수형(사칙연산) int

 

다 가능하게 하면 컴퓨터 속도의 저하가 일어난다.

 

보편적 약속 4byte : 기본적으로 int형으로 바꾸는 과정이 생긴다. 그래서 컴파일에러 값의 손실이 일어난다.

 

Long : 4L

 

 

실수 자료형, 데이터 할당 크기

 

 

  • 범위보단 표현크기(오차)라고 생각하면 된다.
  • 표현의 크기가 크면 정밀도가 높아진다.

ex. 오차가 있으면 안되는 분야 예시:  과학적인 계산, 돈 

 

Float : 8f

 문자 자료형

  • 문자는 char
  • '문자'를 2바이트 유니코드로 표현한다.
  • 자바컴파일러가 ' ' 를 인식, 하나의 숫자값(아스키코드값)

 

논리 자료형

  • true, false 값을 넘긴다.

 

 

기본형 VS 참조형(Reference Type)

  • 데이터가 저장되어 있는 주소를 저장한다.(객체의 주소)
  • 기본형을 제외한 나머지(String)
  • 사용자 정의 자료형(product, employee)
  • 4byte 공간을 저장공간으로 할당

 

 

 

3-1. 상수(Constants)

상수 종류

1) 변수에 상수로 변환

 

 

 

 

2) 리터럴