오늘의 진도:
언어 - JAVA1
변수
(1) 변수의 정의
수학에서의 변수: 값이 변할 수 있는 문자
→ a=1로 지정하면 이제부터 a는 1이 되는 것이다.
그러나 다른 컴퓨터 언어들과 다르게,
자바와 같은 컴퓨터 언어들은 이렇게 하면 에러가 난다.
∵ 변수를 만들 때,
그 변수 안에 어떤 데이터 타입이 들어갈 수 있는지를 지정해줘야 한다.
integer 정수 → int
real number 실수 → (정확한 표현이 아니지만) double
why? 불편하게 지정해놓는가?
trade off와 관련있다.
길가에 왼쪽 컵이 있다면 의심없이 마시기 어려울 것이다.
그러나 오른쪽 음료수가 누가 뜯은 흔적 없이 있다면 의심없이 마실 수 있을 것이다.
즉, 자바와 같은 컴퓨터 언어들의 변수는 오른쪽 음료수의 용기와 같은 것이다.
→ 이 변수에는 반드시 정수가 온다 또는 문자열이 온다고 정의를 해놓으면
그것이 아닌 정보가 들어갈 때 자바가 컴파일이 안 돼서 동작을 안 한다.
즉, 어떤 값이 그 안에 들어가는 데 성공했다면,
그 안에 있는 값은 반드시 정수이거나 문자열이라는 것을 확신할 수 있는 것이다.
그래서 꺼낼 때마다 이 값이 정수인지 숫자인지 문자인지 확인하지 않아도 되는
굉장한 편리함을 제공한다.
(2) 변수의 효용
그냥 숫자 10을 적으면 그 값이 어떤 취지로 사용된 데이터인지에 파악하기가 어렵다.
그런데 VAT라는 변수로 만들면 그것이 부가가치세의 세율을 나타내는 것이라는 것을
다른 사람도, 미래의 나도 파악할 수 있다.
∴ 변수 이름을 잘 지정하는 것은 중요하다.
(3) 데이터 타입의 변환
캐스팅: 다른 데이터 타입으로 컨버팅하는 것
1(int)이 자동으로 1.0(double)으로 컨버팅되었다.
이 때 잃어버리는 값은 없다.
1.9(double)을 자동으로 1(int)로 컨버팅하면 0.9를 잃어버리므로
이클립스가 두 가지 방법을 제안하고 있다.
방법1) 1.9을 int라는 형태로 강제로 바꾸는 코드를 추가해주었다.
방법2) c의 데이터 타입을 double로 바꿔주었다.
즉, double을 int로 강제로 컨버팅하면 소수점 밑자리를 잃어버린다.
방법1을 참고했을 때, 맨 위에서 int인 b를 double로 컨버팅하려면
다음과 같이 하는 것이 명시적인 방법임을 알 수 있다.
그렇다면 1을 String으로 바꾸려면 어떻게 해야 할까?
검색어: java int to string casting
이렇게하면 결과는 문자인 1이 나온다.
정말 문자인지 확인하려면 다음과같이 입력하면 된다.
댓글