-
배열Back end/Java 기본 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;
}
}