자바 새로 알게된것들 1

Ada·2022년 9월 23일
0

항해TOL

목록 보기
4/63

프로그래머스 코딩테스트 연습 하면서 알게되는 함수들이 많다! 정리해보자~!!!

- 특정 문자열이 배열안에 존재 하는지 여부/확인

[int]

false

final int[] binsooList = { 1, 2, 3, 4 };

int num = 9;

boolean java8 = IntStream.of(binsooList).anyMatch(x -> x == num);

[String]

true

final String[] BinsooList = { "A", "B", "C", "D", "E", "F" };

String str = "A";

boolean java7 = Arrays.asList(BinsooList).contains(str);
boolean java8 = Arrays.stream(BinsooList).anyMatch(str::equals);

- chartAt()

charAt이란 string 타입으로 받은 문자열을 char 타입으로 한 글자만 받는 함수

String str = new String();

char c = ' ';

str = "안녕하세요";

c = str.charAt(0);

System.out.println(c);
Scanner sc = new Scanner(System.in);

char c1 = ' ';
char c2 = ' ';

c1 = sc.next().charAt(0);
c2 = sc.nextLine().charAt(3);

System.out.println(c1);
System.out.println(c2);

sc.close();

- StringBuffer

  • StringBuffer 클래스에서는 특정 위치의 문자열을 다른 문자열로 변경하는 replace 함수를 제공

  • 매개인자는 시작과 끝 위치와 대체 문자열이며 반환값은 StringBuffer

  • 시작 인덱스부터 시작해서 끝 전 인덱스까지의 문자열을 치환

  • append 함수는 문자열 끝에 문자열을 추가

  • 인자는 문자 혹은 문자열이고 반환값은 StringBuffer

public class StringBuffer_replaceTest {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        StringBuffer sb = new StringBuffer();
        
        sb.append("Mozi Tistory Is Best. :)");
        sb.replace(16, 20, "good");
        
        System.out.println(sb);
    }
}

- split된 문자열을 List로 넣는 방법

for문을 이용한 split -> list 변환
String str = "a,b,c,d,e,f,g";
List<String> list = new ArrayList<String>();

String[] splitStr = str.split(",");
for(int i=0; i<splitStr.length; i++){
    list.add(splitStr[i]);
}

// Array.asList를 이용한 변환 ( 위에 방법보다 빠름 )
String str = "a,b,c,d,e,f,g";
List<String> list = Arrays.asList(str.split(","));

- string을 list에 넣는 법

String phone_number;

List<String> num_list = Arrays.asList(phone_number.split(""));

- 특수문자를 넣는 방법

String.valueOf('특수문자')

- String.format

printf 메소드라고 생각하면 쉽다!
string 형태이고 String.format("%d이다.",i) 형식으로 써주면 된다.

- string 을 비교할때는 ==가 아니라 .equals() 사용할것

string 처럼 클래스 값을 비교할때 ==를 사용하면 주소를 비교하게 되므로 equals 로 비교해야 데이터값을 비교한다!!!

- 3항 연산자

(조건문) : ? 참 : 거짓

//if else
int a;
if(5<4) {
    a = 50;
}else {
    a = 40;
}
System.out.println(a); //결과 = 40 
		
//삼항연산자
int b = (5 < 4) ? 50 : 40; 
System.out.println(b); //결과 = 40

- List 에서 string 요소를 가져오는 법

String a_string = a_list.get(i);

get(index) 함수를 쓰자!

- char 를 string 으로 저장하는 법

String str = "한글데이터 변환하기";
char[] chr = str.toCharArray();
String change = "";

// 하나씩 더하는 방법
for (int i = 0; i < chr.length; i++) {
	change += Character.toString(chr[i]);
}

System.out.println(change);
profile
백엔드 프로그래머

0개의 댓글