본문 바로가기

JAVA

[생활코딩] 변수

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

 

변수 - 생활코딩

수업소개 내가 그의 이름을 불러주기 전에는 그는 다만 하나의 몸짓에 지나지 않았다. -김춘수 꽃- 변수란 데이터에 붙이는 이름입니다. 이름을 붙이기 전까지 우리는 그 데이터를 부르기 어렵

opentutorials.org

 

변수란 그 값이 변할 수 있는 수를 말한다. 

 

int 라는 정수형 

 

double 라는 실수형

 

String 라는 문자열

 

데이터를 담을 수 있는 데이터 타입이 존재한다.

 

이런 불필요한 과정을 왜 넣었나

 

물컵과 물병안에 있는 물의 차이를 설명

 

데이터타입은 신뢰할 수 있는 그릇 같은 존재이다. 

 

어떤 데이터를 처리할 때 그 형식을 미리 알고 처리할 수 있으므로 경제적이고 효율적이다.

 

- 변수의 효용

 

String name = "leezche";

System.out.println("Hello, " + name + " ... " + name + " ... egoing ... bye");

 

double VAT = 10.0;

System.out.println(VAT);

 

표시되는 값에 역할에 대해서도 변수명을 통해 직관적으로 파악할 수 있다.

 

단순히 변수를 사용하는 것에만 집중했는데 좋은 이름을 가진 변수를 사용해야 하는 이유를 명확하게 알게되었다.

 

내가 코딩한것은 나중에 또 내가보고 상대방이 보기 때문에 가독성 좋은 코딩을 지향하자.

 

- casting

 

정수를 실수로 바꾸고 다른 형태로 바꾸는법

 

정보를 잃어버릴수도 있다.

 

int c = 1.1;

 

이렇게 해버리면 double형을 int형으로 바꿀수 없다는 오류가 뜨게된다.

 

오류를 해결하는 방법은 빨간색 밑줄위에 커서를 가져다 되면 왜 이게 안되는지 어떻게 해결하는 지 알려준다. 

 

double 로 바꾸라는 해결법과

 

강제로 int로 바꾸는 방법이 있다고 설명한다. 

 

각각의 해결법은 다음과 같이 바꿔준다. 

 

double d = 1.1;

int e = (int) 1.1;

 

이 결과값을 확인하면 

 

자료형을 double로 바꿔주면 손실이 없이 모든값을 나타내지만 억지로 int형으로 바꿧을때는 손실이 일어난다. 

 

하지만 

 

double b = 1; 의 결과값이 1.0(실수)로 나타나는것은 손실이 없는 것은 자바에서 자동으로 casting해주기 때문이다.

 

double b = (double) 1; 이랑 똑같은 표현이다. 다만 명시적으로 표현해준것뿐

 

1을 string으로 바꾸고 싶을때는 -> 검색하면 된다 .ㅋㅋ

 

강사분은 이러한 과정을 중요하게 여기시는것같다. 모르는 것이 있을 때 검색하고 찾아보아서 해결하면 된다.

 

문법을 모른다고 한국어 모르는것이 아닌것 처럼 잘 몰라도 사용하고 배우고 익히면 된다.

 

String f = Integer.toString(1);

System.out.println(f.getClass());

 

문제의 답은 다음과 같다. getClass()라는 새로운 기능을 알게 되었다.

 

어떤 변수에 들어갈 값 들어있는 값을 다른 데이터 타입으로 컨버팅 해야되는 경우가 생기는 데 그때의 키워드는 casting이고 그때마다 검색해서 사용하면 되니까 너무 어렵게 생각하진 말자 . ㅠ