Java 문자열

Java


자바 문자열 핵심

기본 입출력


import java.util.Scanner;

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
char c = sc.next().charAt(0);

System.out.println(); //줄바꿈
System.out.printf("%.2f %d",a,b);//포맷
System.out.print();//그냥 출력

//배열
int[] arr = new int[크기];
int[] arr = new int[3]{1,2,3};

문자열 입력

Scanner sc = new Scanner(System.in);

String str = sc.next(); //공백으로 나누어서 입력받음
String str = sc.nextLine(); // space를 포함해서 입력받음

문자열 관련 코드


str.length()// str문자열의 길이 반환

String a = "apple", b = "banana";
a = a + b; //문자열 합치기 가능1

String a = "apple", b = "banana", c = "candy";
String totStr = "";
totStr += a;
totStr += b;
totStr += c;
//문자열 합치기 가능2

str.charAt(5); //str문자열의 인덱스 5번 반환


문자열.substring(시작 인덱스,  인덱스)//시작 인덱스부터 끝 인덱스 전까지로 이루어진 부분문자열이 반환

s.substring(i, i + 2).equals("ab")//i~i+2가 ab랑 같은지

s.contains("ab")//s라는 문자열이 ab를 가지고 있는지 성공하면 true반환 아니면 false반환

s.indexOf("ab")//s에서 ab라는 해당 부분 문자열이 없는 경우에는 -1을, 있는 경우에는 가장 앞에 나오는 부분 문자열의 위치를 반환

문자열 끼리의 == 연산자는 두 문자열의 주소 값이 일치하는지를 비교하는 연산이기에 목적과는 다릅니다. str1.equals(str2) 함수를 써야한다.

문자열을 배열로 만들기

public class Main {
    public static void main(String[] args) {
        String s = "baaana";
        char[] arr = s.toCharArray(); //문자열을 배열로 만들기

        arr[2] = 'n';
        s = String.valueOf(arr); //배열을 문자열로 만들기

        System.out.println(s);
    }
}

>> banana


아스키코드 출력

System.out.println((int)'A');
// A의 아스키코드인 65 출력

Math

Math.abs(숫자);

문자열을 정수로 변환하기

int aInt = Integer.parseInt(a) + 1;

정수를 문자열로 변환하기

Integer.toString(a);

사전순 앞 비교

String a = "abc";
String b = "abd";
String c = "aba";

System.out.println(a.compareTo(b)); // -1
System.out.println(a.compareTo(c)); // 2
System.out.println(a.compareTo(a)); // 0

//compareTo() 함수를 사용합니다. 두 문자열 str1, str2가 주어졌을 때 str1.compareTo(str2) 값이 0보다 작으면 str1이 사전순으로 더 앞서고, 0보다 크면 str2이 사전순으로 더 앞서고, 0이면 두 값이 같음을 의미합니다.