728x90
배열 = 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것
배열을 쓰는 이유는 같은 타입의 변수를 반복해서 선언하고 반복해서 사용하는 문제를 해결한다
[ ] = 인덱스(index)
배열의 위치를 나타내는 숫자( [ ] 사이에 숫자를 넣어주면 된다)
변수 선언과 생성
int[]student; //1. 배열 변수 선언
student = new int[5]; //2. 배열 생성
student = new int[]{90, 80, 70, 60, 50}; //3.배열 생성과 초기화
변수명.length = 배열의 길이를 제공 / 대입은 불가
예시1)
package test;
import java.util.Scanner;
public class studying {
public static void main(String[] args) {
int[] students;
students = new int[]{90, 80, 70, 60, 50}; //배열 생성과 초기화
/*
배열 생성 간략 버전, 배열 선언과 함께 사용시 new int[] 생략 가능
int[] students = {90, 80, 70, 60, 50};
*/
for (int i = 0; i < students.length; i++) {
System.out.println("학생" + (i + 1) + " 점수: " + students[i]);
}
}
}
ps) 아래와 같이 작성하면 오류발생
int[] students;
students = {90, 80, 70, 60, 50}; // 변수가 붙어있질않아서 처리 불가.
2차원 배열
int ary[][]= new int[i][j]; // i행 j열의 2차원배열 생성
행과 열 길이
ary -> i.length
ary -> j[i].length
예시1)
package test;
import java.util.Scanner;
public class studying {
public static void main(String[] args) {
int ary[][] = new int[2][3]; // 2x3 2차원 배열, 초기화
int i = 1;
// 순서대로 1씩 증가하는 값을 입력한다.
for (int i = 0; i < ary.length; i++) {
for (int j = 0; j < ary[i].length; j++) {
ary[i][j] = i++;
}
}
// 2차원 배열의 길이를 활용
for (int i = 0; i < ary.length; i++) {
for (int j = 0; j < ary[i].length; j++) {
System.out.print(ary[i][j] + " ");
}
System.out.println();
}
}
}
예시2) 문자열 출력
package test;
import java.util.Scanner;
public class studying {
public static void main(String[] args) {
String s[][]= {{"java"},
{"c","c++"},
{"html","pytion","css"}};
for(int i=0;i<s.length;i++) {
for(int j=0;j<s[i].length;j++) {
System.out.println(s[i][j]);
}
}
}
}
예시3) 배열과 반복문을 사용하여 프로그램 작성
package test;
import java.util.Scanner;
public class studying {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String ary[][] = {{"book","책"},
{"pen","펜"},
{"water","물"}}; //3행 2열
for(int i=0;i<ary.length;i++) { //i=0,1,2
System.out.println(ary[i][0]+"을 한글로");
String str=sc.next();
if(str.equals(ary[i][1])) {
System.out.println("정답!");
}
else
System.out.println(("오답!"));
}
향상된 for문 = for-each문
for (변수 : 배열 또는 컬렉션) {
// 배열 또는 컬렉션의 요소를 순회하면서 수행할 작업
}
비교
int ary[] = {1, 2, 3, 4, 5};
일반 for문
for(int i = 0; i < ary.length; ++i) {
int a = ary[i];
System.out.println(a);
}
for-each문
for (int a : ary) {
System.out.println(a);
}
사용이 불가한 for-each문
//for-each문을 사용할 수 없는 경우, 증가하는 index 값 필요
for(int i = 0; i < ary.length; ++i) {
System.out.println("a" + i + "번의 결과는: " +ary[i]);
}
728x90
'Language > JAVA' 카테고리의 다른 글
[JAVA] 메소드(Mathod) (0) | 2024.02.29 |
---|---|
[JAVA] 배열 응용 (0) | 2024.02.25 |
[JAVA] Scanner (1) | 2024.02.25 |
[JAVA] 형(type)변환 = Casting (1) | 2024.02.25 |
[JAVA] 반복문(for) (1) | 2024.02.25 |