[부스트코스/쉽게 배우는 자바 1] 6-7. 데이터 타입

zzzzsb·2021년 2월 24일
0

부스트코스 쉽게 배우는 자바 1


Chaper 6

  • 컴퓨터는 데이터로 연산을 수행하는 기계라고 할 수 있다.

  • 자바와 같은 컴퓨터 프로그래밍 언어를 사용하는 것
    = 컴퓨터에게 데이터로 연산을 시킬 수 있게 하는 것

  • 그러므로 컴퓨터가 다룰 수 있는 데이터는 무엇이고, 어떤 연산을 할 수 있는지 알아보는 것은 매우 중요하다!

  • 챕터 6에서는 컴퓨터가 다룰수 있는 데이터와, 이를 활용하여 할 수 있는 연산이 무엇인지 알아볼 예정이다.


6-1. 데이터와 연산

데이터의 종류

  • 숫자(Numbers)
  • 문자열(String)
  • 영상/소리/기타 등등
  • 컴퓨터가 데이터를 구분하는 것은 데이터마다 처리하는 방식이 다르기 때문이다.

  • 숫자의 경우 +, -, *, / 또는 미적분에 이르기까지 여러 수학적 작업을 수행한다.

  • 문자열의 경우, 길이를 호출하고, 특정 구간을 제거하고, 특정 문자열이 있는지 검사하는 등의 작업을 수행한다.


6-2. 데이터 타입

  • 이클립스에서 새로운 자바 프로젝트를 생성한다.

  • 프로젝트의 이름은 다음과 같이 입력한다.
  • Location은 내가 저장하고자 하는 위치에 폴더를 생성하여 지정한다.

  • 새 파일을 생성한다.

  • 파일의 이름은 Datatype.java 로 한다.

Datatype.java 소스코드

public class Datatype{
   public static void main(String[] args) {
       System.out.println(6); // Number
       System.out.println("six"); // String
        
       System.out.println("6"); // String 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());
   }
}

System.out.println();

  • 괄호 안에 입력된 것을 출력해준다.
  • sout(sysout) 입력후 ctrl+스페이스바 누르면 자동 작성된다.

//(주석)

  • 컴퓨터가 인식하지 않도록 함

코드 분석

  • 숫자의 덧셈 : 6+6 은 12가 출력됨
  • 문자의 덧셈 : "6"+"6"은 66이 출력됨
  • 숫자의 곱셈 : 6*6 은 36이 출력됨
  • 문자의 곱셉 : "6"*"6"은 에러

length() 함수

  • 문자열의 길이를 계산해준다.

숫자 데이터 타입의 연산

  • 자바에서 숫자는 다른 기호와 함께 입력하지 않고 그대로 입력한다.
  • + 연산자는 덧셈의 연산을 수행한다.

문자 데이터 타입의 연산

  • 자바에서 문자열은 쌍따옴표("") 안에 적는다.
  • + 연산자는 결합의 연산을 수행한다.
  • 문자열 간에는 * 연산자를 사용할 수 없다.
  • length 연산은 문자열의 길이를 반환한다.

6-3. 숫자와 연산

자바의 숫자연산에는 +, * 외에도 다른 연산들이 있다.

이제까지 프로젝트에서 New-File 을 클릭해 java파일을 생성해왔다.
하지만 New-Class를 클릭하여 더 쉽게 자바의 클래스를 생성할 수 있다.

  • 이름이 Number 인 클래스를 생성한다.
  • public static void main(String[] args) 옵션을 체크하면 main 메소드도 자동적으로 생성해 준다.

Number.java 소스코드

public class Number {

   public static void main(String[] args) {
       // Operator
       System.out.println(6 + 2); // 8
       System.out.println(6 - 2); // 4
       System.out.println(6 * 2); // 12
       System.out.println(6 / 2); // 3

       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
        
        
   }

}

+, -, *, /

  • 자바에서 사용되는 기본적인 사칙연산자

Math 클래스

  • 숫자를 연산하는 도구를 모아놓은 자바 클래스
  • Math.PI는 Math 클래스에서 PI데이터를 불러온다는 의미이다.

floor/ceil 명령어

  • floor는 버림
  • ceil은 올림
System.out.println(Math.floor(Math.PI)); // 3.0
  • 3.141592653589793 을 버림한 3.0 출력
