3월 24일 내용정리-2
쌤이 갑작 이론을 많이 나가심,,,후,,,
배열은 간단하게 공간을 정해서 값을 쭈~~~욱 나열 했다. 로보면 되지 않을까?!
package study_0324;
public class study_0324_02 {
public static void main(String[] args) {
//참조타입은 자동적으로 null값으로 초기화 됨 아직 참조할 객체가 없다 라는 뜻, 배열또한 자동적으로 0으로 초기화 됨
/*배열
* 1.배열은 같은 타입의 데이터만 저장 할 수 있다.
* 2.배열은 선언과 동시에 저장할 수 있는 데이터 타입이 결정
* 3.한번 생성된 배열은 그것이 실행되는 동안 길이를 늘리거나 줄일 수 없다.
* 4.배열 개수를 변경하려면 새로운 배열을 생성하고, 기존 배열 항목을 새 배열로 복사한다.
*
* 보통은 빈공간 아무곳에 값을 저장 하는데, 배열은 같은타입을 연속적으로 만들어서 값을 저장해줌
* int그릇을 연속적으로 생성, double을 연속적으로 생성
* 배열은 한번 생성되면 그 길이나 크기를 늘일수 없기때문에 늘이고 싶으면
* a배열(4크기)에 4개값을 b배열(10크기) 새로 생성하고,a배열 4개값을 복사하고 나머지6개 공간을 추가로 쓴다.
*
* 배열선언
* 1.배열 변수 선언
* 타입[]변수이름; ==타입 변수이름[]; 둘다 사용가능함
* 변수이름=new 타입[길이];
*
* int[]score;
* score=new int[5]; 5개크기의 공간 생성
* int[]score=new int[5]; 이렇게 써주기도함 위에와 같음
*
* int[]score=new int[5]{10,20,30,40,50} 배열선언과 값 선언
* int[]score={10,20,30,40,50} 배열선언과 동시에 값 선언 담아줌, 꼭 먼저 new객체를 생성한다.
*
* int[]score01;
* score01=new int[]{10,20,30,40}
*
* 배열은 생성과 동시에 자동적으로 자신으 타입에 해당하는 기본값으로 초기화 된다.
* int[]score=new int[5] 생성시 각배열 공간마다 int타입인 0을 임의로 담아놓는걸 초기화라고 한다.
*
*int[]score=new int[]{10,20,30,40,50} 배열길이 선언안해줘도 값을갯수를 보고 자동적으로 배열공간생성
*int[]score={10,20,30,40,50} 간단하게 이렇게 선언해줘도 됨
*
*int[]score;
*score={10,20,30,40,50} 컴파일 에러남. 왜?? 선언후바로 값넣는거는 되지만 선언따로 값따로 넣을시 아래와 같이 new 객체 생성
*
*int[]score;
*score=new int[]{10,20,30,40,50} 컴파일 에러안남.
*
*
*
*/
int[]score= new int[5]; //정수형 5개의 공간을 생성!!
score[0]=10; //각인덱스에 값을 담아주는 작업
score[1]=20; //값을 입력하는 작업이 번거로움
score[2]=30;
for(int i=0;i<5;i++) { //for문을 이용하여 배열 값담아주기
score[i]=(i*10)+10;
System.out.printf("score[%d]=%d\n",i,score[i]); //배열담고 출력해줌
}
//for문을 이용하여 배열 값담아주기
for(int i=0;i<score.length;i++) { //score.length 배열의 길이를 이용하여 범위써줌
score[i]=(i*10)+10;
}
}
}
package study_0324;
import java.util.Scanner;
public class study_0324_03 {
public static void main(String[] args) {
/*키보드로 5개의 정수를 입력 받아 배열요소를 초기화 하고
* 5개의 정수값을 합한 후 평균값을 구하시오
*/
/* Scanner scan = new Scanner(System.in);
int []score = new int[5];
int sum=0;
double avg=0.0;
for(int i=0;i<score.length;i++) {
System.out.println("정수를 입력하세요");
score[i]=scan.nextInt();
sum+=score[i];
}
avg=(double)sum/5;*/
//문2) int[]num={23,85,15,96,78,100,55,69,77} 최대값과 최소값 구하기
/* int max=0;
int min=999;
int[]num={23,85,15,96,78,100,55,69,77};
for(int i=0;i<num.length;i++) {
if(max<num[i])max=num[i];
if(min>num[i])min=num[i];
}
System.out.println(max);
System.out.println(min);*/
//문3) num01배열에 => 0 ~ 9 숫자를 담고, 이것을 섞어서 출력
/*int [] num01=new int[10];
for(int i= 0; i< num01.length; i++) {
num01[i]= (int)(Math.random()* 10);
for(int j= 0; j<i ; j++) {
if(num01[i]== num01[j])
i--;
}
}
for(int i= 0; i< num01.length; i++) {
System.out.println(num01[i]);
}*/
}
}