반응형
배열은 정수나 실수 (같은타입!!!!)를 여러개 담을 수 잇따 (지금까지 배운건 하나의 변수에 하나만 담음)
배열은 아파트다.
10,20,30,40 변수 4개필요한데
10 | 20 | 30 | 40 |
배열은 참조형. 저 배열이 a라고 치면 a는 아파트의 주소값을 담는다.
(지금은 1층만 배우는거임)
1. 배열(Array)
- """"같은 타입"""의 여러 변수를 하나의 묶음으로 다루는 것
3. 배열의 선언
- 원하는 타입의 변수를 선언하고 변수 또는 타입의 배열임을 의미하는 []를
붙이면 된다.
ex ) 변수타입 변수명; 이라 하면 변수의 선언인데
배열은 변수타입[] 변수명; 으로 배열임을 알려줌
int[] arr;
arr은 주소를 담고잇고, 그 주소에 가면 정수들만 있다는 뜻
선언방식은 하나 더 있따.
int arr[]; 하지만 위에것만 쓸거임
"int형 배열 arr"이라고 읽는다
배열은 초기화라고 안함. 주소를 생성한다고 함
4. 배열의 생성 (새로운 주소를 만들어주는거니까)
- 배열생성을 위해서는 'new'와 함께 배열의 타입과 크기를 지정해주어야 한다.
- 변수명 = new 변수타입[방몇개?];
arr= new int[3];
그럼 이제 arr [0][0][0] 인상태로 만들어지는거임(0은 int의기본값)
-첨에 기본값말고첨부턱 값을 넣고싶다??
int[] arr = new int[3];
/*
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
*/
//시작값: 0 최종값 2 증가값 1 반복문: syso(arr[])
for(int i = 0;i<3;i++){
System.out.println(arr[i]);
}
//0번방엔 10을 1번 20 2번 30
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
int sum = 0;
/*
sum += arr[0];
sum += arr[1];
sum += arr[2];
System.out.println("합계는 "+sum);
*/
for(int i = 0;i<arr.length;i++){ // 문자열은 몇갤지모르니까 LENGTH뒤에 ()잇는디 배열은 첨부터정해지니까()없음
sum += arr[i];
}
System.out.println("합계는 "+sum);
//배열은 길이가 처음부터 정해져잇음 length()쓸수있음
int[] arr2 = new int[]{7,8,9,10};//
이떄는 []안에 숫자넣으면 오류
//int[] arr2 = new int[]{7,8,9,10,};//이래도 length는 4임 ,는없는거임
//그리고 선언및 생성같이할때는
//int[] arr2 = {7,8,9,10}; 이렇게도 가능 함 이게 3번쨰 방식
//int[] arr2;
//arr2 = {7,8,9,10}; 이렇게 따로는 안됨
/*
* int[] arr2;
* arr2 = new int[]{7,8,9,10,}; 이거는 됨
*/
String[] names = new String[]{"송지은","조애슬","변영운"};
for(int i = 0;i<names.length;i++){
System.out.println(names[i]);
}
//1. 정수값 6개를 저장할 수 있는 변수 score를 선언 및 생성해주세요
int[] score = new int[6];
//2. score의 각 방을 0~100사이의 임의의 값으로 변경해주세요
/*
score[0] = (int)(Math.random()*101);
score[1] = (int)(Math.random()*101);
score[2] = (int)(Math.random()*101);
score[3] = (int)(Math.random()*101);
score[4] = (int)(Math.random()*101);
score[5] = (int)(Math.random()*101);
*/
for(int i = 0; i<score.length; i++){
score[i] = (int)(Math.random()*101);
}
//2.5 score 각방의 값을 출력하세요
for(int i = 0; i<score.length;i++){
System.out.println("score["+i+"]:"+score[i]);
}
//3. score 각방의 값의 합계를 구해주세요
int asum = 0;
/*
sum+= score[0];
sum+= score[1];
sum+= score[2];
sum+= score[3];
sum+= score[4];
sum+= score[5];*/
for(int i = 0;i<score.length;i++){
sum+=score[i];
}
//3.5 합계를출력하세요
System.out.println("합계:"+sum);
//4. score각 방의 평균을 구해주세요
//단. 소수점 3번쨰 자리에서 반올림하여 두번쨰 자리까지 표현해주세요
// float avg = (float)sum/score.length;
// avg = (int)(avg*100+0.5)/100F;
float avg = (int)((float)sum/score.length*100+0.5)/100F;
//4.5 평균을 출력하세요
System.out.println("평균 : "+avg);
//5. score의 값중 최댓값을 구해주세요 0안됨
int max = score[0];
for(int i = 1;i<score.length;i++){ ///0부터 아님!!!!
if(max<score[i]){
max = score[i];
}
}
System.out.println("최댓값: "+max);
//6. score의 값중 최솟값을 구해주세요 기본값100안됨
int min = score[0];
for(int i = 1;i<score.length;i++){
if(min>score[i]){
min = score[i];
} //1이 맥스
}
System.out.println("최솟값: "+min);
반응형
'basicJAVA > 4. Array' 카테고리의 다른 글
201020 Array_03 (0) | 2020.10.20 |
---|---|
201016 Array_02 Sort (0) | 2020.10.16 |