자료형 (Data Type): 변수에 저장할 데이터의 유형과 크기를 결정합니다.
| 구분 | 타입 | 크기 | 값의 범위 |
|---|---|---|---|
| 정수형 | byte | 1 byte | -128 \~ 127 |
| short | 2 byte | -32,768 \~ 32,767 | |
| int | 4 byte | -2,147,483,648 \~ 2,147,483,647 | |
| long | 8 byte | -9,223,372,036,854,775,808 \~ 9,223,372,036,854,775,807 | |
| 실수형 | float | 4 byte | 1.4 × 10^-45 \~ 3.4 × 10^38, 소수점 7자리 |
| double | 8 byte | 4.9 × 10^-324 \~ 1.8 × 10^308, 소수점 15자리 | |
| 논리형 | boolean | 1 byte | true, false |
| 문자형 | char | 2 byte | Unicode 문자 집합 사용 ('A', '가' 등) |
| 문자열 | String | 다양 | "Apple", "사과", "Hello Java" 등 |
연산자 (Operator): 변수에 저장된 데이터를 처리하는 데 사용됩니다.
| 구분 | 연산자 |
|---|---|
| 산술 연산자 | +, -, \*, /, % |
| 증감 연산자 | ++, -- |
| 복합 대입 연산자 | =, +=, -=, \*=, /=, %= |
| 관계 연산자 | >, <, >=, <=, ==, != |
| 논리 연산자 | &&, |
| 비트 연산자 | <<, >>, &, |
// VariableTest.java
public class VariableTest {
public static void main(String[] args) {
int a = 3; // 변수 초기화
int b = 7;
System.out.println("a 값: " + a);
System.out.println("b 값: " + b);
a = 5; // 변수 재할당
b = 9;
System.out.println("a 값: " + a);
System.out.println("b 값: " + b);
final int NUM = 5; // 상수 선언
System.out.println("NUM 값: " + NUM);
}
}
// DataTypeTest.java
public class DataTypeTest {
public static void main(String[] args) {
byte num1 = 127;
short num2 = 32767;
int num3 = 2147483647;
long num4 = 922337203685477507L;
System.out.println("num1: " + num1);
System.out.println("num2: " + num2);
System.out.println("num3: " + num3);
System.out.println("num4: " + num4);
float var1 = 0.123456789f;
double var2 = 0.123456789123456789f;
System.out.println("var1: " + var1); // 소수점 8자리까지 출력
System.out.println("var2: " + var2); // 소수점 17자리까지 출력
boolean data1 = true;
boolean data2 = false;
System.out.println("data1: " + data1);
System.out.println("data2: " + data2);
char c1 = 'A';
char c2 = '가';
System.out.println("c1: " + c1);
System.out.println("c2: " + c2);
String word1 = "A";
String word2 = "가";
String word3 = "Apple";
String word4 = "가을";
System.out.println("word1: " + word1);
System.out.println("word2: " + word2);
System.out.println("word3: " + word3);
System.out.println("word4: " + word4);
}
}
// OperatorTest.java
public class OperatorTest {
public static void main(String[] args) {
int num1 = 1, num2 = 2, num3 = 3, num4 = 4;
int result1 = num1 + num2;
int result2 = num1 - num2;
int result3 = num2 * num3;
int result4 = num4 / num2;
int result5 = num4 % num3;
System.out.println("result1: " + result1);
System.out.println("result2: " + result2);
System.out.println("result3: " + result3);
System.out.println("result4: " + result4);
System.out.println("result5: " + result5);
int num = 0;
System.out.println("num: " + num);
num++; // 증가 연산
System.out.println("num: " + num);
num--;
System.out.println("num: " + num);
num--; // 감소 연산
System.out.println("num: " + num);
num++;
System.out.println("num: " + num);
int n1 = 1, n2 = 2, n3 = 3, n4 = 4;
n1 += 1;
n2 -= 2;
n3 *= 3;
n4 /= 4;
System.out.println("n1: " + n1);
System.out.println("n2: " + n2);
System.out.println("n3: " + n3);
System.out.println("n4: " + n4);
int var1 = 1, var2 = 2;
boolean rs1 = var1 > var2;
boolean rs2 = var1 < var2;
boolean rs3 = var1 >= var2;
boolean rs4 = var1 <= var2;
boolean rs5 = var1 == var2;
boolean rs6 = var1 != var2;
System.out.println("rs1: " + rs1);
System.out.println("rs2: " + rs2);
System.out.println("rs3: " + rs3);
System.out.println("rs4: " + rs4);
System.out.println("rs5: " + rs5);
System.out.println("rs6: " + rs6);
int var3 = 3, var4 = 4;
boolean res1 = (var3 > 3) && (var4 > 3);
boolean res2 = (var3 > 2) && (var4 > 3);
boolean res3 = (var3 > 3) || (var4 > 3);
boolean res4 = (var3 > 3) || (var4 > 5);
boolean res5 = !(var3 > var4);
System.out.println("res1: " + res1);
System.out.println("res2: " + res2);
System.out.println("res3: " + res3);
System.out.println("res4: " + res4);
System.out.println("res5: " + res5);
}
}