[자바 / 변수(Variable), 타입(type)]

seulki·2022년 8월 7일
0

[java]

목록 보기
2/11

자바(java)



😂 변수(Variable)란?

  • 프로그래밍에서 변수란 '단 하나의 값을 저장할 수 있는 메모리 상의 공간'을 의미한다.
  • 변수는 램의 메모리 한 공간을 차지한다.
  • 하나의 변수에 단 하나의 값만 저장할 수 있으므로 새로운 값을 저장하면 기존의 값은 사라진다.

😁 변수의 선언과 초기화

1. 변수의 선언
변수를 사용하려면 먼저 변수를 선언해야 하는데, 변수의 선언방법은 다음과 같다.

int age;
int num;

  - age라는 이름의 변수를 선언
  - int 라는 변수 타입을 설정
  - 변수타입은 변수에 저장될 값이 어떤 타입인지를 지정하는 것
  - 자바는 정수형, 실수형, 문자형 등의 다양한 타입을 제공한다.
  
  ** 변수를 선언하면 메모리의 빈 공간에 '변수 타입'에 알맞는 크기의 저장공간이
  확보되고, 앞으로 이 저장 공간은 '변수 이름'을 통해 사용할 수 있다.

2. 변수의 초기화
변수를 선언한 이후부터는 변수를 사용할 수 있으나 그 전에 반드시 변수를 '초기화(initialization)'를 해야한다.
메모리상에 값을 넣는 행위를 초기화하고 한다.

  • 선언과 동시에 초기화

    int age = 10;
     int num = 100;
  • 선언과 초기화를 분리

    int age;
    age = 10;

    3. 변수의 명명규칙

    • 대소문자가 구분되며 길이의 제한은 없다. ( 오타 주의)
      int apple;
       int aPple;       -> 두 개는 다른 변수
    • 예약어를 사용해서는 안된다.
      • public, if, for, while, do, class 등, 자바에서 이미 쓰고 있는 변수이름은 사용할 수 없다.
    • 특수문자는 '-', '$'만 허용한다.
    • 상수 이름은 모두 대문자로 한다.
      const int MAX_NUMBER = 10;
    • 변수 이름의 첫 글자는 숫자로 시작될 수 없다.
    • 변수의 이름은 짧을 수록 좋지만, 약간 길더라도 용도를 알기 쉽게
      '의미있는 이름'으로 하는 것이 바람직하다.
      int categoryNumber - 카멜기법, 낙타기법
       int category_number - 스테이크기법

🤣 변수의 타입(type)

  • 문자, 숫자 정수, 실수
  • 이러한 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형(data type)이다.
  • 자바에서 제공되는 자료형의 종류에는 8가지가 있으며,
    이를 기본 데이터타입이라 한다.

😊 자료형(data type)이 가지는 의미

  • 모든 변수는 컴퓨터의 메모리 영역에 생성된다.
  • 일반적으로 메모리란, PC에서 RAM을 의미한다.
  • 4byte의 크기를 갖는 변수값 하나를 생성 할 경우,
    PC의 RAM에서 해당 용량만큼 사용하게 된다.
  • 변수는 RAM의 크기를 넘지 않는 범위 안에서만 생성할 수 있다.

😁 기본형과 참조형

자료형(data type)기본형참조형 두 가지로 나눌수 있는데,
기본형변수는 실제 값(data)를 저장하는 반면,
참조형 변수는 어떤 값이 저장되어 있는 주소(memory address)를 값으로 갖는다.

  1. 기본형 ( primitive type) -> 값을 저장
    논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)
종류타입
논리형(boolean)true와 false 중 하나를 값으로 가지며 조건식과 논리적 계산에 사용된다.
문자형(char)문자를 저장하는데 사용하며 변수에 단 하나의 문자만 저장할 수 있다.
정수형byte, short, int, long / 정수를 저장하는데 사용되며 주로 "int"가 사용된다.
실수형float, double / 실수를 저장하는데 사용되며 주로 "double" 이 사용된다.

1byte2byte4byte8byte
논리형boolean
문자형char
정수형byteshortintlong
실수형floatdouble

- 1byte = 8bit
- bit < byte < KB < MB < GB < TB

  1. 참조형(reference type)
    객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입
Car car = new Car();

  car라는 변수는 stack영역에 생성되고
  new 명령어로 객체가 생성되고 heap영역에 주소값이 저장된다.

😘접미사

  • long, float, double은 다른 데이터형과의 구별을 위해 값 뒤에 데이터형의 첫 글자를 접미사로 가질 수 있다.
  • 접미사는 대/소문자를 가리지 않지만 가급적 대문자로 사용하는 것이 좋다.
long num = 500000L;
float pi = 3.14F;
double lat = 128.32D;

😂문자열 데이터

  • String 형의 변수를 선언하고, 쌍 따옴표( " " )로 묶인 값을 대입한다.
  • 빈 문자열이나 공백도 문자열 데이터이다.
String msg = "안녕하세요";  // 문장표현, 공백포함
String blank = "";        // 빈 문자열 값
String age = "20";        // 문자열 -> 사칙연산 불가능

😁문자열 데이터의 덧셈

  • 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.
String language = "JA" + " VA";  //"JAVA"
  • 문자열 + 기본자료형 : 문자열로 변환되어 계산된다.
int age = 20;
String name = "자바학생";
String result = name  + age;   // "자바학생20"
int num1 = 3;
int num2 = 7;
String name = "자바학생";
System.out.println(num1 + num2 + name); // 10자바학생
System.out.println(num1 + name + num2); // 3자바학생7
profile
웹 개발자 공부 중

0개의 댓글