02.변수란 뭘까? 먹는건가?

in #kr7 years ago

00.java를 시작하기에 앞서 https://steemit.com/kr/@n7484443/00-java
01.자 이제 java를 시작해보자! https://steemit.com/kr/@n7484443/01-java
를 먼저 보시고 하시면 좋습니다!

java를 시작하기 전에 앞서, java명칭이 영어로 되어 쓰기 힘드니 '자바'라고 편한대로 부르겠습니다?
어찌됬든, 프로그래밍에는 가장 중요한 '변수'가 있죠. 변수가 뭘까요?
변수란?
변수6 (變數)[변ː수]
[명사]

  1. 어떤 상황의 가변적 요인.
  2. <수학>어떤 관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수.

사전적 정의는 이러하고요, 우리가 가장 먼저 보는 변수는 중학교 때 보게 되죠. y=f(x) 라거나 이차함수라거나 삼차함수라거나 지겹게들 보셨을 겁니다. 그런데 우리가 쓸 변수는 뭘까요?

우리 컴퓨터에는 램이 있습니다. 물론 스마트폰에도 있죠. 이 램은 저장장치입니다. 여기에는 주소와 데이터가 담겨져 있죠. 주소는 일종의 집 주소이고, 데이터는 사는 사람이라고 보시면 됩니다. 예를 들자면, 0x0011c라는 주소에 1011이라는 데이터가 들어가 있을 수 있죠.
lam.png
변수라는 건 이 주소를 간단하게 표현한 것이라고 할 수 있습니다. 그런데 집에도 아파트, 주택등이 있듯이, 변수에도 여러 종류가 있습니다. int, float, boolean, double, long, String정도가 주로 쓰이는 종류입니다. 차근차근 알아보도록 하죠.
int
정수를 나타내는 종류 int입니다. -2, -1, 0, 1, 2 처럼 딱 떨어지는 정수들을 저장할 때 쓰입니다.
float
소수를 나타내는 종류 float 입니다. -2.43처럼 소수점이 붙는 수들을 저장할 때 쓰입니다.
boolean
참 또는 거짓을 나타내는 종류입니다.
double
float 과 비슷하지만, 더 많은 소수점을 저장할 수 있다는 점이 차이점입니다
long
int 와 비슷하지만, 더 많은 자릿수를 저장할 수 있습니다.
String
이건 첫글자가 대문자입니다. 꼭! 대문자로 쓰세요! 이 String은 문자열을 저장할 때 쓰입니다.

자, 정수를 저장하는 변수를 만들어보고 활용해봅시다.
저번의

public static void main(String[] args){
    System.out.println("Welcome to Java Language!");

}

에 system.out.println 줄 바로 위에 엔터를 치고

int newValue = 4;

를 넣어봅시다.
=은 왼쪽의 변수에 오른쪽의 값을 넣는다는 기호이고, ;기호는 문장의 끝을 알리는 기호입니다.

자, 우리는 newValue란 주소를 임의로 지정해서 그 안에 4를 넣은 것입니다. 이제 어떻게 쓸 수 있을까요?
한번 이것을 표시해 봅시다.

System.out.println("Welcome to Java Language!");

System.out.println(newValue);

라고 바꾸어봅시다.
어떻게 나오시나요? 4라고 나올 것입니다. 변수에서 값을 불러올 때는 변수명을 적으면 값이 나온다는 것을 알 수 있습니다.
우리는 이제 변수에 데이터를 저장하고 불러올 수 있게 됬습니다.
그렇다면, float에 데이터를 넣으려면 똑같이 하면 될까요?

float a = 1.234;

어라? 어째서인지 빨간 줄이 1.234에 그어집니다. 어떻게 해야할까요? f를 뒤에 붙여봅시다.

float a = 1.234f;

로요. 그러면 사라졌습니다. 왜 int에는 무언가를 붙이지 않아도 되는데, float에는 f를 붙여야 할까요?

이유는 비교적 간단합니다. 컴퓨터는 기본적으로 소숫값을 double로 저장하기 때문입니다. 그래서 조금 작은 float에 넣으려면 우겨넣거나 잘라야 되죠. 그래서 float으로 바꾸어 넣어야합니다. 이 때 바꾸는 것이 f입니다.
그런데, 1.234f가 아닌 1을 넣으면 어떻게 될까요?
오류가 안뜹니다. 왜냐하면, 1,2,3,같은 정수들은 기본적으로 double 이 아닌 int 로 저장하여서, int보다 큰 float에 그냥 넣을 수 있는 것이죠. 이런 것을 형변환이라고 합니다.

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.028
BTC 54414.30
ETH 2295.54
USDT 1.00
SBD 2.30