변수
: 다양한 종류의 자료를 표현할 수 있는 값을 변수라고 부르며, 일반적으로 웹 페이지에서 처리하고자 하는 "데이터"에 해당
1. 자료형 (data type)
- 프로그래밍 언에서 변수의 종료를 구별하기 위해 사용되는 키워드
- 자바에서 제공되는 자료형의 종류에는 총 8가지. 이를 기본 자료형 (Primitive Data Type)이라 함
2. 자료형이 가지는 의미
- 일반적으로 메모리란 PC에 설치하는 RAM을 의미
- 4byte의 크기를 갖는 변수값 하나를 생서할 경우, PC의 RAM 에서 해당 용량만큼을 사용
- 변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성 (용량을 넘어서는 경우 OutOfMemory 발생)
3. 문자열 데이터
- 프로그램 코드에서 "문장"을 표현하기 위해 사용되는 데이터 값
- String : 문자열을 표현하기 위한 자료형 (첫 글자 대문자 주의)
- 글자 수에 상관 없이 ""로 묶인 내용을 할당할 수 있다
- 숫자 값의 경우 ""로 묶이게 되면 문자열로 취급, 숫자와 문자열을 분명하게 구별해야 함
변수의 사용
1. 변수의 사용 방법
- 변수를 사용하는 방법은 "선언과"과 "할당" 두 영역으로 구분
2. 변수의 선언
- 선언은 데이터과 형과 사용하고자 하는 변수의 이름을 지정, ;으로 한 라인을 종료
데이터형 변수 이름;
int num;
3. 변수의 할당
- 선언된 변수에 원하는 값을 대입하는 과정을 의미.
값의 대입은 대입 연산자(=)를 사용하여, 우변에서 좌변으로 대입
변수 이름 = 값;
num = 100;
price = 350000;
username = "김자바";
4. 변수의 선언과 할당 통합
- 선언과 할당의 통합
데이터형 변수 이름 = 값;
int num1 = 100;
int num2 = 200;
5. 문자열 데이터
- String 형의 변수를 선언하고, ""로 묶인 값을 대입
- 빈 문자열이나 공백도 문자형 데이터
// 공백 포함 문장
String msg = " 안녕하세요, 자바 ";
// 빈 문자열 값
String blank = "";
// 숫자값이 ""로 묶였다면 문자열
String age = "20";
6. 문자열 데이터 덧셈
- 문자열 + 문자열 -> 두 문장을 하나로 합쳐줌
String language = " JA" + "VA"; //결과값 : " JAVA"
- 문자열 + 기본 자료형 -> 기본 자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐짐
int age = 20;
String name = "자바학생";
String result = age + name;
// 20 + "자바학생" -> "20" + "자바학생" -> "20자바학생"
7. 변수 이름 명명 규칙
- 변수 이름은 영문, 숫자, "_", "$"만 사용 가능
- 변수 이름의 첫 글자는 숫자로 시작될 수 없음
- 대/소문자를 엄격하게 구별하므로 오타에 주의 (num1과 Num1은 다름)
- 자바에서 사용하는 예약어(키워드)를 사용할 수 없다 ex) main
- 변수명 선언 : myname, myName, my_name 구분해주는게 가독성 있음 (첫글자 대문자 X)
8. 값의 할당 방법
- boolean은 true(참), false(거짓) 중 한 가지만 갖는다
boolean isKorean = ture;
boolean isJapanese = false;
- char는 ''로 감싸진 한 글자만 대입할 수 있다
char first = '한';
- long, float, double은 다른 데이터 형과의 구별을 위해 값 뒤에 데이터 형의 첫 글자를 접미사로 가질 수 있다
접미사는 대/소문자를 가리지 않지만 가급적 대문자로 사용하는 것이 좋다.
long money = 50000000L;
float PI = 3.14F;
double lat = 128.32452D;
9. 변수 사용의 제약
-> 반복하여 다른 값이 할당될 수 있지만, 선언은 중복 불가
int num1 =100;
num1 = 200;
int num1 =300; // 이미 선언된 변수이므로 에러
-> 선언되지 않은 변수는 사용할 수 없다.
int num1 =100;
num1 = 200;
num2 = 300; // 선언되지 않은 변수이므로 에러
-> 값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없음
int num1;
int num2 = num1; // 할당되지 않은 변수를 대입해서 에러
System.out.println(num1); // 할당되지 않은 변수를 출력해서 에러
-> 생성된 변수는 다른 변수에 대입될 수 있음
int num1 = 100;
int num2 = num1; // 노오류
예시 코드
package value;
public class Main01 {
public static void main(String[] args) {
// 변수의 선언
int num1;
// 변수의 할당
num1 = 100;
System.out.println(num1);
num1 = 200; // 변수의 재할당
System.out.println(num1);
}
}
package value;
public class Main02 {
public static void main(String[] args) {
byte t = 100;
short s = 250;
char c = '가';
boolean b = true;
System.out.println(t);
System.out.println(s);
System.out.println(c);
System.out.println(b);
System.out.println("---------------------------");
long num = 1234567890000l;
double num2 = 128.4D;
float num3 = 3.14F;
System.out.println("num : " + num);
System.out.println("num2 : " + num2);
System.out.println("num3 : " + num3);
}
}
package value;
public class Main03 {
public static void main(String[] args) {
// 일반 변수
int width = 100;
// 상수
final double PI = 3.14D;
System.out.println("width = " + width);
System.out.println("PI = " + PI);
// 값의 변경
width = 200;
// 상수를 재할당 하려고 했으므로 오류 발생
//PI = 3.141592D;
System.out.println("width = " + width);
System.out.println("PI = " + PI);
}
}