본문 바로가기
java 스터디

java 스터디 2주차

by 기록을안하면바보 2024. 4. 13.

2-1) 변수

하위 폴더 생성 방법

 

variable이라는 이름의 하위 폴더 생성

 

폴더 아래에 새로운 java class 생성! (관례상 클래스 이름의 첫 문자는 대문자로 써주기)

 

패키지

자바 파일을 구분하기 위한 폴더 정도임.

Variable 이라는 패키지를 생성했다면 해당 패키지 파일 첫줄에 pakeage Variable; 처럼 소속된 패키지를 선언해주어야 함.

파바 파일이 위치하는 패키지와 pakeage Variable; 선언 위치가 같아야함

 

 

변수

변할 수 있는 값. 저장공간

 

변수의 선언과 초기화의 예시.

 

중복된 값들을 한번에 변경가능하게 해준다.

 

 

a의 값을 변경해줬더니 출력 결과가 모두 변한 것을 확인할 수 있음.

 

int 형 변수

정수를 보관할 수 있는 데이터 저장소.

변수를 만드는것을 변수 선언이라 함.

값을 대입하는 방법

 

int a;

a=10;

>>a에 10이라는 정수가 저장된다.

선언한 변수에 처음 값을 대입하는 것을 변수 초기화라 한다.

 

2-2) 변수의 값 변경

 

처음 a를 출력했을 때는 10이 출력되지만  변수의 값을 50으로 변경해준뒤 출력했을 떄 50이 출력되는것을 보면 변수의 값 변경이 제대로 일어났을음 확인가능.

2-3)변수의 선언과 초기화

데이터를 보관할 수 있는 공간을 만들고 그곳에 이름을 부여하는 것

하나씩 변수를 선언하거나 여러변수를 한번에 선언하기 가능.

만약 초기화 하지 않고 출력할 경우 컴파이 에러가 발생함.

초기화 하지 않으면 더미 값이 출력될 수 있기 때문에 자바에선 이를 방지해 오류가 발생하도록 함.

컴파일 단계에서 오류가 발생해 컴파일 자체가 불가능함.

오류 위치를 알려준다.

 

변수를 선언만 해주고 초기화를 진행하지 않았을 때, 변수가 사용되지 않는다면 컴파일이 가능하지만 컴파일된 파일을 확인했을 때 자바의 최적화에 의해 해당 변수가 없어진다.

 

2-4) 변수 타입 1

 

변수의 형식

int 정수

double 실수

boolean 값이  t or f 둘 중 하나

char  문자 한글자 ' ' 사용

String(대문자 유의) 문자열 " "사용

 

각 변수는 지정한 타입에 맞는 형식을 써줘야함.

그렇지 않을 경우 오류가 발생함.

 

리터럴 

코드에서 개발자가 직접 적은 값을 literal이라 함.

변수의 값은 바귈 수 있지만 리터럴은 개발자가 고정한 값이라 바꿀 수 없음

2-5) 변수 타입 2

 

저장할 수 있는 값이 커질수록  더 많은 메모리 공간을 차지함

 

정수

byte -128~127

short -32,768~32767

int  -20억~20억

long  +-20 억 이상의 범위

 

실수

float 7자리의 정밀도

double15자리 정밀도

 

추가

boolean

char

String:메모리 사용공간이 문자열의 길이에 따라 동적으로 변경된다.

 

리터럴 타입 지정

정수 리터럴은 int를 기본으로 사용해 int의 범위까지만 표현가능함. 숫자가 int의 범위를 넘어갈 경우 숫자 뒤 L을 붙여서 리터럴을 long으로 변경해줘야함.(소문자 l도 가능은하지만 1과 혼동가능하니 대문자로 써주기)

 

float의 경우 표현범위가 작으므로 실수형의 기본 리터럴은 double로 저장

 

너무 작은 타입은 거의 사용되지 않는다. 메모리 공간의 값이 저렴해짐에 따라 메모리를 줄이기보다는 코딩의 효율성을 높여주는 것이 더 중요함.

 

byte, short, float, char 은 많이 사용되지 않음.

 

2-6) 변수의 명명 규칙

변수의 명명 규칙과 관례(필수는 아니지만 지키는게 좋음)

 

규칙:

변수의 이름 숫자로 시작 불가능

이름에 공백 포함 불가능

자바 예약어 포함 불가능

영문자와 숫자 달러기호 밑줄만 사용가능함

 

관례:

낙타 표기법:

변수의 첫단어는 소문자로 시작

두 단어가 붙어있는 변수의 경우 다음 단어의 첫글자를 대문자로 써줌(공백포함이 불가능하기 때문)

이름에 공백을 넣지 않고도 단어를 구분하기 쉬워서 좋음

ex: myAccount

 

 

자바의 관례:

클래스의 경우 첫글자 대문자로 표기+낙타표기법

나머지는 모두 첫글자 소문자+낙타표기법

 

예외)

상수는 모두 대문자 언더바로 구분함

패키지는 모두 소문자를 사용함

 

!변수의 이름은 의미가 있도 용도를 명확하게 설명할 수 있어야함

 

 

2-6) 문제풀이

<문제>

반복해서 나오는 숫자 4와 3을 다른 숫자로 변경할 수 있도록 변수 num1 num2를 이용해 변경

 

<풀이>

num1=4 num2=3으로 변수의 선언과 초기화를 완료해준 후 4와 3이 들어가는 자리를 각 변수들로 대체해 줌.

 

2-7) 정리

변수를 사용하여 코드의 중복을 해결 가능함.

변수의 선언과 대입, 초기화의 기능이 있음.

변수의 값 변경 시 기존의 값은 사라진다.

지역변수는 반드시 초기값을 입력해주어야함. 아닐 경우에는 에러발생함.

여러 변수의 타입이 존재하고 변수의 타입에 맞게 값을 주어야함.

리터럴은 개발자가 직접 지정해준 값을 의미함.

변수의 명명 규칙은 꼭 지켜주고 관례 또한 지켜주도록 한다.

변수으 ㅣ이름은 의미를 파악할 수 있도록 정해준다.

 

'java 스터디' 카테고리의 다른 글

java스터디 6주차  (0) 2024.05.24
java 5주차  (0) 2024.05.17
java 스터디 4주차  (0) 2024.05.15
java 스터디 3주차  (0) 2024.05.04
java 스터디 1주차  (1) 2024.04.06