자 이번 시간에는 자바에서 숫자 문자가 같은 데이터를 여러분이 코드로 표현하는 방법을 살펴보도록 하겠습니다.
지바 프로젝트 만들고 ~ 중략 ~ sysout + ctrl + space 를 누르면 그리고 엔터를 치면 이렇게 자동으로 완성되어서 대박 기능이에요.
괄호 안에 6을 넣으면 6이 나옴. 자바에서는 숫자를 표현할 때 저렇게 하면 돼요. 너무 당연한 얘기죠. 근데 이게 꼭 당연한 건 아닙니다 조금만 기다려 보세요.
자 그 다음에 이번에는 문자를 표현하고 싶을 때 예를 들면 six 를 문자로 표현하고 싶을때 요건 이제 문자인 거에요. 정확하게는 문자열이 고요 그리고 영어로는 스트링 이라고 부릅니다. 즉 숫자와 문자를 표현할 때 여러분이 사용하는 기호가 다르다는 거예요. 그러면 이건 뭘까요. 큰따옴표 안에다 6이라고 적으면 얘는 뭘까요. 얘는 스트링 식스. 실행시키면 이렇게 됩니다.
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
}
}
즉 사람이 보기에는 얘는 숫자지만 저 양옆으로 큰따옴표 를 묶어 주게 되면 컴퓨터한테는 문자인 거에요. 그리고 이러한 구분이 중요한 이유는 각각의 데이터 타입별로 그 데이터 타입에 어울리는 필요로 하는 연산 들이 다 다르기 때문에 저것들을 우리가 엄격하게 분리할 필요가 있는 겁니다.
자 예를 들어 볼까요. 자 우리가 숫자 랑 관련해서 할 수 있는 가장 대표적인 연산은 더하기 빼기 곱하기 나누기 4층 연산 일겁니다.
자 제가 6 + 6 이라고 하면 얘는 결과가 볼까요. 12 겠죠 자 그럼 이건 어때요. 자 문자열 6 + 문자열 6
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
}
}
결과가 어떻게 될까요 실행 한번 시켜 보죠. 자 보시는 것처럼 66 이 나옵니다. 즉 여기 있는 이 + 는 숫자 숫자 를 결합해서 더해주는 + 연산자 인데 여기 있는 요거 있잖아요 이건 양 옆에 뭐가 있어요 문자열이 있죠. 그때는 +가 아니라 결합 연산자 라고 하는 문자를 위한 연산이 사용 된겁니다.
그러면 우리 이렇게 한번 해볼까요. 6 곱하기 6은 뭐예요. 36 이겠죠.
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");
}
}
문자 6 곱하기 문자 6 하면 결과가 어떻게 될까요. 벌써 빨간색 밑줄 쫙 그어져 있잖아요. 뭔가 이상하단 얘기죠. 실행시켜 보죠. 자 보시는 것처럼 이렇게 에러가 있다고 나오고, 제가 진행 버튼을 누르면 자 보시는 것처럼 이렇게 12번째 줄 에서 에러가 생겼습니다 라고 이렇게 나오는걸 볼 수가 있습니다.
즉 문자열이란 데이터 타입은 곱하기 라는 연산을 할 수가 없는 거예요. 대신에 뭘 할 수 있는지 한번 살펴 보면 자 이건 앞에다가 이렇게 제가 아 제가 그 말씀만 드렸나요. 저렇게 // 2개를 치면 개는 그 컴퓨터 언어가 못 본 척해야 없는 셈 칩니다 주석 이라고 해요.
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());
}
}
자 제가 문자열 "1111" 이렇게 한 다음 에요 그 뒤에다가 점 이라고 해서 여기다가 length 길이 란 뜻이죠 하고 이렇게 괄호 열고 가로 닫고. 여러분 저 괄호와 같은 문법은 지금 우리 아직 안 배웠지만 뒤에서 배울 것 이기 때문에 신경쓰지 마세요. 그럼 보시는 것처럼 저 끝에 4가 나오는걸 볼 수가 있습니다. 즉 문자열의 길이를 알려주는 연산 이라고 할 수가 있어요. 자 그러면 그냥 >1111< 4개라고 하며 는 뭐죠
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());
System.out.println(1111.length());
}
}
숫자 1111 일이죠. 숫자는 그 숫자의 길이를 알려주는 연산 같은건 기본적으로 없어요. 에러가 난단 말이죠 즉 프로그래밍에서 는 데이터의 타입이 있다. 이터 타입을 구분하는 이유는 데이터의 타입별로 그 타입에 어울리는 연삼 방법이 있기 때문에 엄격하게 구분을 한다.
그래서 우리가 이제 이 컴퓨터를 다루는 방법에 어떤 스킬을 그 쌓아 간다는 것은 크게 두가지의 중요한 흐름을 같습니다.
1. 내가 지금 하고 있는 이 시스템에는 어떤 종류의 데이터 타입들이 존재하는가를 알아가는 방향 하나
2. 또 하나는 각각의 데이터 타입 별로 어떤 연산 방법들이 존재하나 라는 걸 알아가는거 하나
그리고 이것들을 통해서 우리가 컴퓨터로 할 수 있는 일의 가능성이 폭발적으로 증가하게 된다 라는 것이 이번 시간에 제가 여러분한테
들려드리고 싶은 얘기였습니다.
그래서 컴퓨터 그중에서 이제 자바라는 컴퓨터 언어는 여러 가지 데이터 타입들이 존재합니다. 하지만 그 중에서 우리 숫자 그리고 문자라는 데이터 타입을 살펴봤는데 너무너무 중요한 데이터 타입이에요. 자바에서 데이터 타입을 어떻게 바라보느냐에 따라서 굉장히 애매할 수 있지만 가장 핵심적인 애들은 뭐 열손가락 안에 들거든요. 그중에서 압도적으로 중요한 애들 2개를 우리 살펴 보았구요. 넓게 보면 무한히 많은 데이터 타입이 있을 수 있습니다.
------
* 유튜브 강의에서 자막을 추출해 정리했습니다.
-----
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
}
}
이거 치고 저장하고 돌렸는데 에러나서 어리둥절했다..
애초에 자바프로젝트를 만들 때 설정을 잘못했나보다
디폴트 위치에 만들지 않고, 임의로 내가 원하는 곳에 지정하면 뭔가 문제가 생기길래
그냥 디폴트 위치에 했다;;;;;; 디폴트 위치에 하니까 되더라는^^;;
1. 문자열은 ""로 감싼다
2. 숫자는 감싸는 것 없이 그냥 쓴다
3. 문자열에서 length 연산은 문자열 개수를 세준다
'생활코딩 > JAVA1' 카테고리의 다른 글
생활코딩) JAVA1 - 6.4. 문자열의 표현 (0) | 2021.05.04 |
---|---|
생활코딩) JAVA1 - 6.3. 숫자와 연산 (0) | 2021.05.03 |
생활코딩) JAVA1 - 6.1. 데이터와 연산 (0) | 2021.05.03 |
생활코딩) JAVA1 - 5.c 안드로이드 애플리케이션 만들기 (0) | 2021.05.02 |
생활코딩) JAVA1 - 5.b. 사물을 자바로 제어하기 (0) | 2021.05.02 |