모든 언어를 공부할 때, 그 언어의 자료형과 변수를 알고가는 것은 매우매우 중요하다.
package sec02.chap03;
public class Ex1 {
public static void main(String[] args) {
// 참/거짓 - boolean
System.out.println(true);
System.out.println(false);
// 숫자
System.out.println(123); // int
System.out.println(3.14); // double
// 문자 - char
System.out.println('A');
System.out.println('가');
System.out.println('⭐');
// 문자열 - String
System.out.println("동네형보다 많은 자료형");
}
}
package sec02.chap03;
public class Ex2 {
public static void main(String[] args) {
System.out.println("\n- - - - -\n"); // 💡 \n : 줄바꿈
double pi = 3.14;
System.out.println("원주율: " + pi);
System.out.println("원의 둘레: 지름 X " + pi);
System.out.println("원의 넓이: 반지름의 제곱 X " + pi);
System.out.println("구의 부피: 반지름의 세제곱 X 4/3 X " + pi);
System.out.println("\n- - - - -\n");
pi = 3.14159265358979; // 💡 값이 바뀔 수 있으므로 '변수'라 부름
System.out.println("원주율: " + pi);
// 자바의 변수: 앞에 담을 데이터의 자료형을 명시
// - (이후 배울 var 제외)
int age; // 💡 변수 선언: 주머니 만들기
// ⚠️ 아직 값이 없으므로 사용할 수는 없음
System.out.println(age);
age = 20; // 초기화: 빈 주머니에 값 넣기
// 이제 해당 값을 사용 가능
System.out.println(age);
}
}
public class Ex3 {
public static void main(String[] args) {
String 대학 = "학생";
// 일반적으로는 아래와 같이 선언과 초기화를 동시에
int age = 20;
boolean isMarried = false;
double height = 179.99;
char sex = 'M';
String name = "홍길동";
// 변수 - 값을 변경할 수 있다는 의미
age = 21;
// ⭐️ 자바는 정적 자료형
// ⚠️ 주머니와 자료형이 다른 데이터는 넣을 수 없음
// 크기가 다른 주판으로 갈아끼울 수 없음
// 컴파일 단계에서 차단됨
//age = false;
//isMarried = "안함";
//sex = 1.2
//name = 3; // 모두 에러가 뜸
}
}
= 오른쪽 값(변수가 아닌 데이터 표현)들을 리터럴(literal)이라고 부름디버그 기능
프로그램 중간중간 멈춰 상태를 확인해가며 실행 가능
맥: control + D / 중지: command + F2
값을 변수에 담으면 디버그 중 각 시점에서 확인 가능
main메소드를 닫는}부분에 브레이크포인트를 걸고 디버그 실행
public class Ex4 {
public static void main(String[] args) {
// 💡 쉼표를 사용하여 여럿을 한 줄에 선언 및 초기화 가능
// 모두 같은 자료형으로 선언됨
char ch1, ch2, ch3; // 선언만
char ch4 = 'A', ch5 = 'B', ch6 = 'C'; // 초기화까지
// ⚠️ 같은 변수를 두 번 선언하는 것 불가
int number = 1; // 에러
int number = 2;
// ⚠️ 변수를 선언 & 초기화하기 전 사용 불가
System.out.println(letter); // 에러
char letter = 'A';
System.out.println(letter);
int numberA = 1;
// 주머니의 값을 다른 주머니에 넣기
int numberB = numberA;
// 💡 원시타입 데이터는 값을 복사해서 줌
// 이후 참조타입과 비교하여 자세히 다룰 것
numberA = 2;
}
}
public class Ex5 {
public static void main(String[] args) {
// 💡 final 연산자 : 변수의 값을 바꾸지 못하게 만듦
final int INT_NUM = 1;
INT_NUM = 2; // 불가
}
}
상수의 네이밍은 일반적으로 대문자를 사용한다.
// 사용 가능
int yalco, _yalco, $yalco, 얄코;
// 사용 불가
int 1yalco;
int yal co;
int #yalco;
_ 사용 ex) PI, COMPANY_NAMEmyName, addNewObject // 사용 불가
int double;
boolean instanceof;
char new;
이건 너무나도 당연한 얘기지만, 변수의 이름은 의미를 담아서 지을것. 그래야지 어디에 사용되는 변수인지 알기 쉽다.