-
자바 step7 - Array(1)Java 2022. 10. 25. 21:46
package test.main; public class MainClass01 { public static void main(String[] args) { System.out.println("main 메소드가 시작되었습니다."); // int type 5 개를 저장하고 있는 배열 int[] nums= {10,20,30,40,50}; // double type 5 개를 저장하고 있는 배열 double[] nums2= {10.1,10.2,10.3,10.4,10.5}; // boolean type 5개를 저장하고 있는 배열 boolean[] truth= {true, false, false, true, true}; // String type (참조데이터 type) 5 개를 저장하고 있는 배열 String[] names= {"김구라","해골","원숭이","주뎅이","덩어리"}; // 배열의 각각의 방 참조하기 int result1=nums[0];//10 double result2=nums2[1];//10.2 boolean result3=truth[2];//false String result4=names[3];//"주뎅이" // nums 배열을 복제해서 새로운 배열을 얻어내서 a 에 대입하기 int[] a=nums.clone(); // nums 안에 있는 배열의 참조값을 b 에 대입하기 int[] b=nums; // 배열의 방의 갯수 int size=nums.length; } }
변수를 생성할 때, 기본 데이터 타입 옆에 [](대괄호)를 넣으면 Array type으로 반영된다. 값을 여러개 넣을 수 있다. 참조값들은 {}로 감싸야 된다. Array type은 순서가 존재하므로 해당 번호에 있는 값만 따로 호출할 수 있다. 순서는 0 ~ 사용한다.
clone메소드로 배열을 복제할 수 있다. Array 타입이면 참조값을 대입할 수도 있다.
package test.main; public class MainClass02 { public static void main(String[] args) { // 0 으로 초기화 된 방 3개짜리 int[] 객체 만들어서 참조값을 지역 변수 nums 에 담기 int[] nums={0, 0, 0}; nums[0]=10; nums[1]=20; nums[2]=30; // 0 으로 초기화된 방 100개짜리 int[] 객체 만들어서 참조값을 지역 변수 nums2 에 담기 int[] nums2=new int[3]; nums2[0]=100; nums2[1]=200; nums2[2]=300; // nums2[3]=400; //??? 없는 방번호를 참조하면 Exception 이 발생한다. System.out.println("마무리 작업을 하고 app 을 종료합니다."); } } <console> 마무리 작업을 하고 app 을 종료합니다.
우선 임의의 값 0을 넣고 나중에 해당 순서의 방에 참조값을 넣을 수도 있다.
new int[] 로 해당 변수명의 타입을 Array타입으로 생성할 수도 있다 나중에 값을 넣어주어도 된다. 다만 처음에 생성할 때 몇 개까지 들어가는지 미리 갯수를 주어주어야되고, 그것을 초과하는 방번호를 참조하면 err가 발생한다.
package test.main; public class MainClass03 { public static void main(String[] args) { System.out.println("main 메소드가 시작되었습니다."); //String type 을 담을 수 있는 방 3개짜리 빈 배열객체를 만들어서 참조값을 지역변수 names 에 담기 //String[] names= {null, null, null}; String[] names=new String[3]; names[0]="김구라"; names[1]="해골"; names[2]="원숭이"; // 반복문 돌면서 배열에 저장된 문자열을 순서대로 콘솔창에 출력하기 for(int i=0; i<names.length; i++) { //i번째 방에 저장된 아이템 참조 String tmp=names[i]; //출력 System.out.println(tmp); } } } <console> main 메소드가 시작되었습니다. 김구라 해골 원숭이
String type의 Array 타입도 위와 비슷하다.
반복문 for를 돌려서 모든 참조값을 호출 가능하다.
Bike class 생성
package test.mapac; public class Bike { //메소드 public void ride() { System.out.println("바이크를 타고 달려요!"); } }
package test.main; import test.mapac.Bike; public class MainClass04 { public static void main(String[] args) { /* * 1. Bike 객체를 담을 수 있는 방 3개짜리 배열객체를 생성해서 참조값을 * bikes 라는 지역 변수에 담아보세요. * 2. 배열의 각각의 방(0,1,2번) 에 Bike 객체를 생성해서 담아보세요. * 3. 반복문 for 를 이용해서 순서대로 배열의 각각의 방에 있는 Bike 객체의 * ride() 메소드를 호출해보세요. */ //1. //Bike[] bikes= {null, null, null}; Bike[] bikes=new Bike[3]; //2. bikes[0]=new Bike(); bikes[1]=new Bike(); bikes[2]=new Bike(); //3. for(int i=0; i<bikes.length; i++) { //i번째 방 참조 Bike a=bikes[i]; a.ride(); } } } <console> 바이크를 타고 달려요! 바이크를 타고 달려요! 바이크를 타고 달려요!
Bike class를 상속받아 객체를 생성하였다. 생성할 때 Array타입으로 생성 가능하다.
bike 타입을 반복문 돌리려면 class 타입을 Bike로 주어야 한다.
'Java' 카테고리의 다른 글
자바 step8 - Extends(extends, casting, Override, super) (0) 2022.10.26 자바 step7 - Array(2) (0) 2022.10.25 자바 step6 - WrapperClass(데이터 type 변경) (0) 2022.10.25 자바 step5 - Constructor (0) 2022.10.25 자바 step4 - Method(2) (0) 2022.10.25