본문 바로가기

JAVA

[생활코딩] 데이터와 연산

https://opentutorials.org/course/3930/26653

 

데이터와 연산 - 생활코딩

수업소개 컴퓨터는 '데이터'를 '처리'하는 기계입니다. 데이터마다 처리방법이 다릅니다. 그래서 데이터의 분류를 아는것이 중요합니다. 여기서는 '데이터'와 '처리'의 의미에 대해서 알아봅니

opentutorials.org

 

 

컴퓨터는 다양한 종류의 데이터를 다룰수 있다.

 

number, string, .......

 

각각의 데이터 유형마다 연산할 수 있는 방법이 다르다. 숫자라면 사칙연산과 미적분, 문자열은 길이를 구하고 문자를 찾는 일

 

데이터 타입을 잘 살펴보고 연산을 하는 것이 중요하다.

 

System.out.println(6); // 숫자를 의미하고

 

System.out.println("6"); // 문자를 의미한다.

System.out.println(6+6); // 12

System.out.println("6"+"6"); // 66 결합 연산자

 

System.out.println(6*6); // 36

// System.out.println("6"*"6");

 

System.out.println("1111".length()); // 4

// System.out.println(1111.length());

 

데이터 타입을 구분하는 이유는 데이터 타입별로 연산방법이 다르기 때문에 엄격하게 구분한다.

 

컴퓨터를 다루는 방법의 스킬을 쌓아간다는 것은 크게 두가지의 중요한 흐름을 갖는다.

 

1. 내가 지금하고 있는 지금 이 시스템에는 어떤 종류의 데이터 타입이 존재하는가를 알아가는 흐름

 

2. 각 데이터 타입별로 어떤 연산을 할 수 있는지

 

-> 이를 가지고 컴퓨터를 활용할 수 있는 방법이 폭발적으로 늘어난다.

 

- 숫자의 연산

System.out.println(6 + 2); // 8

System.out.println(6 - 2); // 4

System.out.println(6 * 2); // 12

System.out.println(6 / 2); // 3

 

+,-,*,/ 이런것들을 연산자라고 한다. (Operator)

 

이러한 연산자 중 수학에 관련된 연산자들을 모아둔 Math 가 있고 이클립스를 이용하면 이 중에 어떤 것이 있고 어떤 방식으로 사용할 수 있는지 나타낸다.

 

System.out.println(Math.PI); // 3.141592653589793

System.out.println(Math.floor(Math.PI)); // 3.0

System.out.println(Math.ceil(Math.PI)); // 4.0

 

- 문자열의 연산

 

큰따옴표(" ")는 문자열 (String)

 

작은따옴표(' ')는 한 문자 (Character)

 

웬만하면 큰따옴표만 쓰면 된다.

 

자바에서는 줄바꿈을 맘대로 해버리면 잘못 인식한다.

System.out.println("Hello "

+ "World");

 

중간에 엔터를 누르면 이렇게 나온다. (이클립스가 대신 해주는 기능)

 

하지만 이 결과는 줄바꿈되어 출력되진 않는다.

 

System.out.println("Hello \nWorld");

 

이런식으로 줄바꿈을 해줘야

Hello

World

 

이렇게 출력이 된다.

 

Hello "World"를 출력하고 싶을때

 

System.out.println("Hello "World"");

 

이렇게 해버리면 오류가 나온다. 

 

큰따옴표는 문자열의 시작과 끝을 나타내는 특수한 기능을 제공하기 때문이다. 따라서 "를 그대로 출력하고 싶다면 앞에 \를 붙이면된다.

 

System.out.println("Hello \"World\""); // Hello "World"

 

이러한 특수한 기능을 가진 \를 escape라고 한다.


다루는 일이 너무 쉽다면 이 일을 과장해서 극단적으로 생각해 보는것도 좋다.

 

문자열의 길이를 세는 함수는 

System.out.println("Hello World".length()); // 11

 

이렇게 사용하고 극단적으로 1억글자가 있다고 생각하는 방법을 알려주었다.

 

System.out.println("Hello, [[name]] ... bye. ".replace("[[name]]", "duru"));

 

이렇게 문자열을 바꿔주는 기능도 있다.

 

수업을 듣다보니 너무 프로그래밍을 처음 다루는 사람한테 적합한 수업이라고 생각한다. 

 

하지만 이 다음의 강의를 보면 작심삼일의 공학에 대해서 설명한다. 

 

이 강사의 강의 철학을 느낄 수 있다.