⭐JAVA 변수⭐

p_chan.log·2022년 8월 5일
0

JAVA

목록 보기
5/17

🔴변수

💠변수의 이해

1-1. 변수의 이해

  • 다양한 종류의 자료를 표현할 수 있는 값을 변수라고 부르며, 일반적으로 웹페이지에서
    처리하고자 하는 "데이터"에 해당한다.

1-2. 자료형(data type)

  • 프로그래밍 언어에서 변수의 종류를 구별하기 위해 사용되는 키워드
  • 자바에서 제공되는 자료형의 종류에는 8가지있으며, 이를 기본 데이터타입이라 한다.

1-3. 자료형이 가지는 의미

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

1-4. 문자열 데이터

  • 프로그램에서 "문장"을 표현하기 위해 사용되는 데이터 값
  • String

    -> 문자열을 표현하기 위한 자료형이다(첫글자 대문자 주의)
    -> 글자 수에 상관 없이 쌍따옴표(")로 묶인 내용을 할당할 수 있다.
    -> 숫자값의 경우 쌍따옴표로 묶이게 되면 문자열로 취급되므로,
    숫자와 문자열을 분명하게 구별해야 한다.

1-5. 변수의 사용 방법

  • 변수를 사용하는 방법은 "선언""할당"의 두 영역으로 구분된다.

  • 변수의 선언

    • 선언은 데이터 형과 사용하고자 하는 변수의 이름을 지정한 후,
      세미콜론(;)으로 한 라인을 종료한다.

    데이터형 변수이름;

  • 변수의 할당

    • 선언된 변수에 원하는 값을 대입하는 과정을 의미한다.
      값의 대입은 대입연산자(=)를 사용하며, 우변에서 좌변으로 대입된다.

    변수이름 = 값;

  • 변수의 선언과 할당의 통합
    데이터형 변수이름 = 값;

1-6. 문자열 데이터

  • String 형의 변수를 선언하고, 쌍 따옴표로 묶인 값을 대입한다.

  • 빈 문자열이나 공백도 문자열 데이터이다.

    String msg = "안녕하세요. 자바"; // 문장을 표현,공백포함
    String blank = ""; // 빈 문자열 값
    String age = "20"; // 숫자값이 쌍따옴표로 묶였다면
    // 문자열 이다.

1-7. 문자열 데이터의 덧셈

  • 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.

    String language = "JA" + "VA"; // "JAVA"

  • 문자열 + 기본자료형 : 기본 자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐진다.

    int age = 20;
    String name = "자바학생";
    String result = name + age; // "자바학생" + 20 -> "자바학생" + "20"
    // -> "자바학생20"

1-8. 변수 이름 명명규칙

  • 변수 이름은 영문, 숫자, "_", "$"만 사용 가능하다
  • 변수 이름의 첫 글자는 숫자로 시작될 수 없다
  • 대/소문자를 엄격하게 구별하므로 오타에 주의해야한다.
    -> userName / UserName
  • 자바에서 사용하는 예약어(키워드)를 사용할수 없다.
  • myName, myname, my_phone, user_input, userPassword
  • 클래스 이름의 명명 규칙도 변수 이름 규칙과 동일한다.

1-9. 값의 할당 방법

  • boolean은 true 참, false 거짓 중의 한 가지만 갖는다.

    boolean isKorean = true;

  • char는 홑따옴표(')로 감싸진 한 글자만 대입할 수 있다.

    char first = '이';

  • long, float, double은 다른 데이터 형과의 구별을 위해 갑 뒤에 데이터형의 첫 글자를
    접미사로 가질 수 있다. 접미사는 대/소문자를 가리지 않지만 가급적 대문자로 사용하는 것이 좋다.

  • 생성된 변수는 다른 변수에 대입될 수 있다.

    int num1 = 100;
    int num2 = num1;

1-10. 변수 사용의 제약

  • 반복하여 다른 값이 할당될 수 있지만, 선언은 중복 불가

    int num1 = 100;
    num1 = 200;
    int num1 = 300; // 이미 선언된 변수이므로 에러

  • 선언되지 않은 변수는 사용할 수 없다.

    int num1 = 100;
    num1 = 200;
    num2 = 300; // 선언되지 않은 변수이므로 에러

  • 값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없다.

    int num1;
    int num2 = num1; // 할당되지 않은 변수를 대입하였으므로 에러
    System.out.println( num1 ); // 할당되지 않은 변수를 출력하였으 므로 에러

1-11. 변수의 범위(=변수의 스코프)

  • 자신보다 하위 블록으로는 침투할 수 있다

int num = 100;
if( num == 100 ){
// num이 현재 블록의 바깥에서 선언되었으므로 유효
System.out.println( num );
}

int num = 100;
for( int i = 0; i<10; i++ ){
// 변수 num이 현재 블록 밖에서 생성되었으므로 사용가능
System.out.println( num + i );
}

  • 자신이 선언된 블록 밖으로는 빠져나갈 수 없다.

    int num = 100;
    if( num == 100 ){
    int result = num + 100;
    }
    // 변수 result 가 if블록 안에서 생성되었으므로 사용불가
    System.out.println( result );

    for( int i=0; i<10; i++ ){
    ...
    }
    // i가 for문을 위한 괄호 안에서 사용되었으므로 사용불가
    System.out.println( i );

  • 블록안에서 선언된 변수는 블록 밖에서 존재하는 동일한 이름의 변수와는 이름만 동일할 뿐,
    다른 값으로 인식된다.

    int target = 100;
    if( target == 100 ){
    int num = target + 100;
    } else {
    int num = target - 100;
    }

🔴상수

2-1. 상수 = 변하지 않은 수

  • 변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될 수 없는 데이터

  • final 키워드를 사용하여 선언된 변수는 상수로 생성된다.

    final int age = 20;
    final float PI = 3.14F;

  • 메모리상에 이름이 생성되므로 접근은 가능하지만, 할당한 값을 변경할 수는 없다.(읽기 전용)

    final int age = 20;
    age = 21; // 상수의 값을 변경하므로 에러

   
profile
개발자 박찬의 노트

0개의 댓글