목록프로그래밍/JAVA (5)
Seung's Learning Record
String은 불변의 객체다. String 객체 str1의 내용과 str2의 내용을 합치고자 하면 새로운 객체를 만들어 값을 저장해야한다. 즉, String객체끼리 덧셈 연산을 하게되면 메모리 할당과 메모리 해제를 발생시켜 연산의 횟수가 많아지게 된다. 이때 필요한것이 바로 StringBuilder이다. 생성자 StringBuilder sb = new StringBuilder(): 객체 선언 StringBuilder sb = new StringBuilder("aaa"): 문자열을 바로 넣을 수도 있다. 주요 메소드 .append(): 문자열을 추가한다. .insert(int offset, String str): offset 위치에 str을 추가한다. .replace(): 첫번째와 두번째 파라미터로 받는 ..
BufferedReader()에 익숙해지기 위해 여러 입출력 문제를 풀던 중 만난 StringTokenizer(). 뭔지 정확히 모르지만 일단 사용하고 문제를 푼 뒤, 위 클래스에 대해 공부해보았다. StringTokenizer() BufferedReader()를 사용하여 입력을 읽어들이면 라인 단위로 읽어들일 수 밖에 없다. 이때 필요한것이 바로 문자열을 분리시켜주는 StringTokenizer인 것이다. 이 클래스를 사용하여 특정 문자에 따라 문자열을 나눌 수 있다. StringTokenizer를 생성하는 방식에는 3가지가 있다. StringTokenizer st = new StringTokenizer(문자열); StringTokenizer st = new StringTokenizer(문자열,구분자)..
자바는 배열을 정렬할 때 반복문이 필요없다는것을 몰랐다. 백준 문제를 풀면서 자바를 공부하려고 했는데 이론을 먼저 공부 해야되나 고민이 되긴하지만 그랬다가는 너무 속도가 떨어질거같다..ㅜㅜ 역시 독학은 쉽지 않은거같다. Arrays.sort() 배열 오름차순 Arrays.sort(변수명)을 사용하여 간단하게 오름차순 정렬이 가능하다. import java.util.Arrays; public class SortUp public static void main(String[] args){ int[] array = {56, 78, 26, 19, 47}; Arrays.sort(array); //배열 오름차순 정렬 for(int i=0; i
배열을 선언할때 참조변수만 먼저 선언하여 크기 및 값을 이후에 초기화 하는 것도 가능하고 최초 선언시 부터 배열의 크기 및 값을 할당해 주는 것도 가능하다. 배열의 길이는 최초에 선언된 값으로 고정되며, 숫자 배열은 0으로, 문자열 배열은 null로, boolean 배열은 false로 값이 초기화 된다. import java.io.*; import java.util.Scanner; public class ARRAY{ public static void main(String[] args)throws IOExceptions{ Scanner sc = new Scanner(System.in); int a = sc.nextInt();//배열 길이용 변수 int[] array1 = new int[a];//선언과 길이..
나는 새로운 언어를 공부할 때, 입출력하는 법부터 공부하는 편이다. 표준 출력하는 법은 그리 어렵지 않아서 쉽게 이해하고 외웠다. 이제 표준 입력하는 법 공부해야지~ 하고 찾아보는데 이게 웬걸..? 블로그마다 설명하는 표준 입력법이 다 다르다ㅋㅋㅋ... 하나하나 다 비교하면서 공부하려다 이러면 외우지도 못하고 머릿속에서 뒤죽박죽이 될것이 분명해서 따로 정리해두기로 결심! 나중되면 손이 기억해서 타다닥 써내려가길 바랄뿐.. 자바에서는 사용자 요청사항에 대한 응답 메시지를 전달하기 위해 System 이라는 표준 입출력 클래스를 제공한다. System 클래스는 다음 세 가지 필드를 가지고 있다. out : PrintStream / 표준 출력 스트림 in : InputStream / 표준 입력 스트림 err :..