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; } } |