배열의 선언과 초기값
int[] arr = new int[5]; // 요소가 5개인 int형 배열 arr 선언
int[] arr2 = new int[5]; // 요소가 5개인 int형 배열 arr2 선언
for(int i = 0; i<5; i++) {
System.out.println("arr["+i+"]의 초기값 = "+arr[i]);
}
for(int i = 0; i<arr2.length; i++) { // 요소 수 가져오기
arr2[i] = 5-i;
System.out.println("arr2["+i+"] = "+arr2[i]);
}
결과
arr[0]의 초기값 = 0
arr[1]의 초기값 = 0
arr[2]의 초기값 = 0
arr[3]의 초기값 = 0
arr[4]의 초기값 = 0
arr2[0] = 5
arr2[1] = 4
arr2[2] = 3
arr2[3] = 2
arr2[4] = 1
- arr2.length 를 통해 배열 요소의 수를 가져올 수 있다.
자료형에 따른 초기값(default value)
- 변수 선언시 초기화 하지 않으면 null값이 삽입되지만, 배열은 선언시 자료형에 따라 다음의 값이 삽입된다.
int형 배열 각 요소에 1~10의 난수를 대입하고, 각 요소의 값을 *를 이용한 막대그래프를 출력하는 프로그램. x축 바닥에는 인덱스를 표시
import java.util.Random;
import java.util.Scanner;
Scanner stdIn = new Scanner(System.in);
int eleNum; // 요소 개수 변수 선
int[] arr; // 배열 변수 선언
while(true) {
System.out.print("9개 이하의 요소 개수를 입력하세요: ");
eleNum = stdIn.nextInt(); // 요소 수 입
if (eleNum<=9) {
arr = new int[eleNum]; // 배열 객체 생
break;}
else
continue;
}
Random rand = new Random();
for(int i=0; i<eleNum; i++) {
arr[i] = rand.nextInt(10)+1; // 1~10 난수
}
// *를 이용한 그래프 출력
for (int i=10; i>=0; i--) {
for(int j=0; j<eleNum; j++) {
if (arr[j]>=(i+1))
System.out.print("* ");
else
System.out.print(" ");
}
System.out.println();
}
// 구분선(-) 출력
for(int i=0; i<eleNum; i++)
System.out.print("--");
System.out.println();
// 요소 난수 출력
for(int i=0; i<eleNum; i++)
System.out.print(arr[i]+" ");
System.out.println();
// 요소 Number 출력
for(int i=0; i<eleNum; i++)
System.out.print((i+1)+" ");
결과
9개 이하의 요소 개수를 입력하세요: 8
*
*
* *
* * * *
* * * * *
* * * * *
* * * * * * *
* * * * * * *
* * * * * * * *
----------------
5 6 7 3 3 6 1 9
1 2 3 4 5 6 7 8
for문을 이용하여, 10개 이하의 배열의 요소 개수를 입력받은 뒤, 서로 다른 요소를 갖는 난수(1~10)를 배열에 대입하라.
import java.util.Random;
import java.util.Scanner;
Scanner stdIn = new Scanner(System.in);
System.out.print("10개 이하의 요소의 개수를 입력하세요: ");
int eleNum;
while (true) {
eleNum = stdIn.nextInt();
if (eleNum<=10) break;
}
// 요소 개수의 크기를 갖는 Array 생성
int[] arr = new int[eleNum];
Random rand = new Random();
for (int i=0; i<eleNum; i++) {
Inner:
while(true) { //while 무한 루프
arr[i] = rand.nextInt(10)+1;
if(i!=0) {
for(int j=0; j<i; j++) {
if (arr[j]!=arr[i]) break Inner;
}}
else
break Inner; // arr[0]에서는 비교하지 않고 반복문 탈출
}
System.out.println("arr["+i+"] = "+arr[i]);
}
결과
10개 이하의 요소의 개수를 입력하세요: 5
arr[0] = 7
arr[1] = 8
arr[2] = 2
arr[3] = 6
arr[4] = 10
확장 for문을 이용하여 double형 배열의 모든 요소의 합과 평균을 구하는 프로그램 작성. 요소 수와 요소 값은 모두 입력 받을 것.
- 확장 for 구문
for( 자료형 변수명 : 배열명)
import java.util.Scanner;
Scanner stdIn = new Scanner(System.in);
System.out.print("요소 수를 입력하세요: ");
int eleNum = stdIn.nextInt();
double[] arr = new double[eleNum];
double sum = 0;
for(int i=0; i<eleNum; i++) {
System.out.print("요소 arr["+i+"] 입력: ");
arr[i] = stdIn.nextInt();
}
for(double element : arr) { // 확장 for구문: 변수 element에 배열 arr요소가 대입됨.
sum += element;
}
System.out.println("요소의 총합(sum):"+ sum);
System.out.println("요소의 평균(avg):"+ (sum/arr.length)); // 평균=sum/ arr배열 요소의 수
결과
요소 수를 입력하세요: 3
요소 arr[0] 입력: 65
요소 arr[1] 입력: 27
요소 arr[2] 입력: 30
요소의 총합(sum):122.0
요소의 평균(avg):40.666666666666664
'Java > Java 기초' 카테고리의 다른 글
Java10 참조형 객체, 2차원 배열 (0) | 2020.05.11 |
---|---|
Java9 문자열 배열 (0) | 2020.05.08 |
Java7 기본 자료형과 연산 (0) | 2020.05.05 |
Java6 반복문 for (0) | 2020.05.04 |
Java5 반복문 while, Do~while (0) | 2020.04.30 |