배열
- 하나의 변수 이름으로 여러 개의 변수를 사용할 수 있게 하는 기법
- 변수 혹은 상수의 모음
- 배열에 포함된 요소들이 연속 할당되는 것이 특징
- 하나의 배열은 하나의 자료형으로 통일됨
배열의 선언
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
int [] Array = new int[10];
}
}
- int [] Array 에서 []는 배열형 변수라는 뜻 → Array 변수는 배열이라는 것을 나타냄
- new int[10]; 에서 new 는 변수에 메모리 공간을 할당할 때 사용하는 단어로, 참조형 자료형에 메모리 공간을 할당할 때 사용
- 참조형 자료형: 기본형 자료형 제외한 나머지 자료형 모두
- 참조형 자료형의 경우 new 를 사용하여 메모리를 할당하지 않으면 사용할 수 없음
- 위 예제에서 int형 배열 자료형을 선언했음에도 new 를 통해 메모리를 할당함 → 기본형 자료형을 사용했을지라도 배열은 그 자체로 참조형이기 때문
배열 사용하기
- 배열은 0부터 시작 → 10칸의 배열이 선언되어 메모리에 할당받으면, 메모리에는 순서가 0부터 시작하는 10칸의 메모리 공간 생성됨
- n칸의 배열을 생성했다면, 그 배열은 0번 메모리부터 (n-1)번 메모리까지 사용할 수 있음
String
- 여러 개의 문자를 하나의 자료형으로 취급하는 문자열 자료형
- Character 자료형은 1개의 문자만 저장 가능
- String 자료형은 여러 개의 문자를 저장 가능
배열과 String
- C 프로그램에서는 문자 여러 개 처리하고 싶으면 char형 배열을 사용 → 하지만, 배열은 처음 선언할 때 전체 길이를 한정 짓기 때문에 저장할 수 있는 데이터의 최대치가 정해져 있음 → java는 String으로 이러한 문제를 해결
- 문자열: 여러 개의 문자의 묶음, 큰 따옴표로 감싸서 표현
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
char c;
c = 'G';
System.out.println(c);
}
}
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
String str;
str = "GURUM";
System.out.println(str);
//char [] cArr = new char[5];
//cArr = "GURUM"; 이렇게 사용하는 것은 불가능합니다.
}
}
ASCII 코드
- 1Byte(8bit)로 표현할 수 있는 숫자를 각각의 문자와 매칭시킨 코드
- DEC: Decimal의 약자로 10진수 숫자를 뜻함
- HEX: Hexadeciaml의 약자로 16진수 숫자를 뜻함
- Oct: Octet의 약자로 8진수 숫자를 뜻함
- char형에 저장되는 문자가 ASCII코드표에 의해 각각의 글자와 대응되는 숫자로 표현될 수 있기에 Switch문의 조건으로 들어갈 수 있음
String 심화 이론
String str = "Hello Java"
- 공백도 컴퓨터 입장에서는 하나의 문자
- 문자열 마지막 칸에는 NUL문자가 저장됨
클래스와 String
- String은 참조형 자료형임에도 불구하고 new 를 사용하지 않고 사용할 수 있음 → String변수 선언과 동시에 메모리에 공간이 할당되므로 기본형 변수와 동일하게 사용하면 됨
- String은 클래스의 형태를 갖고 있음
- 클래스는 변수와 함수를 동시에 가지고 있는 사용자 정의형 자료형
- String 자료형은 그 자체로 클래스 → 여러 가지 기능을 한 번에 가지고 있음
'바로 실행해보면서 배우는 java'를 학습하며 정리한 문서
'기타 > Java' 카테고리의 다른 글
Java 문법(7) - 데이터 입출력 (0) | 2022.02.07 |
---|---|
Java 문법(6) - 클래스와 객체, 접근제한자 (0) | 2022.02.07 |
Java 문법(4) - 메소드 (0) | 2022.02.06 |
Java 문법(3) - 연산자, 조건문, 선택문, 반복문 (0) | 2022.02.06 |
Java 문법(2) - 메모리, 자료형 (0) | 2022.02.06 |