-여러개의 값을 하나의 변수에 저장해서 사용하는 것이다.
-참조형 타입이다.
-인덱스로 값을 구분한다.
-길이를 변경할 수 없다.
100번지 주소 -> 첫번째 저장된 값의 주소
{0,0,0,0,0}
100,101,102,102 번지의 주소라고 보면됨
-값을 넣어서 초기화 하는 방법(길이 뿐만아니라 값까지 넣어서 지정)
new int[]생략 (선언과 초기화를 동시에 해야함)
System.out.println(array[0]); //첫번째에 들어있는 것 출력
//[0]에 들어간 숫자를 인덱스 라고함. 배열에 들어간 값에 순서를 나타내는것
System.out.println(array[1]); //두번째에 들어있는 것 출력
System.out.println(array[2]); //셋번째에 들어있는 것 출력
System.out.println(array[3]); //넷번째에 들어있는 것 출력
System.out.println(array[4]); //다섯번째에 들어있는 것 출력
System.out.println();//sysout 컨+스페이스
//한줄복사: 컨 알 방향키(위/아래)
array[0] = 10; //0번 인덱스의 값에 10이 저장됨
array[1] = 20;
array[2] = 30;
array[3] = 40;
array[4] = 50;
for(int i = 0; i < array.length; i++){ //배열의 크기 변수는 length 지금 5가 들음
System.out.println(array[i]);
}
for(int i=0; i < array.length; i++){
array[i] = (i + 1) * 10; //0부터 4까지 들어가는데 +1을 하면 10에서 50까지의 수가 들어가는 것
}
int arr[]= new int[10];
for(int i = 0; i < arr.length; i++){
arr[i] = (int)(Math.random()*100)+1;
}
System.out.println(Arrays.toString(arr));
// 배열의 모든 값을 문자열로 만들어서 돌려줌(괄호 안에 들어가는 것이 반드시 배열이여야함)
// 위에 import 문을 생성해야 컴파일 에러가 발생하지 않음
System.out.println(arr);
-- 그냥 배열 변수(arr)를 출력하면 알수 없는 값이 출력
-- 여기서 출력된 값은 arr라는 변수가 가리키고 있는, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 값이 들어있는 메모리의 주소값
-- 배열을 출력하기 위해서는 반복문을 사용하거나, 배열을 출력할 수 있는 특별한 메소드를 사용해야 함
1. 반복문
int[] arr = { 1, 2, 3, 4, 5 };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
--배열의 각 index값을 읽어서, 값을 출력
2. java.util.Arrays의 toString() 메소드 사용하기
import java.util.Arrays;
public class PrintArray {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
System.out.println(Arrays.toString(arr));
}
}
-- java.util.Arrays.toString() 메소드는 파라미터로 배열을 입력받아서,
배열에 정의된 값들을 문자열 형태로 만들어서 리턴해 줍니다.
int sum = 0;
for(int i=0; i< arr.length; i++){
sum += arr[i];
}
double avg = (double)sum / arr.length;
System.out.println("합계 : "+ sum + "평균 : "+ avg);
int min = arr[0];
int max = arr[0];
for(int i = 0; i < arr.length; i++){
min = arr[0];//왼쪽부터 읽으니까 0부터 시작
max = arr[0];
if(arr[i] < min){
min = arr[i];
}if(max < arr[i]){
max = arr[i];
}
}
System.out.println("최소값: "+min+"최대값: "+max);
0부터 10까지 1씩 증가하는 배열
int[] shuffle = new int[10];
for(int i = 0; i < shuffle.length; i++){
shuffle [i] = i + 1;
}
System.out.println(Arrays.toString(shuffle));
for(int i = 0; i < shuffle.length * 10; i++){
int random = (int)(Math.random() * shuffle.length);
int temp = shuffle[0];
shuffle[0] = shuffle[random];
shuffle[random] = temp;
}
System.out.println(Arrays.toString(shuffle));
int[] random = new int[500];
int[] score = {1,2,3,4,5,6,7,8,9,10};
int number1=0;
int number2=0;
int number3=0;
int number4=0;
int number5=0;
int number6=0;
int number7=0;
int number8=0;
int number9=0;
int number10=0;
for(int i= 0; i < random.length; i++){
random[i] = (int)(Math.random()*10)+1;
if(score[0] == random[i]){
number1 ++;
}
if(score[1] == random[i]){
number2 ++;
}
if(score[2] == random[i]){
number3 ++;
}
if(score[3] == random[i]){
number4 ++;
}
if(score[4] == random[i]){
number5 ++;
}
if(score[5] == random[i]){
number6 ++;
}
if(score[6] == random[i]){
number7 ++;
}
if(score[7] == random[i]){
number8 ++;
}
if(score[8] == random[i]){
number9 ++;
}
if(score[9] == random[i]){
number10 ++;
}
}
System.out.println(Arrays.toString(random));
System.out.println("1의 갯수"+number1);
System.out.println("2의 갯수"+number2);
System.out.println("3의 갯수"+number3);
System.out.println("4의 갯수"+number4);
System.out.println("5의 갯수"+number5);
System.out.println("6의 갯수"+number6);
System.out.println("7의 갯수"+number7);
System.out.println("8의 갯수"+number8);
System.out.println("9의 갯수"+number9);
System.out.println("10의 갯수"+number10);