System.out.println(Math.ceil(Math.PI)); // 4.0
  • 3.141592653589793 을 올림한 4.0 출력

6-4. 문자열의 표현

문자열은 String으로 쌍따옴표("") 안에 작성하여 표현한다.

이전과 같이 Data_and_operation 프로젝트에 StringApp 클래스를 생성한다.


StringApp.java 소스코드

public class StringApp {
 
    public static void main(String[] args) {
         
        // Character VS String 
        System.out.println("Hello World"); // String
        System.out.println('H'); // Character
        System.out.println("H"); 
     
        System.out.println("Hello "
                + "World");
         
        // new line
        System.out.println("Hello \nWorld");
         
        // escape
        System.out.println("Hello \"World\"");// Hello "World"
    }
 
}

StringApp.java 출력결과

Hello World
H
H

Hello World

Hello 
World

Hello "World"

문자열(String)

  • 문자열은 문자의 나열이다.
  • 문자열은 큰따옴표(")안에 입력하여 표현한다.

문자(Character)

  • 문자(글자 하나)는 작은따옴표(')안에 입력하여 표현한다.
  • 글자 하나도 문자열이 되기에 "H"처럼 큰따옴표 안에 한글자만 넣어도 출력된다.
  • 문자(character)가 모여 문자열(string)이 된다.

이스케이프 기호(역슬래쉬 \)

  • 줄바꿈 기호나 쌍따옴표 같은 특수기호를 문자열에 넣기 위해 사용한다.
  • 역슬래쉬() 입력은 키보드의 원화기호()로 입력하면 된다.
  • 쌍타옴표 같은 특수문자를 일반 문자로 나타나게 해주는 역할을 한다.
  • 특정 문자와 결합하여 제어문자로 기능한다.(\n 등)
  • \n은 줄바꿈 역할을 한다.

StringApp.java 소스코드 분석

System.out.println("Hello "
                + "World");
  • 줄바꿈 되지 않고 Hello World 그대로 출력된다.
System.out.println("Hello \nWorld");
  • 줄바꿈 하기위해 제어문자 \n 를 사용한다.
System.out.println("Hello \"World\""); // Hello "World"
  • 큰따옴표 출력하고 싶으면 \" 입력하면 된다.

6-5. 문자열 다루기

Data_and_operation 프로젝트에서 StringOperation 클래스를 생성한다.


StringOperation.java 소스코드

public class StringOperation {
 
    public static void main(String[] args) {
         
        System.out.println("Hello World".length()); // 11
        System.out.println("Hello, [[[name]]] ... bye. ".replace("[[[name]]]", "duru"));
 
    }
 
}

StringOperation.java 출력 결과

11
Hello, duru ... bye. 

length()

  • 문자열의 길이를 산출하는 명령어

replace(oldChar, newChar)

  • 문자열의 특정 문자열을 다른 문자열로 교체하는 명령어
  • oldChar, newChar 두개의 인자를 받는다.
  • oldChar는 기존의 문자열에서 바꾸고 싶은 부분이다.
  • newChar는 바꾸고자 하는 문자열이다.

StringOperation.java 소스코드 분석

System.out.println("Hello World".length());
  • Hello World 문자열의 길이인 11을 출력한다.
System.out.println("Hello, [[[name]]] ... bye. ".replace("[[[name]]]", "duru"));
  • [[[name]]] 부분을 duru 문자열로 치환한다.
  • Hello, duru ... bye. 를 출력한다.

Chaper 7 작심삼일공학

지금까지 자바와 이클립스를 설치하고, 숫자와 문자열과 같은 데이터 타입에 대해 알아보았다.
강의의 중반부에 다다른 지금, 누구보다 작심삼일이 다가왔을때, 어떻게 대처하면 좋을지 알수 있는 챕터이다. 사실 자바의 너무나도 기초적인 부분을 수강하고 있기에 이것을 정리하는 과정이 지루하고 쓸데없게 느껴질수도 있겠지만, 기록의 힘을 누구보다 믿기에 꾸준히 작성해 보겠다! :)


부스트코스
https://www.boostcourse.org/opencourse

부스트코스 쉽게 배우는 자바 1
https://www.boostcourse.org/cs126


profile
성장하는 developer

0개의 댓글