- TO-DO LIST
- 8강 Big picture 자바 친해지기 ~15강 자바 상수와 리터럴
- 배운 내용 요약 정리
자바의 창시자 제임스 고슬링 (in 1995)
당시 c와 c++이 널리 쓰였는데, os 버전에 따라서 코드 실행이 달라짐
Java의 철학 "Write Once, Run Anywhere"
컴퓨터 언어 종류
programming languages = 프로그램 만드는 언어
논리 흐름 / 메모리
markup languages
stylesheets
컴파일 언어 JAVA
소스코드를 목적코드로 옮기는 것 (목적코드: 컴파일러나 소스코드 파일을 컴파일해서 생성하는 파일)
번역과 실행이 따로 이루어짐
(참고) 인터프리터 언어: 소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경
즉, 소스코드를 한 줄 한 줄씩 읽어들이면서 실행하는 프로그램
번역과 실행이 동시에 일어남
ex) JavaScript
자바 컴파일 및 실행 과정
program.java -> java compiler -> program.class -> JVM(자바 가상 메모리) -> program
java 애플리케이션 - JVM - OS - 컴퓨터(하드웨어)
자바는 OS에 상관없이 애플리케이션과 OS 사이에 JVM이 껴있는 것 -> write once run anywhere!!
JVM = 자바 프로그램 실제 실행하는 가상 OS
JRE = JVM + 필수파일
= 자바 개발없이 실행만 하면 되는 상황일 때 설치
JDK = JVM + 필수파일 + 개발자 패키지
= 자바 개발할 때 필요한 종합 패키지
IDE = 통합 개발 환경
IntelliJ IDEA
장점: 우수한 보조/작성 기능
특징: 현업에서 가장 많이 사용
자바 메인 메소드
스레드 = 프로세스 내 동시에 진행되는 작업 갈래
프로세스는 최소 1개 이상 스레드 가짐 = main 스레드
자료형 종류
int / double / boolean / char / String
변수 이름 정하기
- 영문자, 숫자, 특수문자($, _) 사용가능
- 숫자로 시작할 수 없음
- 자바 예약어 사용 금지 (for, while...)
연산자
단항 연산자 ++num
이항 연산자 num1 + num2
삼항 연산자 (5 > 3) ? 1 : 0
묵시적 형 변환
덜 정밀한 자료형 -> 더 정밀한 자료형
작은 바이트 크기 -> 큰 바이트 크기
연산 중 자동 적용
명시적 형 변환(=강제 캐스팅)
더 정밀한 자료형 -> 덜 정밀한 자료형
큰 바이트 크기 -> 작은 바이트 크기
Java 인코딩 / 디코딩
인코딩: 문자 -> 특정 코드 값(숫자)
디코딩: 특정 코드 값(숫자) -> 문자
문자 부호 체계(문자세트)
아스키: 8bit, 128개
유니코드: 16bit, 65536개 / 0~127까지는 ascii와 겹침
Java char은 유니코드 기반 \uAC00
65~90: A~Z
96~122: a~z
Java String
String = 문자열 = 문장
%s, %S(대문자로 출력)
%05d(다섯 자리, 빈 자리는 0으로)
상수는 닫힌 상자 / 변할 수 없는 수, 리터럴 심볼릭 상수
심볼릭 상수 정의하기 (final)
final int MY_NUM = 100;
Symbolic 상수는 대문자 + "_" 조합으로 선언한다.
Java 리터럴(literal)
우항의 값 = 데이터 그 자체 = Java Literal
0b 2진수
0 8진수
0x 16진수
- 부족한 점
- 스스로 시도해본 것들
- 해결 내용
- 알게된 점
자바는 아주 얕게나마 써봐서 대부분 아는 내용이었지만,
JVM, JRE, JDK에 대해서는 처음 알게 됐다
- 헷갈리거나 실수한 점
- 회고
허어 강사님도 친절하고 너무 좋으신데.....
학교 수업 듣고 과제하면서 강의 들으려니 시간이 너무너무 부족해서 밀린다
이겨낸다 이겨낸다 이겨내자 !!!
'SuperCoding' 카테고리의 다른 글
2023.10.12(목) 슈퍼코딩 부트캠프 백엔드 인턴 Week1 Day4 보고 (0) | 2024.03.06 |
---|---|
2023.10.11(수) 슈퍼코딩 부트캠프 백엔드 인턴 Week1 Day3 보고 (0) | 2024.03.06 |
2023.10.09(월) 슈퍼코딩 부트캠프 백엔드 인턴 Week1 Day1 보고 (0) | 2024.03.06 |
2023.09.01(금) 슈퍼코딩 부트캠프 프론트엔드 React 인턴 Week2 Day 5 보고 (0) | 2024.03.03 |
2023.08.31(목) 슈퍼코딩 부트캠프 프론트엔드 React 인턴 Week2 Day 4 보고 (0) | 2024.03.03 |