[자바인강] 1주차 학습일지

Jae·2022년 3월 27일
0

Java 학습일지

목록 보기
1/8
post-thumbnail

Part01. 자바 기초

01. 자바프로그래밍 시작하기

자바 프로그래밍의 특징

  • 객체지향 언어이다. 따라서 유지보수가 쉽고 확장성이 좋다.
  • 프로그램이 안정적이다.

객체 지향 프로그래밍이란?

  • 시간의 흐름순이 아닌 객체간의 관계와 협력을 기반으로 프로그래밍 하는 것.
  • OOP, 즉 Object Oriented Programming.
  • ex) Java, C++, C#, Python, JavaScript 등.

객체 지향 프로그래밍의 장점

  • 재사용성
    = 유지보수
    = 코드관리
  • 높은 신뢰성

자바를 활용하는 프로그래밍

  • 웹 서버 구현
  • 안드로이드 프로그래밍
  • 게임 프로그래밍

용어

  • JDK(Java Development Kit) : 개발용 라이브러리. 자바에서 제공됨.
  • JRE(Java Runtime Environment) : 자바 프로그램이 실행되는 환경.
  • JVM(Java Virtual Machine) : 자바 가상 머신. JRE 설치 필요.

Tip

  • 자료구조, 알고리즘 공부 병행

02. 자바와 IDE(통합 개발 환경) 설치하기

1. 자바 설치하기

  • JDK 설치하기
  • JRE 설치하기

2. IDE 설치하기

  • 이클립스 or 인텔리제이 설치하기
    (필자는 IDE로 인텔리제이 IDEA를 사용하겠음.)

03. 자바 프로그램 만들고 실행하기

1. 인텔리제이 실행하기

2. 프로젝트 생성하기



3. 클래스 및 main 함수 생성하기

  • src -> new -> Java class(Class)
    package 이름은 소문자 시작
    class 이름은 대문자 시작
    public class는 한 개만

  • psvm (public static void main) 입력

  • sout(System.out.println) 입력

4. 자동 컴파일 설정

컴파일(compile)이란?
소스코드를 컴퓨터가 이해할 수 있는 언어로 바꾸어주는 과정. java의 경우 컴파일의 결과로 자바가상머신(JVM)에서 실행가능한 ".class" 파일이 생긴다.
컴파일과 빌드와 같다고 생각할 수 있지만, 컴파일은 빌드를 진행하는 과정의 일종의 하나인 Task 입니다.

Build = Complie + 그 외 작업
Run = Build + 실행 = (Complie + 그외작업) + 실행

  • Build, Excution, Deployment > Compiler > Build project automatically(체크하기)

04. 컴퓨터에서 자료 표현하기

2진수 표현

  • 0과 1로만 데이터를 저장하는 표현 방식
  • bit(1비트) : 데이터의 최소 단위. 2진수 값 하나를 저장할 수 있는 메모리 크기
  • byte(바이트) : 1byte = 8bit

8진수 표현

  • 2진수는 너무 길어지기 때문에, 8진수로 코드를 표현함

  • int = 4byte = 32bit

MSB

2진수, 8진수, 16진수 프로그래밍 예제


05. 변수(Variable)

변수 이름 규칙

  • 시작은 소문자, 단어가 바뀔 때 대문자
  • 특수문자 중 $와 _만 사용 가능
  • 숫자로 시작 불가능
  • 자바에서 사용하는 예약어는 사용 불가능 (while, break 등 -> X)
  • 용도에 맞고, 가독성이 좋게 만들자. (길어지더라도)
    ex) int numberOfStudent;

06. 자료형(data type) - 정수

변수와 메모리

  • 변수를 선언하면, 해당하는 자료형의 크기 만큼 메모리가 할당된다.
  • 변수 = 할당된 메모리를 가리키는 이름
    ex) int num = 10; // 4바이트 정수형 메모리가 num 이라는 이름으로 할당된다.

기본 자료형(primitive data type)의 종류

정수 자료형의 종류와 크기

  • ex) byte 범위 : -256 ~ 255

byte

  • byte : 1바이트 단위의 자료형 동영상, 음악 파일, 실행 파일의 자료를 처리할 때

short

  • short : 2바이트 단위의 자료형 C 또는 C++ 언어와 호환할 때

int

  • 정수에 대한 기본 자료형
  • 4바이트 단위
  • 프로그램에서 숫자(literal)는 int로 저장된다.

