자바(Java) 기초 1. 변수
변수(variable)
메모리(RAM)에 값을 기록하기 위한 공간; 코드의 가독성과 재사용성 up, 코드량 down, 유지보수 용이
변수 선언
자료형 변수명;
- 변수명은 중복 불가. 자료형의 크기만큼 메모리의 공간이 할당되고 이에 변수명을 지정
타입(Type) [자료형(DataType)]
| 논리 | boolean - 1byte | |
| 문자 | char(유니코드문자) - 2byte | |
| String(문자열) - 참조형(객체의 주소. memory address) | ||
| 숫자 | 정수형 | byte - 1byte short - 2byte int (기본자료형) - 4byte long - 8byte (L) |
| 실수형 | float - 4byte (0.0f) // 유효자리수 7자리, 이하는 반올림 숫자로 표현됨 double (기본자료형) - 8byte (0.0 or 0.0d) |
|
정수형 값의 범위 -2n-1 ~ 2n-1-1 (n=bit수)
예) int : -231 ~ 231-1
즉, 대략 10자리수(약 ±20억) 저장 가능. 7~9자리 계산 시 넉넉하게 long 타입(약 19자리) 선언.
데이터 저장 단위
비트(bit) : 저장의 최소 단위. 2진수 값 하나를 저장(0,1)
바이트(byte): 8비트. 데이터 처리 or 문자의 최소 단위
변수 명명 규칙
- 대소문자 구분. 길이제한 x
- 예약어 사용 x 예) true, final, String 등
- 숫자 사용 가능하나 숫자로 시작 불가 예) 1age - ( x )
- 특문은 _, $만 허용됨 ($harp) : '_'는 관례 상 사용x. $는 내부 클래스 사용
- 첫 시작은 소문자, 뒤에 올 단어 첫 글자를 대문자로 함. 낙타등(카멜) 표기법 - 예) userName
1~4) 지키지 않을 시 컴파일 오류 발생
값 대입 (마지막에 대입한 값만 보관됨)
int age;
age = 10; //선언 후 초기화
int age = 10; //선언과 동시에
변수의 초기화: 처음으로 값 저장. 지역변수는 반드시 초기화.
리터럴 (값 자체)
char c = 'a'; (싱글쿼테이션)
String str = "abcd"; (더블쿼테이션)
long l = 10000L;
float f = 0.111f;
double d = 3.14;
public void changeValue() {
//변수값 변경
String name;
char gender;
int age;
double height;
name = "김렛미";
gender = 'F';
age = 20;
height = 170.5;
System.out.println(name + "님의 개인정보");
System.out.println("gender : " + gender);
System.out.println("age : " + age);
System.out.println("height : " + height);
//키보드로 값을 입력받아 변수에 저장된 값 변경
Scanner sc = new Scanner(System.in);
System.out.print("이름을 입력하세요 : ");
name = sc.nextLine(); //문자열
System.out.print("성별을 입력하세요 : ");
gender = sc.next().charAt(0); //문자를 읽어오는 메소드는 제공하지 않기 때문
System.out.print("나이를 입력하세요 : ");
age = sc.nextInt();
System.out.println("키를 입력하세요 : ");
height = sc.nextDouble();
System.out.println(name + "님의 개인정보");
System.out.println("gender : " + gender);
System.out.println("age : " + age);
System.out.println("height : " + height);
}
'TIL > JAVA' 카테고리의 다른 글
| Java 기초 - 반복문, 분기문 (0) | 2022.07.19 |
|---|---|
| Java 기초 - 조건문 (0) | 2022.06.20 |
| Java 기초 - 연산자(Operator) (0) | 2022.06.18 |
| Java 기초 - 상수, 오버플로우, 형변환 (0) | 2022.06.15 |
| Java 기초 - 출력메소드, 입력받기 (0) | 2022.05.26 |