Back-End/Java 기초정리

Java ■ 변수(Variable)

SIKIDA 2024. 4. 3. 22:32
728x90

  변수   : 어떠한 값(data)을 저장할 수 있는 저장 공간

ex) 변수를 사용하지 않을 경우

아래와 같이 100을 수정하기 위해서 하나하나 총7번 수정해야함.

여기서 변수를 사용하면 총 1번만 수정하면 끝!

 

 

◈  변수 선언   : 메모리에 값(data)을 저장할 공간을 확보하는 과정

 

 

◈ 선언 방법    : 자료형  변수명  ; 

 

 

◈ 자료형(Data Type)

 

 

•  자료형의 크기

 

 

  바이트(byte)와 비트(bit)

 

•  비트(bit) : 컴퓨터에서 정보를 표현하기 위한 최소 단위로써 0 또는 1로 표현됨

•  바이트(byte) : 1byte는 8개의 bit로 이루어진 단위를 의미함 (1byte = 8bit)

 

◈ 변수명 네이밍 규칙

  1. 대소문자를 구분하며 길이 제한이 없음.
  2. 예약어 사용 불가    ex) int , true,  public, final, if ...등
  3. 숫자로 시작할 수 없음.   ex) 1num(X)  ,    num1(O)
  4. 특수문자는 _ 와 $ 만 허용
  5. 관례적으로 카멜 표기법(낙타 표기법)을 사용

• 카멜 표기법(Camel Notation : Camel case : 낙타 표기법)

: 소문자로 시작하며 이어지는 단어들의 시작을 대문자로 작성하는 표기법

ex) userName, boardList

 

• 파스칼 표기법(Pascal case)

대문자로 시작하며 이어지는 단어들의 시작또한 대문자로 작성하는 표기법 자바에서는 클래스의 이름을 지을 때 사용됨 ex) UserName, BoardList

 

• 스네이크 표기법(Snake case)

단어 사이에 언더바(_)를 활용하는 표기법

ex) user_name, board_list

 

◈ 변수 초기화

 

• 초기화 : 변수에 값을 할당하는과정

• 명시적 초기화(Explicit initalization) : 변수의 선언과 동시에 초기화 하는 것

◈ 상수

프로그래밍 언어에서의 상수는 단 한번만 저장되고 이후 변하지 않는 값을 의미함 변수명은 대문자에 언더바(_)를 넣어

대문자로 이루어진 스네이크 표기법을 사용하는것이 관례이다.

 

◈ 형변환(Casting)

변수에 이미 선언된 데이터 타입을 변경하는 것을 형변환 또는 타입변환이라 함 형변환은 크기가 작은 타입이 큰 타입에 저장되어야 데이터 손실이 발생하지 않는다.

 

• 문자 ‘A’가 숫자 97로 변환되는 이유 

컴퓨터는 0과 1로만 이루어진 명령을 수행할 수 있기 때문에 문자 A를 입력해도

ASCII(아스키 코드)에 의해 정의된 숫자로 변경됨

 

• char → int , long → float으로 형변환(캐스팅)이 가능한 이유

메모리 설계상 정수 타입 보다 실수 타입의 표현 범위가 더 넓기 때문이다.

 

ex)

 

◈ 자동 형변환

 

• 자동 형변환 (암시적 형변환)

프로그래머가 직접 형변환을 해주지 않아도, 컴파일 과정에서 자동으로 타입 변환 범위가 작은 자료형 → 범위가 큰 자료형

 

 

◈ 강제 형변환

 

• 강제 형변환 (명시적 형변환)

프로그래머가 직접 형변환을 해야하며, 하지 않을 경우 에러 발생 범위가 큰 자료형 → 범위가 작은 자료형

 

• 강제 형변환의 단점

범위가 큰 자료형에서 범위가 작은 자료형으로 변환하기 때문에 데이터 손실을 발생시킬 수 있음

 

 

◈ 자바 메모리 구조 이해하기

 

• 스택(Stack) 영역

메서드 호출 시 자동 생성 및 종료 시 자동 소멸 매개변수, 지역변수, 리턴 값, 연산 값 등을 임시 저장하는 영역

 

• 힙(Heap) 영역

new 키워드로 생성된 객체와 배열이 동적으로 저장되는 영역

 

• 정적(Static or Method) 영역

정적 변수(클래스 변수), 정적 메소드 등을 저장하는 영역

 

◈ 기본형 변수 vs 참조형 변수

 

• 기본형 변수(Primitive Variables)

자바에서 미리 정의되어 있는 데이터 타입으로써 정수, 실수, 문자, 논리가 있음 이러한 기본형 변수는

스택 메모리에 직접 저장되며 값을 가지고 있다.

• 참조 변수(Reference Variables)

참조형 변수는 클래스, 인터페이스, 배열 등의 데이터 타입이 있으며 자바에서 미리 정의해둔 데이터 타입과

개발자가 직접 선언하여 사용할 수 있음.   -> 참조형 변수의 값은 힙 메모리에 저장된다.

 

◈ 스캐너

 

• Scanner Class

사용자로부터 값(data)를 입력받는 기능을 제공하는 클래스

 

• 사용 방법

 

 

◈ 출력 메소드

 

• System.out.print()

괄호 () 안의 내용을 출력. 개행 문자(줄 바꿈=\n) 포함되지 않음

 

• System.out.println()

괄호 () 안의 내용을 출력. 개행 문자(줄바꿈=\n) 포함

 

• System.out.printf(“출력 서식”, 출력할 내용)

괄호 () 안에 형식에 맞춰 내용을 출력. 개행 문자(줄 바꿈=\n) 포함되지 않음

-정렬 방법-

- %10d : 왼쪽 10칸 공백, 오른쪽 정렬

- %-10d : 오른쪽 10칸 공백, 왼쪽 정렬

- %.5f : 소수점 아래 5자리 표시

◈ 이스케이프 문자

 

• 이스케이스(Escape)

백슬래시(\) 뒤에 문자 또는 숫자가 오며, 특수한 기능을 수행하는 문자

 

이 말고도 엄청 많음 !

 

 

 

'Back-End > Java 기초정리' 카테고리의 다른 글

Java ■ 객체  (0) 2024.04.17
Java ■ 배열(Array)  (0) 2024.04.16
Java ■ 제어문(반복문)  (0) 2024.04.11
Java ■ 제어문(조건문)  (0) 2024.04.04
Java ■ 연산자(Operator)  (0) 2024.04.03