int는 정수형이고, double은 소수형이라고 했습니다.

변수 두개씩 선언하고 2와 7을 넣어보겠습니다.

7/2를 수행하면 3.5여야 하는데

변수를 int로 선언한 경우에는 3.5에서 소수 부분이 잘려서 3으로 저장됩니다.

코드를 실행해보면 다음과 같습니다.



public class ExTest {

public static void main(String[] args) {

int x1 = 2;

int y1 = 7;

double x2 = 2;

double y2 = 7;

System.out.println(y1/x1);

System.out.println(y2/x2);

}


}


실행결과입니다.


변수의 자료형은 여러 가지가 있다고 했었습니다.

코딩할 때 어떤 자료형을 사용할지는 그 변수에 담을 데이터의 크기에 따라 결정하면 됩니다.

각 자료형이 담을 수 있는 데이터의 크기는 다음과 같습니다.


byte : 1byte

short : 2byte

int : 4byte

long : 8byte


1byte=8bit 이고 각 자료형은 음수와 양수를 담을 수 있기 때문에

byte 타입을 예로 들면 2의 8제곱인 256가지 수를 표현할 수 있습니다.

가능한 범위는 -128~127이 됩니다.

각 자료형이 표현 가능한 범위를 넘어선 연산을 하게 되면 오버플로우가 발생하게 되는데 이 부분은 나중에 배우도록 하겠습니다.


담을 수 있는 범위를 정리해보면 다음과 같습니다.


byte : -128~127

short : -32768~32767

int : -2147483648~2147483647

long : -9223372036854775808~9223372036854775807


범위가 클수록 자료형이 차지하는 공간도 많아지기 때문에 필요하지 않으면 더 작은 자료형을 사용하는 것이 좋습니다.


다음 코드로 예를 들어 보겠습니다.



public class Variables_Extra {

public static void main(String[] args) {

byte b = 127;

short s = 32767;

int i = 2147483647;

long l = 9223372036854775807l;

System.out.println(b);

System.out.println(s);

System.out.println(i);

System.out.println(l);

i=i+1;

System.out.println(i);

}

}


위의 코드를 실행하면 결과는 다음과 같습니다.


각 타입의 변수에 그 변수에 넣을 수 있는 최댓값을 넣고 출력해보았습니다.

제대로 출력되는 것을 확인할 수 있습니다.

그 다음, 이미 최댓값인 127이 들어있는 변수 i에 1을 더해보았습니다.

출력해보면 이상한 128이 아닌 이상한 값이 들어 있는 것을 확인할 수 있습니다.

이것이 앞에서 말한 오버 플로우입니다.

보관할 수 있는 범위를 넘어서면 발생하게 됩니다.

일단은 이런 것이 있다는 것만 알아두고

이를 방지하기 위해서 필요한 타입의 변수를 적절히 사용하면 된다는 것만 알아두면 되겠습니다.

public class Variables_Extra {

public static void main(String[] args) {

int i = 10;

double d = 5.581;

float f = (float)1.31;

boolean b = true;

char c = 'A';

System.out.println(i);

System.out.println(d);

System.out.println(f);

System.out.println(b);

System.out.println(c);

}

}


앞의 글에서 자료형은 integer 형만 예로 들었었는데요.

자료형에는 이것들 말고 다음과 같이 여러가지가 있습니다.


정수 타입 : byte, short, int, long

소수 타입 : float, double

참/거짓 타입 : boolean

문자 타입(이것도 사실 정수 타입) : char


각 타입에 따라 담겨지는 데이터의 형식만 다르고 

앞의 글과 사용 방법은 같습니다.

boolean의 경우에는 참/거짓 (ture, false) 두 개의 데이터만 담을 수 있습니다.

타입 중 몇 가지를 예로 들어 코드를 작성해봤습니다.

실행하면 다음과 같이 출력되는 것을 확인할 수 있습니다.




변수에 대해서 간단하게 알아보고 사용하는 방법을 배워보겠습니다.

변수는 변할 수 있는 수를 담는 상자라고 생각하시면 됩니다.

int a; 와 같이 변수를 선언하게 되면 a라는 상자를 만드는 것입니다.

그냥 선언해서 빈 상자를 만들 수도 있고, 바로 숫자를 담으면서 선언할 수도 있습니다.

자세한 건 밑에서 쭉 설명하겠습니다.




지난 시간처럼 메인함수를 만듭니다.

그리고 위처럼 a, b, c, d 네 개의 변수를 선언하면서 숫자를 넣습니다.

a, b 처럼 하나씩 선언해도 되고 c, d처럼 쉼표를 사용하면 여러 개를 선언할 수도 있습니다.


Hello World를 출력하는데 사용했던 System.out.println(); 함수 안에 따옴표 없이 변수 이름을 넣으면 변수의 값이 출력되게 됩니다.

