국비-내일배움// Java (eclipse)-04

1. 2차원 배열

2. 2차원 배열 예제 문제

3. 인스턴스 배열- 초기화

4. for~each문


1.2차원 배열

	int num=100;--정수값
	int[] array;
	array=new int[5];---참조변수

	String name=new String("김태희");
	----String name=("김태희");---위아래 같은 얘기
	System.out.println(name);	
	
	int[][] arr = new int[3][4];
	i:행의 값
	for(int i=0;i<3;i++) {
    //입력 출력 같이 반복문// 복잡한경우 따로 짜도됨.
		for(int j=0;j<4;j++) {
			arr[i][j] = i+j;
			System.out.print(arr[i][j]+" ");
			
			for(int i=0;i<arr.length;i++) {--arr.length:가로 행의 배열수
				for(int j=0;j<arr[i].length;j++) {---배열 0번의 배열의 수
				arr[i][j] = i+j;
				System.out.print(arr[i][j]+" ");
		}
	System.out.println(" ");//개행
	}

2. 2차원 배열 예제

층의 수와 호수를 입력
-각 층의 인원 입력
-각 층마다 인원수 합계
-총 전체 인원 한계 구하기

Scanner sc= new Scanner(System.in);
	int floor, ho;
	System.out.print("층의 수 입력 : ");
	floor=sc.nextInt();
	
	System.out.print("층의 호수 입력: ");
	ho=sc.nextInt();
	
	int[][]v;
	v = new int[floor][ho];
	
	for(int i=0; i<floor;i++) {
		for( int j=0; j<ho; j++) {
			System.out.print((i + 1) + " 층 " + (j+1) + "호 인원수: ");
			v[i][j]=sc.nextInt();
		}
	}
	int total =0 ;// 전체인원
	for (int i =0; i<floor; i++) {
		int sum = 0;//각층인원
		for(int j=0; j<ho; j++)
			sum+= v[i][j];
		total+=sum;
		System.out.println((i+1)+ "층 인원은 " + sum + "명" );
		}
	System.out.println("공동주택 총 인원" + total + "명 입니다.");
	

3. 문자열 배열 ---인스턴스 배열

인스턴스 배열 : 인스턴스의 참조값을 저장하는 배열

String[] name=new String[3];
name[0]="hong";// name[0]=new String("hong")
	name[1]="cha";
	name[2]="kim";
	
	for(int i=0; i<name.length; i++) {
		System.out.println(name[i]);
	}
	
    String ---문자
    
	//가변 배열
	
	초기화 ---1차원배열, 2차원 배열
    
	int[] arr= new int[] {8,6,5,7,8,};
	int[] arr= {8,6,5,7,8,};
	int[] arr;
	arr= {8,6,4,5,7};
	
	- 2차원 배열 초기화
    
	int[][]arr={ {},{},{}};

--항의 개수가 순차적으로 증가하는 항 만들기

	for(int i=0; i<arr.length;i++) {
		System.out.println(arr[i]);
	}
	
	int [][]arr= new int[3][];
	arr[0]=new int[2];
	arr[1]=new int[3];
	arr[2]=new int[5];
	for(int i=0; i<arr.length; i++) {
		for (int j=0; j<arr[i].length; j++) {
			arr[i][j]=i+j;
			System.out.print(arr[i][j]+ " ");
		}
		System.out.println("");
	}
	

-----

4. for~each문

public static void main(String[] args) {//배열 아님 
	int [] arr= new int []{3,4,5,6,3};
	//for~each문 
	for(int e:arr) {
		//e++;---복사 값만 증가 시키는 것
        -- 원래 값은 변경 되지 X.
		System.out.println(e);
	}
}

인스턴스 변수,,, 2차배열을 배웠다... 처음엔 설명을 들어도 잘 이해가 안가서 머리가 터질거 같았지만,,, 그래도 듣다보니 그리고 예제 문제도 계속 풀다보니 비슷비슷해보이고 방법이 푸는 방법이 조금씩 눈에 들어오는거 같기도하다,, 코드를 보고 해석은 잘 되는데 처음에 짤 떄 어디서 부터 시작해야 하는거지 하고 살짝쿵 멘붕이 오지만 이또한 적응하지 않을까 싶다아... 화이티이잉!!

좋은 웹페이지 즐겨찾기