월루를 꿈꾸는 대학생

변수 본문

Programing/Java

변수

하즈시 2021. 2. 21. 01:52
728x90

 

변수 

 

단 하나의 값을 저장할 수 있는 메모리 공간 

- 하나의 변수에 단 하나의 값만 저장할 수 있으므로 새로운 값을 저장하면 기존의 값은 사라짐

 

변수의 선언

-  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에 저장하여 사용한다 

그러니까 문자 리터럴 대신 문자 유니코드로 직접 저장해도 같은 값 나옴 

 

 

 

 

728x90

'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