월루를 꿈꾸는 대학생
변수 본문
변수
단 하나의 값을 저장할 수 있는 메모리 공간
- 하나의 변수에 단 하나의 값만 저장할 수 있으므로 새로운 값을 저장하면 기존의 값은 사라짐
변수의 선언
- Data 저장공간 마련을 위해
- 변수란 즉 값을 저장할 수 있는 메모리 공간
변수의 초기화
- Ram 메모리주소 : 각각의 저장공간을 0~ 나누어 연속적 번호
- 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 고미 값이 남아 있을 수 있기에 초기화 시켜줌
- 이거 코딩할 때 중요 ! 초기화 시켜주는 거!!
메모리는 여러 프로그램이 함께 공유하는 자원이기 때문에 사용전 새로운 값을 저장하여 기존에 저장된 알 수 없는 값을 지우는 것 = 초기화
## 지역변수는 사용되기 전에 초기화를 하지만 클래스 변수와 인스턴스변수 초기화를 생략할 수 있음
"변수의 초기화란 변수를 사용하기 전에 처음으로 값을 저장하는 것"
System.out.println(); -> ()에 값 출력
두 변수의 값 교환하기
int x = 10;
int y = 20;
# 변수는 하나의 값만 저장하기에 임시저장소가 필요
int temp ;
변수의 명명
1. 대소문자가 구분되며 길이에 제한x
2. 예약어를 사용해서는 안 된다
3. 숫자로 시작 x
4. 특문 '_' 와 '$'만 가능
권장 규칙
1. 클래스 이름은 항상 대문자
2. 여러 단어라면 이어진 단어 첫 글자 대문자로
3. 상수 이름은 모두 대문자 _ 구분은 _ 로
변수의 타입
기본형 : 실제 data 값을 저장
참조형 : 해당 주소를 값으로 저장 보통 java는 기본형 변수로 쓴다
참조 변수 선언 시 변수의 타입으로 클래스 이름을 사용하기에 새로운 클래스는 새로운 참조형을 추가하는 것
ex _ Date today = new Date();
Date 객체를 생성해서 그 해당 객체의 주소를 today라는 Date 클래스 타입의 참조 변수에 선언한 것
상수와 리터럴
상수 : 변수와 비슷한 개념이지만 값을 저장하면 다른 값으로 변경 x
변수 타잎 앞에 키워드 final을 사용
ex _ final double MIN_VALUE = 10;
반드시 선언과 동시에 초기화
보통 다 대문자임
리터럴 : 해당 변수값의 다른 이름
EX_
float pi = 3.14f;
// 변수형 타입이 float 니까 리터럴 타입도 f 로 맞춰준다
// double은 생략 가능
float pi = 3.14 xx
// 변수 타입이 float인데 리터럴 타입이 생략되어 있지만 double 형태라 에러 뜸
즉 long 타입과 float 타입만 리터럴 값 주의!!
문자 리터럴 : 'a' 작은 따옴표로 하나 감싼 것
문자열 리터럴 : "안녕하세요" 두 문자 이상
문자열 리터럴은 빈 문자열 가능이지만 문자는 반드시 안에 내용이 필요하다 null 불가 _ 다만 공백은 가능
int 형을 string으로 바꿀 때는 그냥 ""string형 빈문자열을 더해주면 int형태가 string으로 바꿈
출력방법
println() : 변수 값 그대로 출력
printf() : 소수점 둘째자리 출력 (ex %.2f) ,16진수나 8진수 출력시
다만 지시자라는 걸 사용한다 - 뒤에 있는 값을 땡겨서 가져오는 느낌 타입은 변경!
10진수를 2진 문자열로 바꿔주는 Integer.toBinaryString(int i) 로 해당 10진수를 2진 문자열로 바꿔주는 필요가 있음
입력 방법
import java.util.*; // Scanner 클래스 위해 import
Scanner scanner = new Scanner(System.in);
// Scanner class 객체 생성
String input = scanner.nextLine();
// 입력 받은 내용을 input에 저장
// 입력을 마치고 enter까지의 내용을 저장
int num = Interger.pareseInt(input);
// 입력 받은 내용을 int로 변환
// 문자열을 int 타입 정수로 변환
// 귀찮으니 그냥
int num = scanner.nextInt(); // 처음부터 정수입력 받기
Scanner scanner = new Scanner(System.in);
문자형 char
char ch = 'a';
ch라는 변수에 a가 저장되는 것이 아니라 a의 유니코드가 저장됨
컴퓨터는 숫자밖에 모름 문자란 걸 인식 못하니까 a에 해당하는 유니코드 숫자 65를 ch에 저장하여 사용한다
그러니까 문자 리터럴 대신 문자 유니코드로 직접 저장해도 같은 값 나옴
'Programing > Java' 카테고리의 다른 글
ch4 조건문과 반복문 (0) | 2021.03.07 |
---|---|
연산자 (0) | 2021.02.27 |
Java 알고리즘 1주차 (0) | 2021.02.22 |
0221 java 스터디 1주차 (0) | 2021.02.21 |
Java 이클립스 + jdk 설치 (0) | 2021.02.21 |