jinpark1992 2023. 11. 14. 12:52

1. 배열 

package chap_05;

public class _01_Array {
    public static void main(String[] args) {
        // 배열 : 같은 자료형의 값 여러 개를 저장하는 연속된 공간
        String coffeeRoss = "아메리카노";
        String coffeeRachel = "카페모카";
        String coffeeChandler = "라떼";
        String coffeeMonica = "카푸치노";

        System.out.println(coffeeRoss + "하나"); // 아메리카노 하나 
        System.out.println(coffeeRachel + "하나"); // 카페모카 하나
        System.out.println(coffeeChandler + "하나"); // 라떼 하나
        System.out.println(coffeeMonica + "하나"); // 카푸치노 하나
        System.out.println("주세요");

        // 배열 선언 첫 번째 방법
        //String[] coffees = new String[4];


        // 두 번째 방법
        //String coffees[] = new String[4];
//        coffees[0] = "아메리카노"; // 0 부터 시작
//        coffees[1] = "카페모카";
//        coffees[2] = "라떼";
//        coffees[3] = "카푸치노";
//
        // 세 번째 방법
        //String[] coffees = new String[]{ "아메리카노","카페모카","라떼","카푸치노" };

        // 네 번째 방법
        String[] coffees = { "아메리카노","카페모카","라떼","카푸치노" };

        System.out.println("------------------------");
        // 커피 주문
        System.out.println(coffees[0] + "하나"); // 아메리카노 하나 
        System.out.println(coffees[1] + "하나"); // 카페모카 하나 
        coffees[2] = "에스프레소"; // 값 변경
        System.out.println(coffees[2] + "하나");
        System.out.println(coffees[3] + "하나");
        System.out.println("주세요");

        // 다른 자료형?
        int[] i = new int[3];
        i[0] =1;
        i[1] =2;
        i[2] =3;
        double[] d = new double[] {10.0, 11.2, 13.5};
        boolean[] b = {true, true, false};

        
    }
}

 

2. 배열 순회 

package chap_05;

public class _02_ArrayLoop {
    public static void main(String[] args) {
        // 배열의 순회
        String[] coffees = { "아메리카노","카페모카","라떼","카푸치노" };

        // for 반복문 순회
        for (int i = 0; i < 4 ; i++) {
            System.out.println(coffees[i] + "하나");
        }
        System.out.println("주세요");

        System.out.println("---------------------------------");

        // 배열의 길이를 이용한 순회
        for (int i = 0; i < coffees.length ; i++) {
            System.out.println(coffees[i] + "하나");
        }
        System.out.println("주세요");

        System.out.println("---------------------------------");

        // enhanced for (for-each) 반복문
        for (String coffee: coffees) {
            System.out.println(coffee + " 하나");
            
        }
        System.out.println("주세요");
    }



}

 

3. 다차원배열 

package chap_05;

public class _03_MultiArray {
    public static void main(String[] args) {
        // 다차원 배열 (2차원 배열)

        // 소규모 영화관 좌석
        // A1 - A5
        // B1 - B5
        // C1 - C5

        String[] seatA = {"A1", "A2", "A3", "A4", "A5"};
        String[] seatB = {"B1", "B2", "B3", "B4", "B5"};
        String[] seatC = {"C1", "C2", "C3", "C4", "C5"};

        // 3 x 5 크기의 2차원 배열
        String[][] seats = new String[][]{
                {"A1", "A2", "A3", "A4", "A5"},
                {"B1", "B2", "B3", "B4", "B5"},
                {"C1", "C2", "C3", "C4", "C5"}
        };

        // B2 에 접근하려면?
        System.out.println(seats[1][1]);

        // C5에 접근하려면?
        System.out.println(seats[2][4]);

        // 첫 줄에는 3칸, 둘째 줄에는 4칸, 셋째 줄에는 5칸
        String[][] seats2 = {
                {"A1","A2","A3"},
                {"B1","B2","B3","B4"},
                {"C1","C2","C3","C4","C5"}
        };
        // A3에 접근하려면?
        System.out.println(seats2[0][2]);

        // A5에 접근하려면?
        //System.out.println(seats2[0][4]);

        // 3차원 배열 만들기 (세로 x 가로 x 높이)
        String[][][] marray = new String [3][3][3];
    }
}

 

4. 다차원 배열 순회 

package chap_05;

