변수
메모리(RAM)에 시간에 따라 변하는 값을 기록하기 위한 공간
1 . 변수 선언하기
- 선언 방법
자료형 변수명 ;
(변수타입지정) (변수명지정) (마침)
- 선언 예시
논리형 변수 선언 | 정수형 변수 선언 | 실수형 변수 선언 | 문자형 변수 선언 | 문자열 변수 선언 |
boolean isTrue; | byte bnum; short snum; int inum; long lnum; |
float fnum; double dnum; |
char ch; | String str; |
- 변수에 값 대입
int age;
age = 10;
생성한 변수(저장 공간)에 값을 저장 하는 것
★ 변수는 한 개의 데이터만 보관하며, 마지막에 대입한 값을 저장함.
- 리터럴을 변수에 대입
short s = 32567;
int i = 123;
long l = 10000L; (long 사용시 값에 L 붙히기)
float f = 0.115f; (float 사용시 값에 f 붙히기)
double d = 3.14;
char c = 'D'
String str = "HI";
2 . 변수의 초기화
변수를 선언한 이후 처음으로 값을 저장하는 것
변수선언 | 선언 후 초기화 | 선언 동시에 초기화 |
int a; | inr a; a = 100; |
int a = 100; |
double pi ; | double pi ; pi = 3.141592653; |
double pi = 3.141592653; |
3 . 변수를 사용하는 이유
- 변수 미사용시
Sytem.out.println(2 * 3.1234567891 * 10);
Sytem.out.println(3.1234567891 * 10 * 10);
Sytem.out.println(3.1234567891 * 10 * 10 * 20);
- 변수 사용시
double pi = 3.1234567891
int radius = 10;
int height = 20;
Sytem.out.println(2 * pi * radius);
Sytem.out.println(pi * radius * radius);
Sytem.out.println(pi * radius * radius * height );
: 값에 의미를 부여하여 코드 의미 파악 용이 , 재사용성 증가로 인한 유지보수성 증가
4 . 변수 저장 가능 범위
5 . 변수의 명명 규칙
- 컴파일 에러를 발생시키는 규칙
- 동일한 범위 내에서 동일한 변수명을 가질 수 없다.
- 예약어 사용이 불가능하다.
- 대/소문자를 구분한다.
- 숫자로 시작할 수 없다.
- 특수문자는 '_'와 '$'만을 허용한다.
- 개발자들 간의 암묵적 규칙
- 길이의 제한은 없지만 적당한 길이의 변수명으로 작성하는 것이 좋다.
- 합성어일 경우 첫 단어는 소문자로 시작하며, 두 번째 단어부터는 대문자로 시작한다. (camel-case)
- 단어와 단어 사이는 언더스코어(_) 사용 하지 않는다.
- 한글로 변수명을 짓는 것은 가능하지만, 지양한다.
- 변수 안에 저장된 값이 어떤 의미를 가지는지 알 수 있도록 이름을 짓는다.
- 전형적인 변수명이 있으면 가급적 사용한다.
- 명사형으로 작성한다.
- boolean형은 의문문으로 작성하되 가급적이면 긍정형으로 네이밍한다.
6 . 주요 예약어
상수
변하는 값이 변수였다면, 상수는 변하지 않는 값을 뜻한다.
1 . 상수 선언 방법
상수 선언하기 : finalint AGE;
선언 후 초기화 | 선언과 동시에 초기화 |
final int NUM; NUM = 100; |
final int NUM = 100; |
★ 초기화 이후 다른 데이터(값)을 대입할 수 없음
2 . 상수의 명명 규칙
변수와 다르지 않으나 개발자들 간의 암묵적 규칙에서 차이가 있음
- 모든 문자는 영문자 대문자 혹은 숫자만 사용
- 단어와 단어 사이는 언더스코어(_)를 사용
'프로그래밍 > java' 카테고리의 다른 글
[자바JAVA] 메소드(method) _ 전달인자와 매개변수를 이용한 호출 (0) | 2022.07.02 |
---|---|
[자바 JAVA] 연산자 ( 산술, 복합 대입, 증감, 비교, 논리, 삼항) (0) | 2022.06.29 |
[자바 JAVA] 오버플로우/ 언더플로우 / 자동형변환 / 강제형변환 (0) | 2022.06.27 |
[자바JAVA] 리터럴의 종류와 형태값 출력 및 연산방법 (0) | 2022.06.26 |
[자바JAVA] 프로그래밍 기초(자바언어의 특징,JVM) (0) | 2022.06.26 |