늦은 프로그래밍 이야기

상수와 변수, 자료형 본문

내일배움캠프/Java 기초

상수와 변수, 자료형

한정규 2022. 11. 7. 19:30
public class Main {  // Main 클래스

    public static void main(String[] args) {  // main 함수(메소드)
	// write your code here
    }
}

 - 블록(block) : 중괄호({})로 둘러싸인 부분.

 - main() 메소드 : main 함수 안에 원하는 코드 작성. 프로그램의 처리가 시작.


상수와 변수

 - 변수 선언 : 컴파일러가 알 수 없는 기호들을 변수라고 선언하는 코드.

 

변수

 - 데이터를 저장하기 위한 메모리 공간의 이름. 지속적으로 변수의 값을 변경 가능.

 - [자료형] [식별자]; 로 선언

  * 식별자 : 변수의 이름

  • 일반적으로 영문자, 숫자, _, $를 사용.
  • 길이에는 제한이 없음.
  • 키워드는 사용할 수 없음.(ex. return, class)
  • 숫자로 시작할 수 없음.
  • 알파벳 대문자와 소문자는 다른 문자로 구별. (Java에서는 Camel Case 사용)

  * Camel Case : 변수의 이름을 붙이는 규칙. (첫 문자는 소문자, 이후 단어 첫 문자마다 대문자)

int num = 5; //정수형 변수 선언
System.out.println(num);

String sparta = "Hello Sparta!"; // 문자형 변수 선언
System.out.println(sparta);

sparta = "Goodbye Sparta"; // 이미 선언된 변수에 다른 값을 할당
System.out.println(sparta);

 

상수

 - 데이터를 저장하기 위한 메모리 공간. 초기값을 끝까지 사용. 변경불가.

 - final(접근제어자) [자료형] [식별자]; 로 선언

 - 예시

final int num2 = 10; // 상수형 변수 선언 (final로 선언 가능)
System.out.println(num2);
num2 = 50;    // 컴파일에러 (변경 불가능)

 - 값을 함께 선언 하고 싶은 경우 : [자료형] [식별자] = [값]; 으로 선언

 


자료형

기본 자료형 (Primitive Type)

숫자

short s = 1;
System.out.println(a);

int a = 3; // 정수형 변수 선언
System.out.println(a);

long b = 1234567890L; // Long 정수형 변수 선언
System.out.println(b);

float c = 5.5F; // float 실수형 변수 선언
System.out.println(c);

double d = 9.12345678901234567890d; // double 실수형 변수 선언
System.out.println(d);

 - short : 2바이트로 표현할 수 있는 정수형 자료형 (-32768 ~ 32767)

 - int : 4바이트로 표현할 수 있는 정수 자료형 (-20억 ~ 20억 정도)

 - long : 8바이트로 표현할 수 있는 정수 자료형

  - float : 실수 자료형 (숫자 뒤에 대문자 F를 붙여줌.)

 - double : 실수 자료형

// 다음처럼 각 자료형의 MAX, MIN 값을 출력할 수 있다.
System.out.println(Short.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);

 

문자

char alphabet = 'A'; // 문자형 변수 선언
System.out.println(alphabet);  // char type은 default 값이 없다.

 - 작은 따옴표(')로 묶는다.

 

논리

 - 참, 거짓(True, False)의 값을 변수로 선언

boolean fact = true; // 논리형 변수는 true, false의 값을 가진다.
System.out.println(fact);  // boolean type은 default 값이 없다.

 

바이트

 - 바이트를 변수로 선언

byte data = 'd'; 
System.out.println(data); // 알파벳 d는 ASCII code 에서 십진법으로 100이기 때문에 100이라는 글자가 출력

 * 아스키 코드(ASCII Code) : https://ko.wikipedia.org/wiki/ASCII

 

참조 자료형 (Reference Type)

 - 기본 자료형이 아닌 모든 것.

 - 자바의 인스턴스를 가리킬 수 있는 자료형

  * 기본형 변수 : 값을 저장하는 상자 그 자체,

     참조형 변수 : 값을 저장하는 상자가 '메모리의 어디에 존재하는지'에 대한 위치정보

 

클래스형 (Class Type)

  - 문자열 자료형

   * 참조형에 속하지만 기본형처럼 사용.

String sparta = "sparta !!";
System.out.println(sparta);

 

배열 (Array)

 - 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조.

 - 자료형[] 식별자 = new 자료형[배열의크기]; 로 선언.

 - 자료형[] 식별자 = {값}; 으로 선언과 동시에 초기화.

 - 인덱스 : 0 ~ (배열의크기 - 1) 의 범위.

int[] intEmptyArray = new int[5]; // int의 5자리 배열 선언
System.out.println(Arrays.toString(intEmptyArray)); // int의 default 값 0으로 채워짐

int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화
System.out.println(Arrays.toString(intArray));

String[] stringEmptyArray = new String[5]; // 참조자료형 String의 5자리 배열 선언
System.out.println(Arrays.toString(stringEmptyArray)); // 참조자료형은 값이 없을 경우 null로 표시

String[] seasons = {"봄", "여름", "가을", "겨울"}; 
System.out.println(Arrays.toString(seasons));  // alt + Enter를 통해 String으로 형변형

 - Arrays.toString() : 객체를 문자열로 형변환하는 메소드


Comments