- 배열
값 목록으로 배열 생성
public class ArrayCreateByValueListExample1 {
public static void main(String[] args) {
int[] scores = { 83, 90, 87 }; //int 데이터타입[] 변수 scores = {값들}
System.out.println("scores[0] : " + scores[0]); //배열의 첫번째
System.out.println("scores[1] : " + scores[1]); //배열의 두번째
System.out.println("scores[2] : " + scores[2]); //배열의 세번째
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += scores[i]; //scores 배열의 0,1,2번째 값을 더함
}
System.out.println("총합 : " + sum); //for문에서 더했던 값 출력
double avg = (double) sum / 3; //실수값으로 출력해야함
System.out.println("평균 : " + avg); //평균값 출력
}
}
값의 리스트로 배열 생성
public class ArrayCreateByValueListExample {
public static void main(String[] args) {
int[] scores; // int 배열 생성
scores = new int[] { 83, 90, 87 }; // 새롭게 배열 객체 생성
int sum1 = 0;
for (int i = 0; i < 3; i++) {
sum1 += scores[i]; // 0, 1, 2번째 배열 literal 모두 더함
}
System.out.println("총합 : " + sum1);
int sum2 = add(new int[] { 83, 90, 87 }); // 새로운 배열 객체 sum2로 생성
System.out.println("총합 : " + sum2);
System.out.println();
}
public static int add(int[] scores) {
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += scores[i];
}
return sum;
}
}
new 연산자로 배열 생성
public class ArrayCreateByNewExample {
public static void main(String[] args) {
// arr1 배열
int[] arr1 = new int[3];
for (int i = 0; i < 3; i++) {
// arr1 배열의 0, 1, 2번째까지 반복 출력
System.out.println("arr1[" + i + "] : " + arr1[i]);
}
// 배열 하나씩 지정
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;
for (int i = 0; i < 3; i++) {
System.out.println("arr1[" + i + "] : " + arr1[i]);
}
// arr2배열
double[] arr2 = new double[3];
for (int i = 0; i < 3; i++) {
System.out.println("arr2[" + i + "] : " + arr2[i]);
}
// 배열 하나씩 지정
arr2[0] = 0.1;
arr2[1] = 0.2;
arr2[2] = 0.3;
for (int i = 0; i < 2; i++) {
System.out.println("arr2[" + i + "] : " + arr2[i]);
}
// arr3배열
String[] arr3 = new String[3];
for (int i = 0; i < 3; i++) {
System.out.println("arr3[" + i + "] : " + arr3[i]);
}
// 배열 하나씩 지정
arr3[0] = "1월";
arr3[1] = "2월";
arr3[2] = "3월";
for (int i = 0; i < 3; i++) {
System.out.println("arr3[" + i + "] : " + arr3[i]);
}
}
}
배열 길이 활용하기 - length필드
public class ArrayLengthExample {
public static void main(String[] args) {
int[] scores = { 83, 90, 87 };
int sum = 0;
// "배열변수".length : 배열의 길이를 나타냄(배열의 항목 수)
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
System.out.println("총합 : " + sum);
double avg = (double) sum / scores.length;
System.out.println("평균 : " + avg);
}
}
- 배열 속의 배열
public class ArrayInArrayExample {
public static void main(String[] args) {
int[][] mathScores = new int[2][3];
for (int i = 0; i < mathScores.length; i++) {
for (int k = 0; k < mathScores.length; k++) {
System.out.println
("mathScores[" + i + "][" + k + "] = " + mathScores[i][k]);
}
} // for
System.out.println();
int[][] englishScores = new int[2][];
englishScores[0] = new int[2];
englishScores[1] = new int[3];
for (int i = 0; i < englishScores.length; i++) {
for (int k = 0; k < englishScores.length; k++) {
System.out.println
("englishScores[" + i + "][" + k + "] = " + englishScores[i][k]);
// 00, 01, 02, 10, 11, 12 계속 for문안에서 돌아감
}
}
}
}
- 배열 복사
public class ArrayCopy {
public static void main(String[] args) {
String[] oldStrArray = { "java", "array", "copy" };
String[] newStrArray = new String[5];
// System.arraycopy로 배열 복사
// oldStrArray의 0번째부터 복사해, newStrArray의 0부터 덮어쓰기.
// 그 뒷값은 없으므로 String의 기본값인 null이 출력됨.
System.arraycopy(oldStrArray, 0, newStrArray, 0, oldStrArray.length);
for (int i = 0; i < newStrArray.length; i++) {
System.out.print(newStrArray[i] + ", ");
}
}
}
- For-each문(향상된 for문)
// 배열이 있을 때 사용 가능
public class AdvancedForExample {
public static void main(String[] args) {
int[] scores = { 95, 71, 84, 93, 87 };
int sum = 0;
// scores 배열에서 가져올 수 있는 항목 수 만큼 index를 가져옴.
for (int score : scores) {
sum = sum + score;
}
System.out.println("점수 총합 = " + sum);
double avg = (double) sum / scores.length;
System.out.println("점수 평균 = " + avg);
}
}
'Java > Learn_Java' 카테고리의 다른 글
6. 클래스_연습문제(은행 계좌) (0) | 2020.04.05 |
---|---|
5. 참조 타입_연습문제 (0) | 2020.04.05 |
4. 조건문과 반복문_활용문제 (0) | 2020.03.29 |
3. 연산자_연습문제 (0) | 2020.03.29 |
3. 연산자 (0) | 2020.03.28 |