◈ 변수 ◈ : 어떠한 값(data)을 저장할 수 있는 저장 공간
ex) 변수를 사용하지 않을 경우
아래와 같이 100을 수정하기 위해서 하나하나 총7번 수정해야함.
여기서 변수를 사용하면 총 1번만 수정하면 끝!
◈ 변수 선언 ◈ : 메모리에 값(data)을 저장할 공간을 확보하는 과정
◈ 선언 방법 ◈ : 자료형 변수명 ;
◈ 자료형(Data Type)
• 자료형의 크기
◈ 바이트(byte)와 비트(bit) ◈
• 비트(bit) : 컴퓨터에서 정보를 표현하기 위한 최소 단위로써 0 또는 1로 표현됨
• 바이트(byte) : 1byte는 8개의 bit로 이루어진 단위를 의미함 (1byte = 8bit)
◈ 변수명 네이밍 규칙 ◈
- 대소문자를 구분하며 길이 제한이 없음.
- 예약어 사용 불가 ex) int , true, public, final, if ...등
- 숫자로 시작할 수 없음. ex) 1num(X) , num1(O)
- 특수문자는 _ 와 $ 만 허용
- 관례적으로 카멜 표기법(낙타 표기법)을 사용
• 카멜 표기법(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 |