그 안에서 c + d 처럼 연산을 시키면 연산되어 출력됩니다.




실행시킨 화면입니다. 문제 없이 잘 됩니다.






이번엔 곱셈, 나눗셈, 뺄셈을 해봤는데 역시 됩니다.






출력물을 알아보기 힘들어져서 출력 화면에 있는 숫자가 어떤 변수의 값인지 표시하기 위해서 위처럼 소스를 바꾸었습니다.

따옴표 안에 그것이 어떤 값인지를 알 수 있게 위처럼 적고, 따옴표 뒤에 + 를 쓰고 출력될 변수를 적어주었습니다.

따옴표 안에 있는 것은 써져있는 그대로 출력되고, 그 뒤에 있는 것은 그 변수나 수식의 값이 출력됩니다!





훨씬 더 알아보기 쉬워졌습니다.




e라는 변수를 만든 후에 c+d의 값을 e에 넣고 출력해보는 코드를 짜봤습니다.

프로그래밍 언어는 계산이 등호(=)의 오른쪽 부분에서 진행되고 그 결과값이 등호(=)의 왼쪽에 있는 변수에 저장됩니다.

위의 코드를 예로 들면 c+d가 계산된 후에 e라는 변수에 저장된 것입니다.



e의 값이 제대로 출력되는 것을 확인할 수 있습니다.





a에는 1이 들어있는데 a = a+2; 라는 수식을 써봤습니다.

위에서 말한대로면 a+2가 계산된 후에 변수 a에 그 값이 저장되어야 합니다.

그럼 a는 1이니까 a+2는 3이 되고, 3이 다시 a에 저장되어야 합니다.

그 이후에 a는 3이어야 맞는 것입니다. 실행해서 확인해보겠습니다.




처음에는 a가 1이었는데 저 연산 후에는 a가 3이 된 것을 확인할 수 있습니다.




항상 포스팅을 어떻게 마무리해야할지 모르겠네요.. ㅠㅠ

오늘은 기본적인 변수에 대한 개념을 배웠고, 앞으로 변수에 대해서 조금씩 더 알아가겠습니다. 감사합니다.

프로그래밍 언어를 새로 배울 때는 역시 Hello World를 출력해봐야겠죠?




File - New - Java Project 를 선택해줍니다.




프로젝트 이름은 하고 싶은 거 하시고 나머지는 그냥 놔둔 상태로 Finish를 눌러줍니다.




src에서 우클릭 한 다음에 New - Class 를 선택합니다.




Name 항목에 HelloWorld 라고 입력합니다.




패키지와 java 파일이 자동으로 생성되고 아~주 기본적인 코드가 입력되었습니다.





저 사이에 코드를 입력할 건데, main을 입력하고 윈도우 사용자 분들은 "Ctrl + 스페이스바"를 하시면 위처럼 코드가 뜰 겁니다.

맥 사용자들은 잠시 아래에서 다시 설명드리겠습니다.




뜬 코드를 선택해주면 위와같이 자동으로 입력되고, sysout을 입력한 후에 똑같이 하면 System.out.println(); 으로 자동으로 바뀝니다.

그 안에 "Hello World!"를 추가해줍니다.

System.out.println(); 함수는 저 안에 있는 것을 출력해주는 함수입니다.

C언어로 치면 printf(); 와 비슷한 역할을 하는 함수라고 생각하면 됩니다.




맥 사용자 분들은 환경 설정에 들어가보시면

General - Keys 메뉴가 있을 겁니다.

Content Assist 항목을 찾으신 후에 원하시는 단축키로 바꿔주시면 저 기능을 이용하실 수 있습니다.

기분으로는 Command + 스페이스 바로 되어 있는데, 이게 맥에서 한영전환 기능을 하기 때문에 작동하지 않습니다.. 그래서 둘 중 하나를 바꿔줘야하는데

저는 위처럼 이클립스에서 단축키를 바꿔서 사용하고 있습니다.

윈도우 사용자 분들도 단축키를 변경하시려면 위의 메뉴에서 하시면 됩니다.




작성이 끝났으니 잘 실행되는지를 한 번 봐야겠죠.

저장하신 후에, Run 메뉴에서 Run을 선택합니다.



밑에 있던 콘솔 화면에 결과가 실행되는데요.

작성한대로 Hello World! 라는 내용이 뜹니다.



다음 포스팅에서는 변수부터 차근차근 배워나가겠습니다.

감사합니다.

'Android > Java' 카테고리의 다른 글

자바(JAVA) - 기본 자료형들  (0) 2015.12.23
자바(JAVA) - 변수에서의 여러 자료형들  (0) 2015.12.23
JAVA - 변수의 개념  (0) 2015.08.23
자바(JAVA) 공부를 위한 이클립스(Eclipse) 설치 방법  (0) 2015.08.23
JAVA  (0) 2015.08.23

+ Recent posts