반응형

Java 배열의 정의

  '배열(array)' 은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 말합니다. 배열에서 중요한 것은 '같은 타입'이어어야 한다는 것, 즉, 다른 타입으로 이루어진 배열은 만들 수 없다는 것입니다.

int [] score = new int[10]; // int 타입의 값을 10개 저장할 수 있는 배열 생성

String [] name = new String[10]; // String 객체 10개를 저장할 수 있는 배열 생성

  위처럼 int와 같은 기본 타입의 배열도 있고 String과 같은 클래스도 배열에 저장할 수 있습니다.

// 배열의 선언

타입[] 변수명;
타입 변수명[];

int[] score;
int score[]; 

String[] name[];
String name[];

// 3,4번째 줄에 같은 이름의 배열을 선언했는데 실제 프로그램시에는 변수 중복 오류가 발생합니다.
// 9,10번째 줄도 마찬가지로 선언 방식만 참고하시고 실제 프로그램시에는 변수 중복 오류가 발생합니다.

// 배열의 생성

변수명 = new 타입[크기];

score = new int[10];
name = new String[10];

  배열을 선언만 하면 배열을 다루기 위한 참조변수 공간만 만들어지기 때문에 값을 넣을 공간을 생성해줘야 합니다. 하지만 대부분 배열의 선언과 생성을 나눠서 하지 않고 아래와 같이 한 번에 하는 것이 일반적입니다.

int [] score = new int[10]; // int 타입의 값을 10개 저장할 수 있는 배열 생성

String [] name = new String[10]; // String 객체 10개를 저장할 수 있는 배열 생성

 

반응형
반응형

String(문자열)에서 int로 변환

String a = "100";
int b = Integer.parseInt(a);

 

int에서 String으로 변환

int a = 100;
String b = Integer.toString(a);
반응형

'Java > Java 기초' 카테고리의 다른 글

[Java] String 배열  (0) 2020.12.25
[Java] 캐스팅(형변환, casting)  (0) 2020.12.25
[Java] 배열의 선언 / 생성  (0) 2020.12.25
[Java] String(문자열)  (0) 2020.12.22
[Java] 기본 타입(Primitive type)  (0) 2020.12.22
반응형

Java String(문자열)

  자바의 문자열은 기본 타입과 다르게 하나의 클래스입니다.

String apple1 = "사과";

String apple2 = "사과";

  위의 두 문자열을 보면 둘 다 같은 사과를 값으로 갖고 있습니다.

자바에서 문자열을 비교할 수 있는 방법은 두 가지가 있는데 하나는 String 클래스의 equals 함수를 이용하는 방법과 연산자 ==를 이용하는 방법이 있습니다.

 

String 생성 기본 원리

  apple1과 apple2를 생성하고 둘 다 "사과" 라는 값을 넣어줬습니다. 둘은 같은 주소값과 내용을 갖고 있습니다. 이는 apple1에 "사과" 라는 값을 넣어서 생성하고 그 후에 apple2를 만들었을 때 새로운 메모리에 또 다른 "사과" 를 저장하여 가리키는 것이 아니고 이미 만들어진 "사과" 라는 메모리의 주소를 가리키기 때문입니다.

 

 

== 을 통한 문자열 비교

  == 으로 두 개의 문자열을 비교하면 두 객체가 가리키는 주소값이 일치하는 지를 확인해줍니다. 위에서 본 것처럼 apple1과 apple2는 같은 주소값을 같기 때문에 결과는 true가 출력됩니다.

 

== 는 두 객체의 주소값이 같은 지를 비교합니다.

 

String의 equals() 메소드

  equals는 두 객체의 내용을 비교합니다. 둘 다 "사과" 라는 값을 가리키고 있기 때문에 결과는 true가 출력됩니다.

 

equals 는 두 객체가 가르키는 값이 같은 지 비교합니다.

 

새로운 객체 String 생성

  위에서는 apple1과 apple2가 하나의 주소값을 가리켰지만 이번에는 apple3라는 완전 새로운 String 객체를 생성할 것입니다.

String apple1 = "사과";
String apple2 = "사과";
String apple3 = new String("사과");

 

새롭게 생성된 apple3 = new String("사과")

 

  그림처럼 new String()으로 객체를 생성할 경우 전혀 다른 새로운 주소에 "사과" 라는 내용을 넣어주고 apple3이 가리키게 합니다.

 

apple1 == apple3 의 결과는 false입니다.

 

  출력된 리턴값을 보면 apple1과 apple2는 서로 같은 주소값과 같은 내용을 갖고 있기 때문에 equals, == 모두 true를 리턴하지만 apple1과 apple3는 == 사용했을 때 서로 다른 주소를 가리키기 때문에 false를 리턴합니다. 하지만 세번째처럼 apple1과 apple3를 equals() 함수로 비교하면 객체의 주소가 아닌 내용을 비교하기 때문에 둘 다 같은 "사과" 라는 값을 가지므로 true를 리턴합니다.

반응형
반응형

기본 타입(Primitive type)

자료형 저장 범위 크기
bit byte
boolean(논리형) false / true 8 1
char \u0000 ~ \uffff 16 2
byte -128 ~ 127 8 1
short -32,768 ~ 32,767 16 2
int -2,147,483,648 ~ 2,147,483,647 32 4
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 64 8
float 1.4E-45 ~ 3.4E38 32 4
double 4.9E-324 ~ 1.8E308 64 8
반응형

+ Recent posts