ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA 2차원 배열
    back-end&DB/Java 2023. 5. 15. 17:02
    728x90

    1. 2차원 배열

     

    배열 만드는 법
    자료형[ ][ ]변수명 = new 자료형 [ ][ ];

    	int n = 5;
    	int [][] intArray = new int[n][n];
    	
    	System.out.println(intArray); // 주소값 출력
    	System.out.println(intArray[0]); // 주소값 출력
    	System.out.println(intArray[0][0]); // 값 출력

    0,0 에 1를 대입해서 출력하면 1이 나옵니다.

    	intArray[0][0] = 1;
    	System.out.println(intArray[0][0]); // 1출력

     

    0,0~0,4에 1부터 5까지 대입

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

    출력값으로 1 2 3 4 5 나옵니다.

     

     

    - for 반복문을 이용

    아래와 같은 코드로 작성이 가능합니다.

    	for (int i = 0; i < intArray[0].length; i++) {
    		intArray[0][i] = i+1;
    	}
    	
    	for (int i = 0; i < intArray[0].length; i++) {
    		System.out.print(intArray[0][i] + " ");
    	}

     

    - 숫자 찍기

    int n = 5;
    		int[][] intArray = new int[n][n];
    		
    		for (int j = 0, num = 1; j < intArray.length; j++) {
    			for (int i = 0; i < intArray.length; i++, num++) {
    				intArray[j][i] = num;
    			}
    		}
    
    		// -------------------------------출력문장--------------------
    
    		for (int j = 0; j < intArray.length; j++) {
    			for (int i = 0; i < intArray.length; i++) {
    				System.out.print(intArray[j][i] + "\t");
    			}
    			System.out.println();
    		}

    - 숫자 찍기2 내려오는 모양

     

    int n = 5;
    	int[][] intArray = new int[n][n];
    	
    	for (int i = 0, num = 1; i < intArray.length; i++) {
    		for (int j = 0; j < intArray.length; j++, num++) {
    			intArray[j][i] = num;
    		}
    	}
    	
    	//출력문장
    	for (int j = 0; j < intArray.length; j++) {
    		for (int i = 0; i < intArray.length; i++) {
    			System.out.print(intArray[j][i] + "\t");
    		}
    		System.out.println();
    	}

    - 숫자 찍기3 지그재그 

    int n = 5;
    int[][] intArray = new int[n][n];
    
    	for (int j = 0, num = 1; j < intArray.length; j++) {
    		for (int i = 0; i < intArray.length; i++, num++) {
    			if (j%2 == 0) {
    				intArray[j][i] = num;
    			}else{
    				intArray[j][n-1-i] = num;
    			}
    		}
    	}
    
    		// 출력문장
    	for (int j = 0; j < intArray.length; j++) {
    		for (int i = 0; i < intArray.length; i++) {
    			System.out.print(intArray[j][i] + "\t");
    		}
    		System.out.println();

    int[][] intArray = new int[5][5];
    
    		//치환
    		int num = 0 ; // 1씩 증가하는 변수
    		int start = 0; // 배열의 시작하는 인덱스
    		int end = intArray.length-1; // 배열의 끝나는 인덱스
    		int temp = 0; // 치환용 변수
    		int reverse = 1; // 양수 1 혹은 음수 1
    		
    		for(int i = 0; i<intArray[0].length; i++) {// 처음 인덱스
    			for (int j = start; j != end + reverse; j+= reverse) {
    				num++;
    				intArray[i][j] = num;
    			}
    			temp = end; // temp == 4
    			end = start; // end == 0
    			start = temp; // start == 4
    			
    			reverse = -reverse; // -1
    			
    		}
    		
    		
    		
    		// 출력문장
    		for (int j = 0; j < intArray.length; j++) {
    			for (int i = 0; i < intArray.length; i++) {
    				System.out.print(intArray[j][i] + "\t");
    			}
    			System.out.println();
    		}
    728x90

    'back-end&DB > Java' 카테고리의 다른 글

    JAVA Array와 ArrayList  (0) 2023.05.17
    JAVA 메소드  (0) 2023.05.16
    JAVA 배열  (0) 2023.05.12
    JAVA 다중 FOR문  (0) 2023.05.10
    JAVA 반복문  (0) 2023.05.09
Designed by Tistory.