[JAVA]맛보기_2

thx4all·2023년 8월 4일

Java

목록 보기
2/8

▶︎[JAVA]맛보기 포스팅는 유튜브 '생활코딩'의 JAVA1 수업을 수강하며 기록했다.

6.데이터와 연산

컴퓨터가 다룰 수 있는 많은 데이터 중 가장 많이 사용되고 익숙한 데이터 타입으로는 숫자, 문자 등이 있다.
이러한 데이터들을 제어하는 일이 컴퓨터 공학이 하는 일!
컴퓨터 데이터 타입을 구분하는 이유는 각 데이터마다 그 특성에 맞는 처리방식이 존재하기 때문이다.

6.2. 데이터 타입


System.out.println(); 는 ()안의 결과값을 출력한다.
결과값의 기본 데이터 형식은 숫자로 인식되는 것 같다.
다른 기호 없이 숫자만 입력하면 숫자데이터 그대로 출력되며, 숫자 연산도 가능하다.
""안에 숫자나 문자를 입력하면 모두 문자열로 인식되며, 그에 맞는 연산 방식으로 처리된다.

예를 들어, 6+6 은 12라는 숫자로 출력되지만, "6"+"6" 은 66이라는 문자열로 출력된다.
문자열 연산에서 +는 앞 문자열과 뒷 문자열을 이어 출력하는 것이다.
하지만 곱하기는 문자열에 유효하지 않은 연산이므로 "6"*"6" 에는 오류가 발생한다.
콘솔에 파랗게 표시된 DataType.java:14 는 DataType이라는 자바 파일 14번째 줄에서 코드 오류가 발견되었다는 의미이다. (주석처리 하고싶은 부분 앞에 //를 붙이면 컴파일러가 인식을 안한다.)

반대로 .length()라는 연산은 문자열의 길이를 출력해주는데, 이 연산은 숫자 데이터에 유효하지 않기 때문에 오류가 발생했다.
즉, 프로그래밍에서는 데이터의 타입별로 어울리는 연산방법이 있기 때문에 엄격히 구분하도록 한다.

컴퓨터를 다루는 스킬을 쌓아간다는 것은 크게 두가지의 중요한 흐름을 갖는다.
1. 내가 다루는 시스템에 어떤 데이터 타입이 있는지를 알아간다.
2. 각각의 데이터 타입 별로 어떤 연산 방법들이 존재하는지 알아간다.
이를 통해 컴퓨터를 통해 할 수 있는 일이 폭발적으로 증가하게 될 것이다. -이고잉-

6.3. 숫자와 연산

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)라고 한다.
컴퓨터를 통해서 할 수 있는 수학적인 작업들은 이러한 기본 사칙연산 뿐만 아니라 매우 복합적이고 복잡한 연산도 있다.

java의 많은 기능 중 수학과 관련된 아주 유명하고 자주 사용되는 것(인수, 메소드 등)들을 그룹핑 해 둔 것(클래스)이 'Math'이다. 이클립스에서는 클래스이름과 .을 입력하면 클래스에 포함된 메소드들이 목록으로 표시된다.

수업에서는 PI(원주율), floor(내림), ceil(올림) 이라는 메소드를 알아보았다.
-> Math 클래스의 사용설명서

6.4. 문자열의 표현

큰따옴표와 작은따옴표의 차이: ""는 String(문자열), ''는 Character(문자) 데이터를 표시한다.

System.out.println("Hello World"); // String
System.out.println('H'); // Character

줄바꿈은 엔터가 아닌 \n이라는 문법으로 표시한다. (new line)
문자열이 아닌 코드언어로 인식되는 특정 문자를 문자열로 출력시키고 싶을때에는 escape()을 앞에 붙인다.

System.out.println("Hello "
				+ "World");
		
System.out.println("Hello \nWorld"); //new line
System.out.println("Hello \"World\"");// Hello "World"

6.5. 문자열 다루기

*코드를 작성할 때는 극단적인 경우의 수를 상상해서 작성하는 것이 좋다.
(문자열 길이가 1억개라던지,,)
공부 할때는 간단한 예시만 나오지만 실제 데이터는 심플하지 않다.

이번 수업에서는 length(문자열의 길이)와 replace(문자열 대체)라는 메소드를 사용해봤다.

System.out.println("Hello World".length());
System.out.println("Hello, egoing... bye.".replace("egoing","yejin"));

하지만 이번 수업에서 중요한건 length나 replace가 아니다.
우리가 문자열이라는 데이터 타입을 표현할 수 있게 되었을 때, 문자열과 관련된 여러가지 문제들을 해결할 수 있다는 가능성이다.

-> [String 클래스의 사용설명서]

7. 작심삼일 공학

일을 잘하는 사람은 일만 하지 않는다. 공부를 잘하는 사람은 공부만 하지 않는다.
일을 해야 할 때와 공부를 해야 할 때를 스스로 주체적으로 판단할 수 있어야 일과 공부를 둘다 잘할 수 있다.

공부에 대한 생활코딩 선생님 이고잉님의 생각과 전략을 전달하는 영상이었다.
이고잉님은 공부를 하다가 작심삼일이 왔을 때, 진도 나가는 것을 잠시 그만하고 지금까지 배운 것들과 삶의 문제의 접점을 찾기 위해서 노력하고, 또 배운 것만으로 여러가지 문제를 해결하기 위해서 뛰어다닌다는 말이 인상 깊었다.

확실히 내가 쓸모있는 것을 배우고 있다는 것을 뇌에게 증명하는 과정을 반복하면 뇌의 흥분도가 고조되고, 더 흥미롭게 공부를 계속해 갈 수 있다는 것이다.

그런 과정을 위해 언제든지 그만두었다가 돌아와도 괜찮고, 영상 하나하나로도 문제를 해결하기에 의미가 있게끔 수업을 만들기 위해 노력한다고 했다.


느낀 점
나는 의지를 불태우던 일에 빨리 지루함을 느끼는 편인데, 확실히 삶의 의미와 연결이 되면 보다 오래 유지할 수 있었던 것 같다. 개발 공부를 하다가 지칠 때면 7강 내용을 기억했으면 좋겠다.
6강에서 첨부했던 Math와 String 사용설명서는 시간될 때 하나씩 코드로 작성해보면서 직접 공부하면 크게 도움이 될 것 같다.

profile
세상의 온도를 높일 개발자 도전기

0개의 댓글