import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
//java언어 에서 배열은 객체임
//int형 변수 3개를 배열로 만들기
int[]aaa=new int[3];
//배열 요소값 출력해보기
System.out.println(aaa[0]); //배열요소는 0으로 초기화 된거임
System.out.println(aaa[1]);
System.out.println(aaa[2]);
//System.out.println(aaa[3]); error 인덱스 범위를 벗어남 컴퓨터는 0부터 시작 3개 만들면 0 1 2번방이 존재하므로 3은 없다
System.out.println(aaa); //자바에서 참조변수를 출력하면 주소가 나오지 않고 그 참조변수가 참조하는 객체의 정보가 출력됨
//toString()기능이 자동 발동함.
//배열요소에 값을 대입해보기
aaa[0]=10;
aaa[1]=20;
aaa[2]=30;
//요소값 출력해보기
System.out.println(aaa[0]);
System.out.println(aaa[1]);
System.out.println(aaa[2]);
//요소의 인덱스번호를 변수에 대입된 값으로 적용할수 있습니다
int a=0;
System.out.println(aaa[a]); //0번방을 a로 대입해서 불른것
a=1;
System.out.println(aaa[a]);
a++;
System.out.println(aaa[a]);
//반복문으로 배열요소들의 값을 순차적으로 출력해보기
for(int i=0;i<3;i++) {
System.out.println(aaa[i]);
}
//배열객체에는 배열요소의 개수(길이:length)를 저장하고 있는 변수가 이미 존재함
System.out.println("배열 길이(요소개수) : "+aaa.length);
for(int i=0; i<aaa.length; i++) {
System.out.println(aaa[i]);
}
//다른 자료형의 배열객체 만들어 보기
double[] bbb=new double[3];
for(int i=0; i<bbb.length; i++) {
System.out.println(bbb[i]);
}
boolean[] ccc= new boolean[4];
for(int i=0; i<ccc.length; i++) {
System.out.println(ccc[i]);
}
//배열객체도 만들면서 미리 값을 초기화 해놓기!
int[] aaa2=new int[] {10,20,30}; //배열 요소개수는 초기화한 값의 개수대로 만들어짐
//int[] aaa2=new int[3] {10,20,30}; error 초기화할때 개수지정 안됨
System.out.println("배열길이 : "+aaa2.length);
System.out.println(aaa2[0]);
System.out.println(aaa2[1]);
System.out.println(aaa2[2]);
//배열객체로 문자열객체처럼 매우 자주 사용되기에 축약 표기법을 제공함
int[] aaa3= {100,200,300}; //자동 new int[] String,int,Array 만 축약 표현가능
for(int i=0; i<aaa3.length; i++) {
System.out.println(aaa3[i]);
}
//다른 자료형의 배열객체들도 초기화 해보기
double[] bbb2=new double[] {3.14, 5.57, -7.45};
for(int i=0; i<bbb2.length; i++) {
System.out.println(bbb2[i]);
}
boolean[] ccc2=new boolean[] {true, false, false, 5>3};
for(int i=0;i<ccc2.length; i++) {
System.out.println(ccc[i]);
}
char[] ddd2=new char[] {'H', 'e', 'l', 'l','o'};
for(int i=0;i<ddd2.length; i++) {
System.out.println(ddd2[i]);
}
for(int i=0;i<ddd2.length; i++) {
System.out.print(ddd2[i]);
}
System.out.println();
//배열객체를 만들때 배열요소의 개수를 변수값으로 지정해보기
int b=5;
int[] aaa4= new int[b] ;
System.out.println("배열길이 : "+aaa4.length);
//배열 길이를 키보드로 입력 받을 수도 있겠군요
// int n=scan.nextInt();
// int[] aaa5= new int[n] ;
// System.out.println("배열길이 : "+aaa5.length);
//배열요소의 값들도 키보드로 입력받아보기
// int[] aaa6=new int[3];
// aaa6[0]=scan.nextInt();
// aaa6[1]=scan.nextInt();
// aaa6[2]=scan.nextInt();
//
// System.out.println(aaa6[0]);
// System.out.println(aaa6[1]);
// System.out.println(aaa6[2]);
//반복문으로 요소값들을 키보드로 입력해보기
int[] aaa6=new int[3];
for(int i=0; i<aaa6.length; i++) {
System.out.print("input:");
aaa6[i]=scan.nextInt();
}
int total=0;
for(int i=0; i<aaa6.length; i++) {
total=total+aaa6[i];
}
System.out.println("총합:"+total);
System.out.println("평균:"+(double)total/aaa6.length);
int max;
// if(aaa6[0]>aaa6[1] && aaa6[0]>aaa6[2]) max=aaa6[0];
// else if(aaa6[1]>aaa6[2]) max=aaa6[1];
// else max=aaa6[2];
max=aaa6[0];
// if(aaa6[1]>max) max=aaa6[1]; 같은게 반복 되니까 반복문 사용
// if(aaa6[2]>max) max=aaa6[2];
//
for(int i=0; i<aaa6.length; i++) {
if(aaa6[i]>max) max=aaa6[i];
}
System.out.println("최대값 : "+max);
//배열 요소값 복사
int n1=10;
int n2=n1; //이거는 값 복사
System.out.println("n1:"+n1);
System.out.println("n1:"+n2);
int[] aa1=new int[] {10,20,30};
int[] aa2=aa1; //이거는 값을 복사 한게 아니라 주소를 복사한것-같은 배열객체를 공유한것
aa2[0]=100;
System.out.println(aa1[0]);
System.out.println(aa2[0]);
//배열객체를 복사하려면 원본배열객체와 같은 크기를 가진 배열객체를 새로만들어 요소값만 복사해야함
int[] aa3= new int[aa1.length];
// aa3[0]=aa1[0];
// aa3[1]=aa1[1];
// aa3[2]=aa1[2]; 이거를 for으로 요약
for(int i=0; i<aa3.length; i++) {
aa3[i]=aa1[i]; //aa3[i]=aa1[2-i]; 역순으로 바꾼것
}
for(int i=0; i<aa3.length; i++) {
System.out.println(aa3[i]);
}
//String s=null; null(널) 이라고 부르고 아무것도 없다 라는 의미
'이론수업' 카테고리의 다른 글
자바의 기초(클래스,객체,필드,메소드,변수) (0) | 2024.01.10 |
---|---|
자바-클래스(class) 4가지방법 (2) | 2024.01.09 |
자바-메소드(Method) 4가지 형태 (0) | 2024.01.08 |
자바-String 이론수업 (1) | 2024.01.08 |
자바 변수 기초타입(byte,char,shart.int,long,float,double) (1) | 2024.01.05 |