long

  • 8바이트 자료형
    따라서 32비트(=4바이트)를 초과하는 숫자는 long 자료형으로 처리한다.
  • 숫자의 뒤에 알파벳 L 또는 l을 써서 long 형임을 표시해야 한다.
    ex) long num = 10000000900L;

예시


07. 자료형(data type) - 실수

부동 소수점 방식

예시

08. 자료형(data type) - 문자형

문자세트 (character set)

  • ASKII CODE
  • utf-8
  • utf-16
    ...
    -> 문자도 정수로 표현할 수 있다.

자바에서의 문자 표현 방식

  • UNICODE
  • utf-16 인코딩 (문자를 2바이트로 표시한다.)

문자형 데이터 타입 char

  • char ch65 = 'A';
  • char chB = '66';

용어 정리

character set: 문자를 숫자로 변환한 값의 세트

encoding: 문자 -> 숫자
decoding: 숫자 -> 문자

ASKII CODE: 알파벳과 숫자 특수 문자 세트 (1바이트 표현)

UNICODE: 전 세계 표준으로 만든 문자 세트

UTF-8: 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있다.

UTF-16: 2바이트로 문자를 표현한다.

09. 자료형(data type) - 논리형과 지역변수

논리형

  • true or false
  • 1byte
  • 값의 존재, 배열의 값 존재, 결과의 참/거짓을 표현한다.

지역변수 (자료형 없이 사용하는 변수)

  • JAVA10부터 지원된다.
  • local variable type inference
  • 변수에 대한 자료형이 추론 가능할 때 사용한다.
  • 한 번 선언하여 추론된 변수는 다른 타입의 값을 넣을 수 없다.
  • 지역변수만 사용 가능하다.

10. 상수, 리터럴 그리고 변수의 형 변환

상수(constant)

  • 변하지 않는 수
  • 파이 3.14 등
  • final 예약어를 사용하여 선언한다.
    -> 중간에 바꿀 수가 없다.
  • 대문자로 표현한다.

리터럴(literal)

  • 프로그램에서 사용하는 숫자, 문자, 논리값
  • 상수 풀(constant pool)

형 변환(type conversion)

  • 다른 자료형 간의 연산을 위해 자료형이 통일된다.
  • 묵시적 형 변환(explicit type conversion)

    byte가 작은 자료형 -> byte가 큰 자료형 (자동 변환)
    byte -> short/char -> int -> long

    덜 정밀한 자료형(정수) -> 더 정밀한 자료형(실수) (자동 변환)
    float -> double

  • 명시적 형 변환(implicit type conversion)

    묵시적 형 변환과 반대의 경우에 자료형을 강제적으로 변환한다.

11. 자바 연산자 I

용어

  • 항(operand) : 연산에 사용되는 값
  • 연산자(operator) : 항을 이용하여 연산하는 기호

대입 연산자 (assignment operator), =

  • 우선순위가 낮다.
  • 변수에 다른 변수나 값을 대입할 때 사용한다.
  • lValue = rValue

부호 연산자

  • 단항 연산자

산술 연산자

  • 사칙 연산자
    +, -, *, /, %

복합 대입 연산자

증가, 감소 연산자 ***

  • 단항 연산자
  • 변수의 값을 +1 or -1
  • 연산자가 항의 앞에 있는가? 뒤에 있는가?
  • ";"을 기준으로 연산 시점을 생각해야 한다.

12. 자바 연산자 II

관계 연산자 (== 비교 연산자)

  • return true or false
  • 조건문, 반복문의 조건식으로 많이 사용한다.

논리 연산자

  • return true or false
  • 보통 관계 연산자와 같이 사용한다.

단락 회로 평가(short circuit evaluation)

  • 앞의 항의 결과에서 결론이 지어지면, 뒤 항의 결과를 평가하지 않는다.

13. 자바 연산자 III

조건 연산자

  • 삼항 연산자
    조건식 ? 참일 때 출력값 : 거짓일 때 출력값;

비트 연산자

  • 값을 바꾸려면 대입 연산자를 같이 사용해야 한다.
    ex) << 말고 <<= 사용

연산자 우선순위

  • 코드는 가독성이 중요하다.

References

패스트 캠퍼스

profile
Jae's Development Area : 재개발구역

0개의 댓글