변수가 왜 필요해?
package variable;
public class Var1 {
public static void main(String[] args) {
System.out.println(10);
System.out.println(10);
System.out.println(10);
}
}
지금은 10을 세 번 출력하는 코드이다. 20을 세 번 출력하는 코드로 바꾸고 싶어! 그럼 10→20으로 3번이나 바꿔 적어 주어야 하는데… 매우 귀찮지 않은가
변수(변할 수 있는 값)을 설정해줌으로써 간단하게 변경해 줄 수 있다 .
package variable;
public class Var1 {
public static void main(String[] args) {
int num; // 변수 선언
num = 10; // 변수 초기화
System.out.println(num);
System.out.println(num);
System.out.println(num);
}
}
이렇게 변수를 선언했다면 20을 출력하고 싶을 때 num = 10;
대신 num = 20;
으로 바꾸면 손쉽게 20을 출력할 수 있다.
- 변수명을 호출하면 변수의 값을 읽어올 수 있음
System.out.println(num);
→ num 호출
변수 선언, 초기화
package variable;
public class Var1 {
public static void main(String[] args) {
변수타입 변수명; // 변수 선언
변수명 = 값; // 변수 초기화
변수명 = 값2; // 변수값 변경
int a, b; // 여러개 동시에 선언 가능
}
}
변수 선언과 초기화를 동시에 해보자
package variable;
public class Var1 {
public static void main(String[] args) {
int num = 10; // 변수 선언과 초기화 한번
}
}
java: variable num might not have been initialized
: 변수가 초기화 되지 않았다는 오류 (컴파일 오류)
package variable;
public class Var1 {
public static void main(String[] args) {
int num;
// System.out.println(num); -> 오류 발생
}
}
변수 num 공간에 어떤 값이 있는지 알 수 없음. 그래서 그냥 출력해버리면 나는 아무 값을 넣지 않았음에도 이상한 값이 나올 수 있기 때문에 컴파일러에서 오류를 내버린다.
num 공간에 내가 원하는 값을 채워 넣어 주어야 이상한 값이 출력 되는 것을 예방할 수 있다.
변수 타입
- 대표적인 타입
package variable;
public class Var1 {
public static void main(String[] args) {
int a = 100; //정수 ⭐
double b = 10.5; //실수 ⭐
boolean c = true; //불리언 : true, false ⭐
char d = 'A'; //문자 하나 / 그냥 String a = "a"; 해도 됨. 잘 안씀
String e = "Hello"; //문자열 ⭐ , "" 큰따옴표 사용
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
}
}
※ String 타입은 첫글자가 대문자로 시작함
정수
public class Var1 {
public static void main(String[] args) {
byte b = 127; //-128 ~ 127 / 사용 잘 안함. 그냥 int를 쓰자
short s = 32767; //-32,768 ~ 32,767 / 사용 잘 안함. 그냥 int를 쓰자
int i = 2147483647; //-2,147,483,648 ~ 2,147,483,647 (약 20억)
long l = 9223372036854L; // 엄청나다~ 20억 이상일 때 사용 / 뒤에 L을 붙임
}
}
바이트가 높을 수록 메모리 차지가 많아지니 사용할 범위에 맞춰서 타입을 지정해 주는 게 good
실수
public class Var1 {
public static void main(String[] args) {
float f = 10.0f; // 뒤에 f를 붙여줘야함
// float 사용 잘 안함. 크기가 작고 정밀도가 낮음. 그냥 double을 쓰자
double d = 10.0; // 더 큰 범위의 실수 사용 가능
}
}
불리안
public class Var1 {
public static void main(String[] args) {
int score = 80;
boolean b = score >= 80 && score <= 100;
System.out.println(b);
}
}
변수 명명 규칙
: 이름 짓는 규칙 ~!
- 숫자로 시작할 수 없다
- 공백 X
- 예약어 사용 X (ex. int, class …)
- 영문자, 숫자, 달러 기호, 밑줄만 사용 가능
관례
- 첫 글자는 소문자로 시작하는 카멜 표기법 사용 (낙타 표기법) ⇒ 변수
- ex ) myDetail, HelloWorld
- 두 단어를 이을 때 첫 글자를 대문자로
- 공백 없이 단어를 이을 수 있음
- 클래스는 첫글자가 대문자
- MyDetail
- 클래스도 첫 글자만 대문자지 낙타 표기법 사용함
- 클래스 이름의 첫 글자는 대문자, 나머지는 모두 첫 글자 소문자
- 상수는 모두 대문자 사용, 언더바로 구분
- USER_LIMIT
- 패키지는 모두 소문자
- org.spring.boot
- 변수 이름은 의미있고, 용도를 명확하게 !
- 그래야 딱 보고 뭔지 바로 알 수 있음
'Java를 자바' 카테고리의 다른 글
[Java] 반복문 | while, for (0) | 2024.04.11 |
---|---|
[Java] 연산자 (0) | 2024.04.02 |
[Java] 자바란? (0) | 2024.04.02 |
[Java] Intellij 개발 환경 설정하기, 프로젝트 생성 (0) | 2024.04.02 |
[Java] 구글맵 API 연동하기 | 무작정 따라해보기 (0) | 2023.03.29 |