전체 글 70

[JAVA] 객체지향언어

객체지향언어 ▶ 기존의 프로그래밍언어와 크게 다르지 않다. - 기존의 프로그래밍 언어에 몇가지 규칙을 추가한 것일 뿐이다. ▶ 코드의 재사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있다. ▶ 코드의 관리가 쉬워졌다. - 코드간의 관계를 맺어줌으로써 보다 적은 노력으로 코드변경이 가능하다. ▶ 신뢰성이 높은 프로그램의 개발을 가능하게 한다. - 제어자와 메서드를 이용해서 데이터를 보호하고, 코드의 중복을 제거하여 코드의 불일치로 인한 오류를 방지할 수 있다.

[JAVA] Array로 배열 다루기

1. 배열의 비교와 출력 - equals( ), toString( ) 2차원이상 때 deepToString 쓴다. 요소 하나하나를 비교한다. 2차원 배열은 deepEquals를 쓴다. 2. 배열의 복사- copyOf( ) , copyOfRange( ) copyOf(복사할 배열, 어디까지): 처음부터 지정한 어디까지 복사 copyOfRange(복사할 배열, from, to) : 원하는 곳부터 원하는 곳까지 복사 (from to) .to는 뺀다. 3. 배열의 정렬-sort( ) 오름차순으로 정렬된다. import java.util.*; public class ArrayEx12_1 { public static void main(String[] args) { int[] arr = { 3, 4, 1, 0, 2 }..

JAVA/배열(array) 2021.06.17

[JAVA] 가변 배열

가변 배열 2차원 이상의 다차원 배열을 생성할 때 전체 배열 차수 중 마지막 차수의 길이를 지정하지 않고, 추후에 각기 다른 길이의 배열을 생성함으로써 고정된 형태가 아닌 보다 유동적인 가변 배열을 구성할 수 있다. 다음과 같이 각 행마다 다른 길이의 배열을 생성하는 것이 가능하다. score.length의 값은 5지만, 일반적인 2차원 배열과 달리 score[0].length의 값은 4이고, score[1].length의 값은 3이다. 가변 배열 역시 중괄호{ }를 이용해 생성과 초기화를 동시에 하는 것이 가능하다.

JAVA/배열(array) 2021.06.15

[JAVA] char배열과 String클래스

char배열과 String클래스 1. String 클래스는 char[] 와 메서드(기능)을 결합한 것 String 클래스 = char[] + 메서드(기능) char배열이 아닌 String클래스를 이용하여 문자열을 처리하는 이유는 String 클래스가 char배열에 여러가지 기능을 추가하여 확장한 것이기 때문이다. 2. String 클래스는 내용을 변경할 수 없다(read only) 직접 값이 들어간 것처럼 그렸지만 문자열이 만들어지고 그 주소가 요소에 들어간다. 문자열 str의 내용이 바뀌는 것 같지만, 문자열은 변경할 수 없으므로 새로운 내용의 문자열이 생성된다. 3. String 클래스의 주요 메서드 charAt메서드는 문자열에서 지정된 index에 있는 한 문자를 가져온다. substring()은 ..

JAVA/배열(array) 2021.06.15

[JAVA] String 배열

String 배열 1. String 배열의 선언과 생성 3개의 String 타입의 참조변수를 저장하기 위한 공간이 마련되고 참조형 변수의 기본값은 null이므로 각 요소의 값은 null로 초기화된다. *null : 어떠한 객체도 가리키고 있지 않다는 뜻. 참조형은 기본값이 null이다. 그래서 기본값으로 null이 들어갔다. 2. String 배열의 초기화 new String[] 생략 가능 특별히 String 클래스만 "kim"과 같이 큰 따옴표로 간략히 표현하는 것이 허용된다. 하지만 원래 String은 클래스 이므로 왼쪽처럼 new 연산자를 통해 객체를 생성해줘야한다. 직접 값이 들어간 것처럼 그렸지만 문자열이 만들어지고 그 주소가 요소에 들어간다. 예12) public class ArrayEx12 ..

JAVA/배열(array) 2021.06.15

[JAVA] 배열의 활용 예제/총합과 평균/ 최대값과 최소값/섞기/난수/정렬/빈도수 구하기

#예5) //총합과 평균 public class ArrayEx5 { public static void main(String[] args) { int sum = 0; // 총점을 저장하기 위한 변수 float average = 0.0f; // 평균을 저장하기 위한 변수 int[] score = { 100, 88, 100, 100, 90 }; // 반복문을 이용해서 배열에 있는 모든 값들을 더한다. for (int i = 0; i < score.length; i++) { sum += score[i]; } average = sum / (float) score.length; // 계산 결과를 float로 얻기 위해 형변환 System.out.println(sum); System.out.println(averag..

JAVA/배열(array) 2021.06.15

[JAVA] 배열의 복사 /System.arraycopy()

배열의 복사 배열은 한번 생성하면 그 길이를 바꿀 수 없기 때문에 더 많은 저장 공간이 필요하면 보다 큰 배열을 새로 만들고 이 전 배열을 복사해야한다. 1. 배열 arr의 길이인 arr.length 의 값이 5이므로 길이가 10인 int배열 tmp가 생성되고, 배열 tmp의 각 요소는 int의 기본값인 0으로 초기화된다. int[] tmp = new int[arr.length*2]; -> int[] tmp = new int[5*2]; -> int[] tmp = new int[10]; 2.for문을 이용해서 배열 arr의 모든 요소에 저장된 값들을 하나씩 배열 tmp에 복사한다. for(int i=0; i

JAVA/배열(array) 2021.06.15

[JAVA] Arrays.toString

Arrays.toString 이 메서드는 배열의 모든 요소를 '[첫번째 요소, 두번째 요소, ...] ' 와 같은 형식의 문자열로 만들어서 반환한다. 만약 iArr의 값을 바로 출력하면? iArr은 참조변수니까 변수에 저장된 값, 즉 '배열의 주소'가 출력된다. 타입@주소 형식으로 출력된다. int[] iArr = { 100, 95, 80, 70, 60 }; System.out.println(iArr); [I 는 1차원 int배열이라는 의미이고, '@' 뒤에 나오는 16진수는 배열의 주소인데 실제 주소가 아닌 내부 주소이다. I ; int타입을 의미 @ 위치를 의미 (주소) *char배열의 경우 예외 char 배열은 println 메서드로 출력하면 각 요소가 구분자없이 그대로 출력되는데 이것은 print..

JAVA/배열(array) 2021.06.15

[JAVA] 배열의 초기화

배열의 초기화 배열은 생성과 동시에 자신의 타입에 해당되는 기본값으로 초기화된다. 따로 초기화를 안해줘도 되지만, 원하는 값을 저장하려면 각 요소마다 값을 지정해줘야한다. 배열의 길이가 큰 경우에는 이렇게 요소 하나하나에 값을 직접 저장하기 보다는 for문을 이용하는 것이 좋다. 그러나 for문으로 배열을 초기화하려면 일정한 규칙이 있어야하기에 간단히 초기화할 수 있는 방법이 있다. 저장할 값들을 괄호{}안에 ,로 구분해서 나열. 괄호{} 안의 값의 개수에 의해 배열의 길이가 자동적으로 결정된다. 'new 타입[]'을 생략하여 표현이 가능하다. 그러나 다음같이 배열의 선언과 생성을 따로 하는 경우는 생략 불가. 또 다른 예로 매개변수로 int배열을 받는 add메서드가 정의되어 있고, 이 메서드를 호출해야..

JAVA/배열(array) 2021.06.15

[JAVA] 배열의 길이와 인덱스

1. 배열의 길이와 인덱스 생성된 배열의 각 저장공간을 '배열의 요소(element)'라고 하며, '배열이름[인덱스]' 의 형식으로 배열의 요소에 접근한다. 인덱스(index)는 배열의 요소마다 붙여진 일련번호로 각 요소를 구별하는데 사용된다. 인덱스는 0부터 시작한다. 0,1,2,3,4자동으로 번호가 붙는다. 이 숫자가 배열의 인덱스이다. 인덱스의 범위는 "0부터 배열길이-1 까지" 배열은 또 index로 상수 대신 변수나 수식도 사용할 수 있다. 그래서 for문으로 간단히 할 수 있다. index로 변수 i를 사용하고, for문으로 변수 i의 값을 0부터 4까지 증가시킨다. 만약, 아래처럼 괄호[ ] 안에 수식이 포함된 경우, 이 수식이 먼저 계산된다. 그래야 배열의 몇 번째 요소인지 알 수 있다. ..

JAVA/배열(array) 2021.06.14