키보드워리어

【JShell】자바 변수에 대하여 본문

JAVA/Jshell

【JShell】자바 변수에 대하여

꽉 쥔 주먹속에 안경닦이 2022. 7. 5. 10:58
728x90

안녕하세요 【키보드 워리어】
블로그 방문자 여러분, 안경닦이입니다.



오늘은 자바 변수에 대해 조금 살펴보겠습니다.

 


자바 변수에서 고려할 요소

자바에서는 변수에 관해서 알아야 할 요소들이 몇 가지 있습니다.

 

첫 번째. 변수가 메모리에 저장될 때 어떤 과정을 거치는가?

두 번째. 변수의 이름을 짓는 관례는 어떻게 되는가?

세 번째. 변수들의 타입에 대해서

네 번째. 할당 대입하는 법?

 

이 네가지에 관하여 정리한 내용을 포스트 하겠습니다.

------------------------------------------------------------------------------------------

1. 변수가 메모리에 저장될 때 어떤 과정을 거치는가?

 

만약 변수 정수 a,b와

문자열 c, d를 넣는 다고 가정할 때

 

/* int a = 5 ;int b = 10; String c = "a"; String d = "a"; 의 경우 */

Memory Location Value Name
5004 a c
5008 5 a
5012 10 b
5016 a d

변수를 지정할 때 컴퓨터 메모리에는

하나의 박스를 만듭니다. 이 박스 안에는 이름이 정해져 있고 위치가 있습니다.

 

그리고 여기서 여기서 스트링(문자열) 타입은 특이하게도 이름이 같더라도,

새로운 로케이션을 할당시켜 값을 집어넣습니다.

 

/*변수의 유형은 프로그램 중간에 변경할 수 없고 변수의 유형이 다른 값도 저장할 수 없습니다.*/

완료

 

2. 변수의 이름을 짓는 관례

 

  1. 문자 대문자와 소문자 특수문자, 숫자, 특수기호 ($)와 (_)를 사용한다.
  2. 숫자로 시작할 수 없다.
  3. 특정 키워드는 사용 불가(int, double)
  4. 식별자는 길이 제한은 없다.
  5. 낙타 대문자

*낙타 대문자란?

 예시) {noOfGoals}

#예시와 같이 첫 단어는 소문자로 시작합니다.(대문자 시작 변수는 좋은 예시라고 생각하지 않는다.)

#가장 좋은 변수 네이밍은 변수의 값을 대변할 수 있어야 합니다.

           Ex) 그냥 변수 {int s} 보다 {int score}가 더 객관적입니다.

#변수의 좋은 이름을 주는 버릇을 키우면 코드를 유지해야 하는 다른 개발자에게도

도움을 주어 좋은 개발자가 될 수 있습니다.

 

완료

 

3. 변수들의 타입

 

변수들 Table

위와 같은 표는 정수/ 부동소수점(소수)/ 문자/ 참과 거짓 값을 구할 수 있는 자바 연산자입니다.

정수 연산자 [byte , short , int , long]

소수 연산자 [float , double]

문자, 문자열 연산자 [char , string]

참과 거짓 연산자 [boolean]

 

이처럼 다양한 연산자들은 각 값을 기록하기 위해 알맞은 변수 형태를 선택해야 합니다.

 

완료

4. 할당 대입하는 법

 

예를 들어

int i = 10;

int j = 20; 

i = j; 의 경우

 

자바 프로그램은 수학 연산과 다릅니다.

i= j와 같다고 인식하는 수학 연산과 달리 할당을 사용하는 자바에서는

i의 값을 j에 대입(복사)하라는 뜻이 됩니다.

 

이런 대입은 오직 변수만 가능합니다.

변수를 다른 값으로 할당 지는 못합니다.

논리식이 아닌 할당식
10의 값은 변수가 아니기 때문에 변수 i 에 넣을 수 없다.

할당에서는 계산까지도 가능합니다.

예시) i = i + 1; //증가

 

 

자바에서는 증감 연산자를 재미있게 쓸 수 있습니다.

number++  는 정해진 number 값에 1을 더하라는 의미입니다.

++number는 ( number = number + 1)라는 의미로 나중에 다시 다뤄보겠습니다.

 

# 참고로복합 할당 연산자를 쓰면 코드를 간소화할 때 도움이 됩니다.

복합할당연산자 예시

각 {j = j+1}/ {j= j-2}/ {j= j*5}/ {j= j/2}라는 의미로 사용할 수 있습니다.

완료

728x90