21.7.26

최준영·2021년 7월 27일
0

TIL

목록 보기
2/95

Chap 1


1. 프로그래밍 언어의 존재 이유

  • 컴퓨터가 이해할 수 있는 기계어는 0과 1로 이루어져 있어서 사람이 사용하기 어렵다. 컴퓨터와 대화하기 쉽게 프로그래밍 언어가 사용된다.
  • 프로그래밍 언어로 작성한 파일을 소스 파일이라고 한다. 소스 파일은 컴퓨터가 바로 이해할 수 없으므로 컴파일을 하여 기계어로 번역해야한다.

2. 자바의 특징

  1. 모든 운영체제에서 실행 가능 : 윈도우에서 개발된 프로그램을 수정하지 않고 바로 리눅스에서 실행 가능하다.

  2. 객체 지향 프로그래밍 : 객체(부품)을 만들고, 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법을 객체 지향 프로그래밍이라고 한다. 자바는 객체 지향 프로그래밍을 위한 최적의 언어이다.

  3. 메모리 자동 정리 : 자바는 메모리(RAM)을 자동 관리하므로, 개발자는 핵심 기능인 코드 작성에 집중할 수 있다.

  4. 무료 라이브러리 풍부 : 무료로 사용 가능한 오픈 소스 라이브러리가 풍부하기 때문에 프로그램 개발 기간을 단축할 수 있다.

3. JVM

  • 자바가 JVM을 사용하는 이유는 바이트 코드 파일을 다양한 운영체제에서 수정하지 않고 사용할 수 있도록 하기 위함이다.

  • 자바 언어로 코드를 작성하면 .java인 텍스트 파일이 생성된다. 이 소스 파일을 javac 명령어로 컴파일 하면 .class인 바이트 코드 파일이 생성된다. 이후 java 명령어를 실행하면 JVM이 기계어로 번역해준다.

4. 주석

  1. 라인주석 : // ... //부터 라인 끝까지 주석으로 처리한다.
  2. 범위 주석 : /* ... */ 사이에 있는 내용은 모두 주석으로 처리한다.
  3. 도큐먼트 주석 : /** ... */ 사이에 있는 내용은 모두 주석으로 처리한다. 주로 javadoc 명령어로 API 도큐먼트를 생성하는데 사용한다.

Chap 2


1. 변수

  • 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름이다.
  • 자바의 경우 JVM이 어디에, 어떻게 저장할지 결정한다.

1) 변수 사용 범위

  • 자바의 모든 변수는 중괄호 {} 블록 내에서 선언되고 사용된다. 이를 로컬 변수라고 부르는데, 이 변수는 선언된 위치로부터 자신이 속한 블록 내부에서만 사용할 수 있다.

2. 기본타입

자바가 제공하는 기본 타입은 총 8개이다.

구분저장되는 값에 따른 분류타입의 종류
정수 타입byte, char, short, int, long
기본 타입실수 타입float, double
논리 타입boolean

1) 정수 타입

  • byte : 1byte(8bit)
  • char : 2byte, 음수 불가능, 작은 따옴표로 감싼 문자 리터럴을 저장할 수 있는 타입이며, 유니코드(정수)로 변환하여 저장된다.
  • short : 2byte
  • int : 4byte, 기본값
  • long : 8byte

정수 리터럴

  • 2진수 : 0b로 시작
  • 8진수 : 0으로 시작
  • 16진수 : 0x로 시작

2) 실수 타입

  • float : 4byte, 실수 뒤에 f를 붙여주지 않으면 double타입이 된다.
  • double : 8byte, 기본값

3) 논리 타입

  • boolean : 1byte, true or false 저장

3. 타입 변환

1) 자동 타입 변환

값의 허용범위가 작은 타입이 허용범위가 큰 타입으로 저장될 때 발생한다. ex) int형 변수 = byte형 변수

  • byte < short < int < long < float < double

  • char 타입은 양수범위이기 때문에 주의해야한다.

2) 강제 타입 변환

큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장할 때 발생한다.

int intValue = 10;
byte byteValue = (byte) intValue;

이처럼 (작은 타입) 큰 타입 형태로 사용한다. 실수를 정수로 변환할 경우 소수점 이하 부분이 버려진다는 것을 주의한다.

3) 연산에서의 자동 타입 변환

  • 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 byte, short 타입의 변수는 int 타입으로 자동 변환되어 연산을 수행한다.

  • 실수 타입 변수가 산술 연산식에서 피연산자 중 하나가 double 타입이라면 다른 피연산자도 double타입으로 자동 타입 변환된다.

4) 문자열을 기본타입으로 강제 타입 변환

  • String -> byte
String str = "10";
byte value = Byte.parseByte(str);

다른 타입도 위와 같이 가능하다.

  • 기본타입을 문자열로 변경하는 경우
String str = String.valueOf(기본값)

4. 변수와 시스템 입출력

1) 모니터로 변수값 출력하기

1) System.out.println(내용); : 괄호 안의 내용을 출력하고 행을 바꿔라

2) System.out.print(내용); : 괄호 안의 내용을 출력만 해라

3) System.out.printf("형식 문자열", 값1, 값2, ...); : 괄호 안의 첫 번째 문자열 형식대로 내용을 출력해라

  • 형식 문자열 : % [argument_index$(값의 순번)][flags(-,o)][width(전체 자릿수)][.precision] conversion(변환 문자, d/f/s)

2) 키보드로 입력 - throws Exception 필수

  • System.in.read() : 키보드에서 입력된 키코드를 하나씩 읽는다. 정수로 입력받음.

  • Scanner : System.in.read()는 키코드를 하나씩 읽기 때문에 2개 이상의 조합된 한글을 읽을 수 없다. 키보드로부터 입력된 내용을 통 문자열로 읽기 위해 사용한다.

Scanner scanner = new Scanner(System.in);
String inputData = scanner.nextLine(); // enter키 이전까지 입력된 문자열을 읽음
  • 기본타입 간의 비교는 ==를 사용, 문자열 간의 비교는 equals() 메소드를 사용.
profile
do for me

0개의 댓글