자바 문법은 점프투 자바에 기초하여 작성한다.
1. 문자열
자바에서 문자열을 나타내는 자료형은 String이다.
다음과 같이 사용된다.
String a = "hello world";
String b = "a";
다음의 표현도 살펴보자.
String a = new String("hello world");
String b = new String("a");
new는 객체를 의미한다.
객체는 나중에 다시 알아보자.
2. 원시(primitive) 자료형
int, long, double, float, boolean, char등을 원시 자료형이라고 부른다.
이러한 자료형은 new로 객체를 생성할 수 없다.
원시자료형은 다음처럼 각각 대응하는 wrapper class가 존재한다.
원시자료형 | Wrapper class |
int | Integer |
long | Long |
double | Double |
float | Float |
boolean | Boolean |
char | Char |
뒤에 나올 ArrayList, HashMap, HashSet 등은 데이터를 저장할때 원시 자료형 대신
wrapper class를 사용한다.
wrapper class를 사용하면 값 대신 객체를 주고 받을 수 있기 때문에
코드를 객체 중심적으로 작성하는데 유리하다.
3. 문자열 내장 메소드
1) equals
equals는 두개의 문자열이 같은지 비교하여 결과값을 반환한다.
다음과 같이 사용한다.
String a = "hello";
String b = "java";
String c = "hello";
System.out.println(a.equals(b)); // false 출력
System.out.println(a.equals(c)); // true 출력
문자열의 값을 비교할때는 반드시 equals를 사용한다. ==연산자를 사용할 경우
다음과 같은 문제가 발생한다.
String a = "hello";
String b = new String("hello");
System.out.println(a.equals(b)); // true
System.out.println(a == b); // false
==연산자는 두개의 자료형이 동일한 객체인지를 판별하는데, a와 b는 서로 다른 객체이므로 false를 반환한다.
2) indexOf
indexOf는 문자열에서 특정 문자가 시작되는 인덱스를 반환한다.
다음과 같이 사용한다.
String a = "Hello world";
System.out.println(a.indexOf("world")); // 6 출력
world라는 문자열이 6번째 인덱스 문자('w')부터 시작되므로 6을 출력한다.
3) contains
contains는 문자열에 특정 문자열이 포함되어 있는지 판별하여 값을 반환한다.
다음과 같이 사용한다.
String a = "Hello world";
System.out.println(a.contains("world")); // true 출력
4) charAt
charAt은 문자열에서 해당 인덱스에 위치한 문자(char)를 반환한다.
다음과 같이 사용한다.
String a = "Hello world";
System.out.println(a.charAt(6)); // "w" 출력
5. replaceAll
replaceAll은 문자열 중 특정 문자열을 다른 문자열과 바꿀때 사용한다.
다음과 같이 사용한다.
String a = "Hello Java";
System.out.println(a.replaceAll("Java", "World")); //Hello World 출력
6. substring
substring은 문자열 중 특정 범위를 반환한다.
다음과 같이 사용한다.
String a = "Hello world";
System.out.println(a.substring(0, 5)); // Hello 출력
이때 범위는 인덱스 0~4로 5는 포함되지 않는다는것을 주의하자.
7. toUpperCase
toUpperCase는 문자열을 모두 대문자로 변환한다.(소문자로 변경할 경우 toLowerCase를 사용한다.)
다음과 같이 사용한다.
String a = "Hello world";
System.out.println(a.toUpperCase()); // HELLO WORLD 출력
8. split
split은 문자열을 구분자로 구분해준다.
다음과 같이 사용한다.
String a = "h:e:l:l:o";
String[] result = a.split(":"); // result는 {"h", "e", "l", "l", "o"}
split을 사용하면 문자열을 ":" 문자로 나누어 문자열 배열을 만들 수 있다.
'[JAVA] 기본 문법' 카테고리의 다른 글
[JAVA] 제네릭 프로그래밍 (0) | 2023.02.07 |
---|---|
[JAVA] 자바 스트림 (0) | 2023.02.06 |
[JAVA] 어노테이션 (0) | 2022.08.06 |
[JAVA] Enum (0) | 2022.07.30 |
[JAVA] 생성자 (0) | 2022.07.29 |
[JAVA] 정적 변수와 메소드 (0) | 2022.07.24 |
[JAVA] 접근 제어자 (0) | 2022.07.24 |
[JAVA] 자료형-숫자 (0) | 2022.07.17 |