공부
-
Arrays로 배열 다루기공부/Java 2023. 12. 10. 00:25
Arrays로 배열 다루기 Arrays 클래스는 배열을 다루는데 유용한 많은 메서드를 제공하고 있다. 그 중 자주 사용되는 몇 가지만 먼저 작성해보고자 한다. 배열의 비교와 출력 - equals(), toString() equals()는 두 배열에 저장된 모든 요소를 비교해서 같으면 true, 다르면 false를 반환한다. equals()는 일차원 배열에만 사용 가능하므로, 다차원 배열의 비교에는 deepEquals()를 사용해야 한다. 예제 String[][] str2D = new String[][] {{"aaa", "bbb"}, {"AAA", "BBB"}}; String[][] str2D2 = new String[][] {{"aaa", "bbb"}, {"AAA", "BBB"}}; System.out...
-
2차원 배열공부/Java 2023. 12. 9. 16:44
2차원 배열 2차원 배열을 선언하는 방법은 1차원 배열과 같다.다만 대괄호[]가 하나 더 들어갈 뿐이다. 선언 방법 선언 예 타입[][] 변수이름; int[][] score; 타입 변수이름[][]; int score[][]; 타입[] 변수이름[]; int[] score[]; ※ 3차원 이상의 고차원 배열의 선언은 대괄호[]의 개수를 차원의 수만큼 추가해주면 된다. 2차원 배열은 주로 테이블 형태의 데이터를 담는데 사용된다. 4행 3열의 데이터를 담기 위해 배열을 생성해보겠다. 예제 int[][] score = new int[4][3]; 해당 코드는 4행 3열의 2차원 배열을 생성한다. 문장이 수행되면 아래와 같은 저장공간이 마련된다. 배열요소의 타입인 int의 기본값인 0이 저장된 4행 3열의 2차원 배..
-
String 클래스공부/Java 2023. 12. 9. 12:34
String 클래스 String 클래스는 char 배열에 기능(메서드)을 추가한 것이다. char 배열과 String 클래스의 한 가지 중요한 차이는 String 객체(문자열)는 읽을 수만 있을 뿐 내용을 변경할 수 없다는 것이다. 예제 String str = "Java"; str = str + "8"; System.out.println(str); 결과 Java8 위의 문장에서 문자열 str의 내용이 변경되는 것 같지만, 문자열은 변경할 수 없으므로 새로운 내용의 문자열이 생성된다. String 클래스는 상당히 많은 관련 메서드를 제공하지만, 지금은 가장 기본적인 몇가지만 살펴보고 나머지는 추후 작성하겠다. 메서드 설명 char charAt(int index) 문자열에서 해당 위치(index)에 있는 문..
-
힙 영역과 스택 영역공부/Java 2023. 12. 9. 10:02
힙 영역과 스택 영역 힙 영역(Heap Area) 객체와 배열이 생성되는 영역 여기에 생성된 객체와 배열은 스택 영역의 변수나 다른 객체의 필드에서 참조 만약 참조하는 변수나 필드가 없다면, JVM이 이것을 쓰레기로 취급, 쓰레기 수집기/가비지 콜렉터(Garbage Collector)를 실행시켜 자동으로 제거한다. ※ C언어는 직접 해체해야 하는데 자바는 자동으로 삭제해 줘서 편리함 스택 영역(Stack Area) 메서드가 호출되면 수행에 필요한 만큼의 메모리를 할당받는다. 메서드가 수행을 마치고나면 사용했던 메모리를 반환하고 스택에서 제거된다. 메서드를 호출할 때마다 프레임을 추가(push)하고 메서드가 종료되면 해당 프레임을 제거(pop)하는 동작 수행 마지막에 들어온 게 가장 먼저 나가는 LIFO(..
-
배열이란?공부/Java 2023. 12. 8. 15:59
배열이란? 배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열을 선언하는 방법은 간단하다.원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호[]를 붙이면 된다. 대괄호[]는 타입 뒤에 붙여도 되고 변수이름 뒤에 붙여도 된다. 선언방법 선언 예 타입[] 변수이름; int[] score; String[] name; 타입 변수이름[]; int score[]; String name[]; 배열의 생성 배열을 선언한 다음에는 배열을 생성해야 한다. 배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이다. 배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다. 배열을 생성하기 위해서는 연산자 'new'와 함께 배열의 타입과 ..
-
이름이 붙은 반복문공부/Java 2023. 12. 8. 09:36
이름이 붙은 반복문 아래 예제는 for문에 Loop1이라는 이름을 붙혔다. 클론':'을 통해 반복문에 이름을 붙힐 수 있다. 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복을 건너뛸 수 있다. break문은 자신이 속한 하나의 반복문만 벗어날 수 있지만, 이름을 붙여 주고 break문에 반복문 이름을 지정해주면 하나 이상의 반복문도 벗어날 수 있다. 자주 사용하진 않으므로 이렇게 사용할 수 있구나만 알고 넘어가도 좋을 것 같다. 예제 public class ANewDream024 { public static void main(String[] args) { Loop1: for (int i = 2; i
-
반복문 : while문공부/Java 2023. 12. 7. 21:14
반복문 : while문 while문 조건식이 참인 동안 블럭 내의 문장을 반복한다. 사용 방법 while (조건식) { // 조건식의 연산결과가 참인 동안 문장이 반복적으로 수행된다. } ① 조건식이 참이면 블럭{} 안으로 들어가고, 거짓이면 while문을 벗어난다. ② 블럭{}의 문장을 수행하고 다시 조건식으로 돌아간다. do-while문 while문과 같으나 조건식과 블럭{}의 순서를 바꿔놓은 것 블럭{}을 먼저 수행한 후 조건식을 평가함 사용 방법 do { // 조건식의 연산결과가 참일 때 수행 (처음 한 번은 무조건 실행) } while (조건식) ; do-while문은 끝에 세미클론';'이 들어간다. break문 자신이 포함된 가장 가까운 반복문을 벗어나게 한다. ※ 무한 반복문에는 조건문과 b..