basicJAVA/4. Array

201015 Array_01

unemo 2020. 10. 15. 18:06
반응형

배열은 정수나 실수 (같은타입!!!!)를 여러개 담을 수 잇따 (지금까지 배운건 하나의 변수에 하나만 담음)

 

배열은 아파트다.

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