[ 오늘 공부할 부분 ]
1. 자바 기본 이해
2. 자바 개발 도구 설치
3. 변수의 타입
4. 변수 타입 변환
5. 변수와 시스템 입출력
1. Java 시작하기 전에
① Java 소개
- 객체 지향 프로그래밍 언어 - 객체를 만들고 이 객체들을 연결해서 프로그램을 완성하는 방식
- 메모리 자동 정리 ∴ 개발자가 코드 작성에 집중할 수 있다.
- 오픈소스 라이브러리 풍부
- 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여 운영체제와 독립적으로 동작할 수 있다.
- 따라서 자바는 모든 운영체제에서 실행 가능하다.
② Java 컴파일 과정
[기본 개념 정리]
- 프로그래밍 언어 : 컴퓨터가 이해할 수 있는 기계어 (machine language)와 사람의 언어를 연결하는 다리 역할 ex) Java
- 소스파일 (source file) : 프로그래밍 언어로 작성한 파일 ex) .java 파일
- 컴파일 (compile) : Java Compiler에 의해 .java 파일을 .class 라는 Java bytecode로 만드는 과정
- JVM (Java Virtual Machine) : 자바를 실행하기 위한 가상 기계
[ 컴파일 과정 ]
- 개발자가 프로그래밍 언어로 소스파일 작성.
- 자바 컴파일러가 자바 소스코드(.java)파일을 읽어 바이트코드(.class)코드로 컴파일
- 컴파일된 바이트코드를 JVM의 클래스로더(Class Loader)에게 전달
- 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역(Runtime Data area), 즉 JVM의 메모리에 올린다.
- 실행엔진(Execution Engine)은 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행한다
2. 자바 설치 및 IDE (IntelliJ IDEA) 설치
① 자바 설치
https://www.azul.com/downloads/?package=jdk
- Azul 사이트에서 [무료버전 - Java 11(LTS) - mac OS - ARM 64-bit - JDK - .dmg] 순으로 다운로드 진행
- 터미널 창을 열고 java -version 을 입력했을 때, 버전이 제대로 나온다면 설치 완료!
② IntelliJ IDEA 설치 (Ultimate version)
https://www.jetbrains.com/ko-kr/idea/download/#section=mac
- IDE 란 ? IDE(Integrated Development Environment, 통합 개발 환경). 소스를 작성하는 것부터 서버를 실행, 터미널 사용, 각종 라이브러리 관리 등 다양한 기능이 통합되어 있는 툴
3. Java 변수 타입
① 변수 기초 지식
- 변수 : 값을 저장할 수 있는 메모리 번지에 붙인 이름. 변수를 통해 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있다.
- 변수 선언 : 변수의 타입과 이름을 정하는 것. 자바 언어의 변수 선언의 규칙은 아래와 같다. (출처 : www.oracle.com)
Except for variables, all instance, class, and class constants are in mixed case with a lowercase first letter. Internal words start with capital letters. |
Variable names should not start with underscore _ or dollar sign $ characters, even though both are allowed. |
Variable names should be short yet meaningful. The choice of a variable name should be mnemonic- that is, designed to indicate to the casual observer the intent of its use. |
One-character variable names should be avoided except for temporary "throwaway" variables. |
Common names for temporary variables are i, j, k, m, and n for integers; c, d, and e for characters. |
- 변수 사용 범위 : 변수는 자신이 선언된 위치에서 자신이 속한 블록 내부까지만 사용이 가능하고 밖에서는 사용할 수 없다.
- 변수 초기화: 변수에 최초로 값이 저장될 때 변수가 생성되는 것. 초기화되지 않은 변수는 컴파일 에러를 발생시킨다.
② Java 변수 타입
- 정수 타입: 정수를 저장할 수 있는 타입. byte, short, int, long 타입
- char 타입: 작은따옴표(')로 감싼 하나의 무자 리터럴을 저장할 수 있는 타입
- String 타입: 큰따옴표(")로 감싼 문자열을 저장할 수 있는 타입
- 실수 타입: 실수를 저장할 수 있는 타입. float, double
- boolean 타입: 참과 거짓을 의미하는 true와 false를 저장할 수 있는 타입
4. 변수 타입 변환
① 자동 타입 변환: 자동으로 타입이 변화되는 것. 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장 될 때 발생
- 정수 타입 연산에서 int 타입 보다 작은 byte타입의 변수는 int타입으로 자동 타입 변환되어 연산 수행
- char/short 타입도 마찬가지로 int 타입으로 지동 타입 변환 된다.
- 반면, long타입의 경우 int타입 보다 허용범위가 크기 때문에 변수결과를 long 타입으로 변수에 저장 한다.
② 강제 타입 변환(casting) : 강제로 타입을 변환하는 것. 값의 허용 범위가 큰 타입을 허용 범위가 작은 타입으로 쪼개어서 저장하는 것
③ 문자열 결합 연산: 문자열과 + 연산을 하면 다른 피연산자도 문자열로 변환되어 문자열 결합이 일어남
- 문자열 연산은 앞에서 부터 순차적으로 + 연산 수행
- 피연산자 중 하나가 문자열일 경우 나머지 피연산자도 문자열로 자동 변환된다.
- 만약 우선 연산하고 싶은 부분이 있다면 해당 부분을 괄호()로 감싸주고 연산을 수행
④ Integer.parseInt(): 문자열을 정수 int 타입으로 변환
⑤ Double.parseDouble(): 문자열을 실수 double 타입으로 변환
※문자열 타입 변환 연습 문제
Q) var1 부터 var4 까지 + 연산을 수행해서 int 타입 result 변수에 9 가 저장되도록 ()에 들어갈 코드를 작성하시오.
long var 1 = 2L;
float var2 = 1.8f;
double var3 = 2.5;
String var4 = "3.9";
int result = ( 이곳의 답안을 작성하기! );
System.out.println(result);
답안 : (int)(var1 + var2 + var 3+ (int)(Double.parseDouble(var4)));
5. 변수와 시스템 입출력
① System.out.println(): 괄호에 주어진 매개값을 모니터로 출력하고 개행
② System.out.print( "형식문자열", 값1, 값2, ... ): 괄호에 주어진 매개값을 모니터로 출력하고 개행하지 않음
③ System.out.printf() : 괄호에 주어진 형식대로 출력
* printf() 참고할 만한 자료 : https://www.baeldung.com/java-printstream-printf
④ System.in.read(): 키보드에서 입력된 int 타입의 키코드를 읽음
⑤ Scanner: 키보드에 입력된 String 타입의 문자열을 읽음
'Coding > Java' 카테고리의 다른 글
[06] Java 참조 타입 (0) | 2022.11.11 |
---|---|
[05] Java 조건문과 반복문 (0) | 2022.11.11 |
[04] Java 연산자와 연산 (0) | 2022.11.11 |
[02] 생활코딩 Java 입문 강의 정리 (2) (0) | 2022.11.04 |
[01] 생활코딩 Java 입문 강의 정리 (1) (0) | 2022.11.04 |