배열(array)은 인덱스(index)와 인덱스에 대응하는 일련의 데이터들로 이루어진 연속적인 자료 구조로서, 배열에는 같은 종류의 데이터들이 순차적으로 저장된다.
int intArray [ ];
배열 타입/ 배열에 대한 레퍼런스 변수/ 배열 선언
int Array = new int [5];
배열에 대한 레퍼런스 변수/ 배열 생성/ 타입/ 원소 개수
10개의 정수 공간을 가진 배열을 생성
int i[] = new int[10];
그리고 for문을 사용하여 간단히 10개의 정수의 합을 구할수 있다.
for(sum=0; n=0; n++)
sum += i[n];
예제
import java.util.*;
public class ArrayAccess {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int intArray[]; //배열에 대한 레퍼런스 선언
intArray = new int[5]; // 배열 생성
int max=0; // 현재 가장 큰 수
System.out.println("양수 5개를 입력하세요.");
for(int i=0; i<5; i++) {
intArray[i] = sc.nextInt(); // 입력받은 정수를 배열에 저장
if(intArray[i] > max) // 입력받은 수가 현재 제일 크면
max=intArray[i]; // max 변경
}
System.out.println("가장 큰 수는 " + max + "입니다.");
sc.close();
}
}
for 문을 변형한 for-each 문은 배열이나 나열(enumeration)의 크기만큼 루프를 돌면서, 각 원소를 순차적으로 접근하는데 매우 유용하며 일반적인 구조는
for(변수 : 배열 레퍼런스) {
. . 반복작업문 . . }
int [] n = {1,2,3,4,5};
int sum = 0;
for(int k : n) { //n.length 만큼 반복
// 반복될 때마다 k는 n[0], ..., n[4]로 번갈아 설정
sum += k;
}
예제
public class foreachEx {
public static void main(String[] args) {
int [] n = {1,2,3,4,5};
int sum=0;
for(int k : n) { // k는 n[0], n[1], ..., n[4]
System.out.print(k + " "); // 반복되는 k 값 출력
sum += k;
}
System.out.println("합은" + sum);
String f[] = {"사과", "배", "바나나", "체리", "딸기", "포도"};
for(String s : f)
System.out.print(s + " ");
}
}
ps. 백준배열부터 조금 어려워지기 시작했다. . . 골드랑 플레까지 가신분은 어떻게 하신거지 ㅜㅁㅜ
ai의 의존하고 싶지않아서 알고리즘 열심히 해보자 하는데 점점벽이 느껴진다. . .