public class _04_MultiArrayLoop {
    public static void main(String[] args) {
        // 다차원 배열 순회
        String[][] seats = new String[][]{
                {"A1", "A2", "A3", "A4", "A5"},
                {"B1", "B2", "B3", "B4", "B5"},
                {"C1", "C2", "C3", "C4", "C5"}
        };
        for (int i = 0; i < 3; i++) { // 세로
            for (int j = 0; j < 5; j++) { // 가로
                System.out.print(seats[i][j] + " "); //A1 A2 A3...
            }
            System.out.println();
        }
        System.out.println("--------------------------------");

        String[][] seats2 = {
                {"A1","A2","A3"},
                {"B1","B2","B3","B4"},
                {"C1","C2","C3","C4","C5"}
        };

        for (int i = 0; i < seats2.length; i++) { // 세로
            for (int j = 0; j < seats2[i].length ; j++) { // 가로
                System.out.print(seats2[i][j] + " "); //A1 A2 A3...
            }
            System.out.println();
        }

        System.out.println("------------------------------");

        // 세로 크기 10 x 가로 크기 15 에 해당하는 영화관 좌석
        String[][] seats3 = new String[10][15];
        String[] eng = {"A","B","C","D","E","F","G","H","I","J"};
        for (int i = 0; i < seats3.length ; i++) {
            for (int j = 0; j < seats3[i].length ; j++) {
                    seats3[i][j] = eng[i] + (j + 1);
            }
        }

        // 표 구매
        seats3[7][8] = "___"; // H9
        seats3[7][9] = "___"; // H10


        // 영화관 좌석 확인
        for (int i = 0; i < seats3.length; i++) { // 세로
            for (int j = 0; j < seats3[i].length ; j++) { // 가로
                System.out.print(seats3[i][j] + " "); //A1 A2 A3...
            }
            System.out.println();
        }
     }
}

 

 

5. 아스키 코드 

package chap_05;

public class _05_ASCII {
    public static void main(String[] args) {
        // 아스키 코드 (ASCII) : 미국 표준 코드
        char c = 'A'; // 알파벳 대문자(A)는 65 부터 시작, 소문자(a)는 97 부터 시작, 숫자(0)는 48부터 시작
        System.out.println(c);
        System.out.println((int)c);

        c = 'B';
        System.out.println(c);
        System.out.println((int)c);

        c++;
        System.out.println(c);
        System.out.println((int)c);


        // 세로 크기 10 x 가로 크기 15 에 해당하는 영화관 좌석
        String[][] seats3 = new String[10][15];
        char ch = 'A';
        for (int i = 0; i < seats3.length ; i++) {
            for (int j = 0; j < seats3[i].length ; j++) {
                seats3[i][j] = String.valueOf(ch) + (j + 1);
            }
            ch++;
        }

        // 영화관 좌석 확인
        for (int i = 0; i < seats3.length; i++) { // 세로
            for (int j = 0; j < seats3[i].length ; j++) { // 가로
                System.out.print(seats3[i][j] + " "); //A1 A2 A3...
            }
            System.out.println();
        }
    }
}

 

 

더보기
public class Americano {
  public static void main(String[] args) {
    // 배열 생성(크기를 먼저 정해줌)
    int[] sales = new int[5];  
    
    // 배열 값 초기화
    sales[0] = 52; // 월
    sales[1] = 50; // 화
    sales[2] = 55; // 수
    sales[3] = 42; // 목
    sales[4] = 38; // 금
    
    // 배열 합 계산
    int sum = sales[0]+ sales[1]+ sales[2]+ sales[3]+ sales[4];
    
    // 출력
    System.out.println("총 판매량: %d잔\n", sum);
  }
}

 

 

더보기
public class DailyUser {
  public static void main(String[] args) {
    // 배열 생성
    int[] users = { 581, 512, 527, 495, 423, 141, 236 };
    
    // 계산
    double dailyUser = average(users);
    
    // 출력
    Systehttp://m.out.printf("하루 평균 사용자: %.2f명", dailyUser);
  }

  // 정수 배열을 입력받아, 평균을 반환
  public static double average(int[] arr) { // int[]의 배열 타입을 받아야함 
    // 1. 총합을 구하시오.
    double sum = 0;  
    for(int i = 0; i < arr.length; i++){
      sum += arr[i];
    }
    
    // 2. 평균을 계산하시오  : 총합/ 개수 => 평균.
    // int / int => int 주의!! 
    double avg = sum / arr.length;

    // 결과값 반환
    return avg;
  }
}