변수(Variable)란?
● 값(Value)을 저장할 수 있는 메모리의 공간을 의미합니다.
● 이름에서 유추할 수 있듯이 변수는 말 그대로 '변하는 수' 입니다.
변수는 언제 쓰나요?
● 프로그램에서는 항상 변하는 값을 나타낼 필요가 있음 ( ex. 학생의 성적, 합계, 게임의 레벨, 회원 주소 등등...)
● 표현하려는 수에 맞는 데이타 타입(자료형)을 이용하여 변수를 선언
데이터 타입의 종류는 크게 두가지가 있습니다.
첫번째, 기본데이터 타입(Primitive Type)
두번째, 참조타입(Reference Type)
1. 기본데이터 타입

정수 자료형의 크기는 다음과 같습니다.

● 32 비트를 초과하는 숫자는 long 자료형으로 처리 (+,- 약 21억)
[long]
8바이트 자료형
숫자의 뒤에 알파벳 L or l을 써서 long 형임을 표시해야합니다.
l = 21000000000L;
예) int num = 12345678900; // 오류
long lnum = 12345678900; //오류
long lnumber = 12345678900L; // ok
실수 자료형의 종류와 크기
float형과 double형이 있습니다.
float 형은 4바이트
double 은 8바이트 입니다.
package ex_01;
public class DataType1 {
public static void main(String[] args) {
// 실수형을 표현할 때는 기본단위는 double이 적용됨.
double dou = 11.0;
// float fot = 18.0; <-오류발생
float fot = 18.0F; // 접미사 f(F)를 사용해야 한다. 기본단위가 double로 적용되기 때문.
System.out.println("double의 값 : "+ dou);
System.out.println("float의 값 : "+ fot);
} // end of main
} // end of class
출력값
double의 값 : 11.0
float의 값 : 18.0
문자 자료형
문자를 저장하기 위한 변수를 선언할 때 사용됩니다.
char 타입의 변수는 단 하나의 문자만을 저장할 수 있습니다.
문자세트 : 각 문자를 얼마로 표현할 것인지 코드 값을 모아둔 것을 문자세트(charater set)라 한다.
ex ) ASKII, euc-kr, utf-8, utf-16
자바는 문자를 나타내기 위해 전세계 표준인 유니코드를 사용
문자형 변수 선언과 사용하기
문자를 위한 데이터 타입 char ch1 = 'A';
내부적으로 숫자로 표현되므로 숫자를 넣어도 문자가 출력될 수 있음.
[참고]
● character set: 문자를 숫자로 변환한 값의 세트 encoding: 문자가 숫자로 변환되는 것
● decoding: 숫자에서 다시 문자로 변환되는 것
● ASKII code: 알파벳과 숫자 특수 문자등을 1바이트에 표현하는데 사용하는 문자세트
● UNICODE: 전 세계 표준으로 만든 문자 세트
● UTF-8: 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음
● UTF-16: 2바이트로 문자를 표현
package ch01;
public class DataType2 {
public static void main(String[] args) {
// 변수의 선언
char name; // 2byte 공간에 하나의 문자를 담아 둘 수 있다.
char a;
char initial;
// 값을 넣어보자.
name = 'A'; // 홑 따옴표를 사용해야 한다. 하나의 문자만 담을 수 있다.
// name = 'AB'; 는 사용불가
} // end of main
} // end of class
package ch01;
public class CharacterTest {
public static void main(String[] args) {
char ch1 = '가';
System.out.println(ch1);
System.out.println((int) ch1);
System.out.println((int) '가');
System.out.println("========================");
// 문제 1
// 대문자 A는 정수값 얼마인가? 출력하시오.
// 소문자 a는 정수값 얼마인가? 출력하시오.
System.out.println((int) 'A');
System.out.println((int) 'a');
System.out.println("========================");
// 주의 char 데이터 타입에는 음수값을 대입할 수 없다. (양수만 사용가능)
char ch2 = 97;
char ch3 = 44032;
System.out.println(ch2);
System.out.println(ch3);
System.out.println("========================");
// 문제 2
// 개발자라는 단어는 한글자 한글자 정수값 얼마, 얼마 인지 알아보자.
System.out.println((int) '개');
System.out.println((int) '발');
System.out.println((int) '자');
System.out.println("========================");
System.out.println((char) 44060);
System.out.println((char) 48156);
System.out.println((char) 51088);
System.out.println("========================");
// 본인이 알고 싶은 단어의 정수 값이 얼마인지 알아보자.
System.out.println((int) '이');
System.out.println((int) '준');
System.out.println((int) '혁');
System.out.println("========================");
}
}
출력값
가
44032
44032
========================
65
97
========================
a
가
========================
44060
48156
51088
========================
개
발
자
========================
51060
51456
54785
========================
논리형 자료형
true(참) / false(거짓) 두가지만 나타내고, 1바이트를 사용한다. 값이 존재하는지, 결과가 참인지 거짓인지등을 표현.
package ch01;
public class DataType3 {
public static void main(String[] args) {
// 기본 자료형 --> 논리형 (사실을 관찰하고 결과값이 참, 거짓인지 판별할 때)
boolean isMarried = false; // 변수의 선언과 동시에 초기화 함.
System.out.println(isMarried);
isMarried = true; // 변수의 값을 변경함.
System.out.println(isMarried);
}
}
출력값
false
true
'Java > Java 이론' 카테고리의 다른 글
[JAVA] 형변환 (0) | 2023.07.25 |
---|---|
[JAVA] 변수와 상수 (0) | 2023.07.25 |
[JAVA] 변수와 자료형 (0) | 2023.07.24 |
[JAVA] 이클립스 환경 설정 (0) | 2023.07.24 |
[JAVA] 이클립스(Eclipse) 설치 (0) | 2023.07.24 |