20230203 [Java] 변수와 자료형

Daisy🌷·2023년 2월 3일
0

1. 변수

  • 다음 예와 같은 a,b를 변수(variable)라고 한다.
int a;
String b;
  • 변수의 이름을 지을 때는 다음과 같이 지켜야 할 몇 가지 규칙이 있다.
    1. 변수명은 숫자로 시작할 수 없다.
    2. _(underscore)와 $ 문자 이외의 특수 문자는 사용할 수 없다.
    3. 자바의 키워드는 변수명으로 사용할 수 없다. (int, class, return 등)
  • 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름 (어떤 값에 이름을 붙여준 것)

2. 자료형 (Type)

  • 변수명 앞의 int, String 등은 변수의 자료형(Type)을 뜻한다.
int a;

"변수 a는 int 자료형 변수이다."
즉 a라는 변수에는 int 자료형 값(1, 10, 25 등의 정수)만 담을 수 있다.

String b;

"변수 b는 String 자료형 변수이다.
즉 b라는 변수에는 String 자료형 값("a", "hello" 등의 문자열)만 담을 수 있다.

  • 데이터 / 값의 종류
    1. int : 정수형 : 소수점 없음.
    2. double : 부동소수점
    3. boolean : 불리언(참 / 거짓) : true / false
    4. char : 문자
    5. String : 문자열

++ String

  • String은 원시타입(primitive type)처럼 쓰이지만 참조형 클래스 객체다. 그리고 불변 객체다.
    java에서는 String 문자열끼리의 + 연산으로 문자열을 합칠 수 있고 내가 선언한 변수 안에서 연산이 이루어지는 것 같지만, 사실은
String a = "aaa";
String a += "bbb";

String 타입 변수 a = "aaa"에 + 연산으로 + "bbb"가 이루어졌다면, 이미 존재하는 a에 bbb가 붙어 a = aaabbb가 되는 것이 아니라 새롭게 객체를 생성하는 구조를 가지고 있다.
String 타입을 비교할 때 == 연산자를 쓰지 않고 .equals()를 쓰는 이유가 그것이다.

String a = "world";
String b = new String("world");
System.out.println(a==b); //false
System.out.println(a.equals(b)); //true

==로는 false, equals()로는 true가 반환되는 것을 볼 수 있다.
같은 값이지만 서로 다른 객체이기 때문이다.

profile
티스토리로 블로그를 이전했습니다. 😂 구경 오세요! 👉🏻 https://u-ryu-logs.tistory.com

0개의 댓글