안녕하세요! 쏘코입니다.
오늘은 자바에서 사용하는 데이터에 대해서 알아보도록 하겠습니다.
다른 언어들의 데이터와 큰 차이가 없기 때문에 이미 다른 언어를 공부하셨던 분들은 쉽게 배우실 수 있을 거라고 생각합니다!
목차
0. 데이터 타입
프로젝트를 하나 만들어줍니다.
저는 이미 만들었기 때문에 중복된 이름이라 안만들어지는데,
아직 프로젝트를 만들지 않다면 정상적으로 만들어지겠죠?
프로젝트 폴더 안에 Datatype.java 파일을 만들어줍니다.
만든 파일 안에 main함수를 만들어줍니다.
여기까지는 기본이기 때문에 따라하기만 하면 됩니다!
public class Datatype{
public static void main(String[] args) {
}
}
이제 데이터들을 하나씩 출력해 가면서 확인을 해 보겠습니다.
기본적으로 number형과 string형이 있는데요,
number형은 숫자이기 때문에 +를 사용하면 사칙연산이 수행되고,
string형은 문자열이기 때문에 +를 사용하면 문자열끼리의 연결이 수행됩니다.
그렇다면 숫자와 문자열에 *를 쓰면 어떻게 될까요?
숫자는 *를 이용한 연산이 가능하지만, 문자열끼리는 *를 이용한 연산이 불가능하기 때문에 오류가 발생합니다.
마찬가지로, 숫자와 문자열에 .length라는 연산자를 사용하면 어떻게 될까요?
문자열에서는 정상적으로 문자열의 길이를 출력하지만, 숫자에서는 오류가 발생합니다.
아래는 오류가 나는 부분을 주석처리한 완성된 코드입니다.
(TMI : System.out.println();을 매번 치기 귀찮다면, sout을 치고 Ctrl+Space를 두 번 누르고 Enter를 누르면 자동으로 문장이 완성됩니다!!)
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 - 4글자
// System.out.println(1111.length()); // 오류 발생!
}
}
데이터 타입 중에서 가장 중요한 number, string에 대해서 알아봤습니다.
이외에도 다양한 타입들이 존재합니다. 그 타입마다 다양한 연산자가 존재하죠.
우리가 데이터타입을 구분하는 이유는 데이터의 타입별로 그 타입에 어울리는 연산 방법이 있기 때문입니다.
이렇게 데이터타입을 구분하는 방법과 각각의 데이터 타입별로 어떤 연산 방법이 존재하는지를 알게 된다면 컴퓨터로 할 수 있는 일이 폭발적으로 증가하게 되겠죠!!
1. 숫자와 연산
새로운 파일을 만들어봅시다.
이전에는 New > File 을 통해서 파일을 하나하나 만들었죠?
더 쉽고 빠르게 만드는 방법은 New > Class 입니다.
Name에 파일명을 작성하고, public static void main(String[] args)에 체크하고 만들면
파일이 만들어지면서 동시에 class와 main이 만들어집니다. 아주 편리하죠??
숫자의 기본적인 연산은 아래와 같습니다.
곱하기 기호 대신 *, 나누기 기호 대신 /를 사용합니다.
기본적인 연산자를 제외하고, 수학과 관련된 아주 유명하고 자주 사용되는 것들을 모아놓은 일종의 캐비닛같은 것이 있습니다. 그것을 Math라고 부릅니다.
Math 안에는 수학과 관련된 명령어들이 있습니다.
Math 뒤에 .을 붙이면 다양한 명령어를 확인할 수 있습니다.
또한 도움말도 확인할 수 있죠! 이클립스의 아주 유용한 기능입니다.
원주율 값을 나타내는 PI, 올림과 내림 기능을 제공하는 floor, ceil 메소드를 직접 사용해보았습니다.
이렇게 자바에는 숫자를 연산할 수 있는 다양한 방법이 존재합니다!
2. 문자열의 표현
이번에는 StringApp이라는 파일을 만들어서 문자열의 표현법에 대해 알아보도록 하겠습니다.
string이 기본 데이터 타입중 하나이기 때문에, 혹시 모를 오류에 대비해서 뒤에 App을 붙였습니다!
맨 처음은 Character과 String의 차이입니다.
Character는 ' '를 사용하고, 한 글자만 들어갈 수 있습니다.
String은 " "를 사용하고, 여러 글자가 들어갈 수 있습니다.
특별한 일이 아니라면 String을 쓰는 것이 일반적입니다.
그리고 줄바꿈을 할 때는 " "로 문자열을 나누고 +로 더해줘야 합니다.
만약 바로 엔터를 친다면 오류가 발생합니다. (C++과는 다르게 조금 불편합니다)
대신 이클립스 상에서 엔터를 치면 문자열이 줄바꿈으로 나뉘면서 " +" 가 붙어서 그나마 편리하게 사용할 수 있도록 해줍니다.
마지막은 escape 기호인 \에 대한 내용입니다.
\n은 줄넘김을 대체하는 기호입니다. (가장 많이 쓰는 \를 이용한 escape sequence입니다!)
" " 사이에 엔터를 죽어라 쳐도 줄넘김이 발생하지 않고, \n을 붙여주어야만 줄넘김이 발생합니다.
이외에도 \는 특수한 문자를 일반 문자열로 바꿀 때 사용합니다.
"는 문자열의 시작과 끝을 나타내는 역할을 하지만, \가 앞에 붙으면 일반 문자로 사용할 수 있게 됩니다.
public class StringApp {
public static void main(String[] args) {
// Character vs String
System.out.println("Hello World"); // String - Character들의 모임
System.out.println('H'); // Character - 한 글자
System.out.println("H"); // String - ", '는 다르다!!
System.out.println("Hello "
+ "World"); // 줄바꿈을 할 때는 " "를 이용해서 나눠준 후 더해야한다!
// new line
System.out.println("Hello \nWorld"); // \n은 줄넘김 기호!
// escape (어떤 임무가 있는 문자를 일시적으로 일반 문자로 바꿔주는 역할)
System.out.println("Hello \"World\""); // \(역슬래시)는 특수한 문자가 아닌 일반 문자열임을 알려주기 위한 예외처리
}
}
3. 문자열 다루기
이번엔 StringOperation 파일을 만들어봅시다.
이렇게 만들다 보면 class가 프로그램을 의미하나? 정도의 느낌을 받으실 수 있을 겁니다.
명확한 정의는 아니어도 그 정도로만 이해해도 충분합니다!
String 뒤에 .length()를 붙이면 그 문자열의 길이를 출력합니다. 위에서 했었죠!
String 뒤에 .replace()를 붙이면 문자열 내에서 첫 번째 매개변수로 받은 문자열을 두 번째 매개변수로 바꿔줍니다.
replace 메소드의 괄호 안에는 2개의 string이 들어가야겠죠??
이외에도 다양한 연산자들이 있습니다.
public class StringOperation {
public static void main(String[] args) {
System.out.println("Hello World".length()); // 11
System.out.println("Hello, [[[name]]] ... bye. ".replace("[[[name]]]", "egoing")); // 문자열 대체
}
}
지금까지 데이터의 타입에 대한 내용과 대표적인 데이터인 숫자와 문자 데이터에 대해서 알아보았습니다.
대표적인 객체지향 언어인 C++, 파이썬과 거의 유사하기 때문에 쉽게 이해하실 수 있을 겁니다 ㅎㅎ
다음 포스팅은 이런 데이터를 담을 수 있는 변수에 대해서 알아보도록 하겠습니다!
읽어주셔서 감사합니다 :)
최근댓글