Ⅰ. 변수(Variable)
변수의 3가지 특징
첫째, 임시기억장소이다.
둘째, 반드시 변수선언을 해야 한다.
셋째, 반드시 초기화를 해야한다.
1. 임시기억(저장)공간
컴퓨터에서 임시기억 공간은 메모리(램, 주기억장치)를 의미한다.
+ (더하기) 는 숫자끼리 있을 때는 덧셈이고 문자끼리 있을 때는 문자화 된다.
문자가 있을 때 숫자를 연산해주려면 숫자끼리 괄호를 쳐 주면 된다.
class Var1{
public static void main(String[] args){
System.out.println("***급여관리 프로그램***");
System.out.println("*****************");
System.out.println("기본급 : " + 10000);
System.out.println("세금 : " + 10);
System.out.println("보너스 : " + 100);
System.out.println("총급여 : " + (10000 - 10 + 100));
}
}
이런 급여관리 프로그램이 있을 때 값이 변한다면 프로그래머는 항상 그 값을 바꾸어주어야 한다.
유지보수와 관리가 어렵기 때문에 다른 방법을 생각해냈다.
'변수(variable)'는 프로그래밍에서 값을 임시로 저장하기 위한 공간이다.
절대로 변할 일이 없는 실제값 '상수(literal)'라면 변수를 쓰지 않는다.
class Var1{
public static void main(String[] args){
// 왼쪽에는 값을 저장할 수 있는 메모리가 와야하고 오른쪽에는 값이 나와야한다.
// '=' 오른쪽에 있는 값을 왼쪽에 있는 창고에다가 대입하겠다.
// 'pay' 변수, 저장창고
int pay = 10000;
System.out.println("***급여관리 프로그램***");
System.out.println("*****************");
System.out.println("기본급 : " + pay);
System.out.println("세금 : " + 10);
System.out.println("보너스 : " + 100);
System.out.println("총급여 : " + (pay-10+100));
}
}
2. 변수선언과 초기화
변수선언이란 ?
메모리를 쓰겠다고 선언한 것.
변수선언을 해야만 메모리를 쓸 수 있다.
변수선언 신고양식
방법1.
데이터타입 변수명;
변수명 = 값;
방법2.
데이터타입 변수명 = 값;
변수는 반드시 초기화해야한다.
초기화란 처음 변수에 어떤 값을 넣는 것을 의미한다.
초기값이란 변수가 태어나자 마자 가장 첫번째로 들어간 값이다.
class Var2{
public static void main(String[] args){
byte var;
var=127;
//var = 128; 에러확인
char var2 = 'a';
var2= '가';
//var2 = "a";
}
}
3. 반드시 변수가 선언된 곳에서만 사용할 수 있다.(유효범위)
변수의 유효점위는 변수가 선언된 곳이다.
변수가 선언된 범위 밖을 벗어난다면 변수를 사용 할 수 없다.
프로그램에서 가장 중요하게 염두해 두어야 할 것은 Data이다.
변수는 Data를 보관하기 위한 기본적인 방법이다. 그래서 매우 중요하다.
Ⅱ. 데이터타입 Data Type
Data Type을 왜 쓸까?
만약에 누군가가 땅을 사려고 한다면
땅 주인에게 두 가지는 말해주어야 한다.
1. 어떤 용도로 쓸 것인가?
2. 얼마만큼의 크기를 쓸 것인가?
컴퓨터도 마찬가지이다.
Data Type은 컴퓨터에게 메모리 공간을 어떤 용도로 얼마나 쓸지 알려준다.
변수에 타입을 선언한 뒤 해당 타입보다
큰 값을 변수에 넣으면 컴파일 에러가 난다.
아래 '기본 데이터 타입표'를 보자.
1. 기본 Data Type (비객체 Data Type)
용도 크기
-------- --------
정수형 byte (1byte)
short (2byte)
int(4byte) - default
long(8byte)
실수형
float (4byte)
double (8byte) - default
문자형
char(2byte)
논리형
boolean - true, false
(다른 값으로 대체할 수 없음. 오직 true, false 만 가능)
컴퓨터 정보표현 단위
bit(0,1) < byte(8bit) < kb(1024byte) < Mb(1024byte) < Gb(1024Mb) < Tb(1024Gb)
java의 최소단위, bite
컴퓨터에서 bit는 정보를 표현할 수있는 최소단위이다.
bit는 정보를 저장할 수 있는 단위가 아니라 표현할 수 있는 단위이다.
byte 부터가 정보를 저장할 수 있는 최소단위이다.
10byte는 영문자 10개를, 한글은 5개를 저장 할 수 있다.
C나 C++은 최소단위가 bit인데 반해, Java는 최소단위가 bite이다.
이는 영어를 제외한 다른 문자도 저장 할 수 있도록 한 것이다.
ASCⅡ(아스키코드)와 유니코드
ASCⅡ(아스키코드)는 영어 밖에 입력 할 수 없다.
아스키코드는 128개(a~z, A~Z, 특수문자)라는
영미권에서 필요한 문자를 모아놓았다.
ASCⅡ(아스키코드) + 1 byte = 유니코드
유니코드는 아스키코드에 1byte를 더 확장하여
세상의 모든 문자를 담을 수 있는 코드방식이다.
C, C++은 아스키코드방식이고 Java는 유니코드방식이다.
2. 객체 Data Type
1. 객체 Data Type은 사용자 정의 데이터 타입이다.
2. 객체 Data Type은 class로 작성한다.
- 이 때 class는 데이터타입을 만드는 용도로 사용한다.
'문자'와 '문자열'은 다르다!
문자 : 1문자, ' '
문자열 : 1문자 이상, '' "
왜 데이터타입을 써야 되는지 생각하자
변수를 선언하기 위해서 데이터타입이 필요하다.
{ } 중괄호와 중괄호 사이를 '블럭'이라고 말한다.
이 { } 블럭은 데이터타입과 변수를 사용할 수 있는 범위를 지정해준다.
class Var3{
public static void main(String[] args){
int a = 10;
{
int b = 20;
{
int c = 30;
System.out.println("c=" + c);
System.out.println("a=" + a);
System.out.println("b=" + b);
}
System.out.println("b=" + b);
}
System.out.println("a=" + a);
//System.out.println("b=" +b); 에러확인
}
}
※ 결과값
c=30
b=20
b=20
b=20
a=10
여기에서 주석으로 표시된 System.out.println("b=" +b) 코드를
주석을 풀고 실행하면 에러가 난다.
그 이유는 int b = 20; 가 해당하는블럭 {} 의 범위를 벗어났기 때문이다.
'개발 > Java' 카테고리의 다른 글
[java] 제어문(Control Statement) : 조건문과 반복문 (0) | 2017.10.18 |
---|---|
[java] Dos에서 Java 컴파일 하기 (0) | 2017.10.18 |
[java] 연산자(Operator) (0) | 2017.10.18 |
[java] 주석과 역슬래쉬(\) (0) | 2017.10.17 |
[java] Java 처음 설치 & 환경변수 설정 & JAVA API 보기 (0) | 2017.10.17 |