3월 25일 내용 정리
오늘도 배열배열
1.배열은 같은 타입의 연속적인방을 만들어 각 방에 값을 넣어주는것 으로 생각하자! 이때 각 방에 번호를 매기는것을 인덱스를 붙이는것이다.
배열명.
2.length 는 배열의 갯수 인덱스는 배열명.length-1 로 생각하면됨 왜? 인덱스는 0부터시작
3.Arrays.toString(배열명) 을 입력하면 [인수,인수,인수...]로 출력,
이때 import java.util.* 써줘야한다.
Arrays->배열.toString->문자열 배열을 문자열로 출력해줘!
문자열로 출력하기때문에 계산은 할수 없음.
4.배열을 생성 할때 공간 지정을 보통은 배열길이의 2배 정도 잡으면 된다고 한다. 예)for(int i=0;i<배열명.length*2;i++)
5.배열복사는 System.arraycopy(원본배열,시작인덱스,새로운배열,새배열에붙여넣을 시작인덱스,복사개수)
예)System.arraycopy(num,0,numcopy,0,num.length);
package study_0325;
public class study_0325 {
public static void main(String[] args) {
for(int i=5;1<=i;i--) { //바깥줄 for문
for(int j=1;j<=i;j++) { //안쪽 for문
System.out.print(j);
}
System.out.println(); //안쪽 for문 돌고나서 다음줄로 출력
}
}
}
6.배열 선언과 객체생성 및 값 넣어주는 방법
int[]a; ->배열선언
a= new int[3] ->객체생성
int[]a=new int[3]; ->배열선언과 객체생성
a[0]=10;
a[1]=20; ->값 넣어주기
a[2]=30;
for(int i=0;i<=a.length;i++){
a[i]=i*10+10; ->값 넣어주기
}
int[]a={10,20,30} ->배열선언과 객체생성 값넣어줌 한번에 가능
7.기본타입은 내가 초기화를 시켜줘야 하지만 참조형은 null값으로 자동초기화 됨
package study_0325;
import java.util.Arrays;
import java.util.Scanner;
public class study_0325_01 {
public static void main(String[] args) {
//su배열 만들어서 {52,68,90,75}
/*int[]su=new int[4];
su[0]=52;
su[1]=68; ->방법1(배열선언과 객체생성 값넣어줌)
su[2]=90;
su[3]=75;
int[]su={52,68,90,75}; ->방법2(배열선언과 객체생성 값넣어줌)
*/
//문2) int[]num={23,85,15,96,78,100,55,69,77} 최대값과 최소값 구하기
/*int[]num={23,85,15,96,78,100,55,69,77};
int max=0;
int min=999;
for(int i=0;i<=num.length;i++) {
if(max<num[i]) max=num[i];
else if(num[i]<min) min=num[i];
}*/
//문3) num01배열에 => 0 ~ 9 숫자를 담고, 이것을 섞어서 출력
/*int[]num01=new int[10];
for(int i=0;i<num01.length;i++) {
num01[i]=i;
}
for(int i=0;i<num01.length;i++) {
int n=(int)(Math.random()*10); //램덤으로 인덱스번호 뽑기
System.out.println(n);
int imsi=num01[0]; //num01[0]방이 담고있는 값이 imsi에 담김
num01[0]=num01[n]; //num01[0]방에는 num01[?]방에 담긴값이 담김
num01[n]=imsi;// imsi에 담긴 num01[0]값이 num01[?]방에 담김
//즉, 램덤으로 방번호를 섞어서 방의 값을 서로 교환 한다.
}*/
//문4 로또번호 생성하기 1~45까지 번호중 6개 모두 마킹하기.
/*int[]num02=new int[45];
for(int i=1; i<num02.length;i++) {
num02[i]=i+1;
}
for(int i=0; i<=num02.length;i++) {
int n=(int)(Math.random()*45)+1;
int imsi=num02[0];
num02[0]=num02[n];
num02[n]=imsi;
}
for(int i=1;i<=6;i++) {
System.out.println(num02[i]);
}*/
}
}