반응형
✅ 오전 수업 요약
1. 문자열 참조 비교 (== vs .equals())
strArray[0] = "Java";
strArray[2] = new String("Java");
- == : 주소(참조) 비교
- .equals() : 문자열 내용 비교
- 결과:
- strArray[0] == strArray[1] → true
- strArray[0] == strArray[2] → false
- strArray[0].equals(strArray[2]) → true
2. 향상된 for문 (for-each)
int[] x = {95, 71, 84, 93, 87};
for (int y : x) sum += y;
- 배열 전체 반복을 간단하게
- 평균 계산 실습
3. main 메서드의 인자 사용 (args[])
String str1 = args[0];
int num1 = Integer.parseInt(str1);
- 실행 시 인자 2개 필요
- 두 정수의 합 계산 및 출력
- 입력값 없을 경우 종료 처리
✅ 오후 수업 요약 (실습 중심)
1. mission6 - 2차원 배열 구조 확인
static void mission6() {
int[][] array = { { 95, 86 }, { 83, 92, 96 }, { 78, 83, 93, 87, 88 } };
System.out.println("배열의 줄 : " + array.length);
for (int i = 0; i < array.length; i++)
System.out.println((i + 1) + "번째 배열의 칸 : " + array[i].length);
}
int[][] array = { {95, 86}, {83, 92, 96}, {78, 83, 93, 87, 88} };
- .length로 줄(행) 수와 칸(열) 수 확인
- 출력 예:
배열의 줄 : 3
1번째 배열의 칸 : 2
2. mission7 - 최대값 구하기
static void mission7() {
int array[] = { 1, 5, 3, 8, 2 }, max = 0;
for (int num : array)
if (num > max)
max = num;
System.out.println("max num : " + max);
}
int[] array = {1, 5, 3, 8, 2};
- 향상된 for문 사용
- 조건문으로 최대값 판별
3. mission8 - 2차원 배열 총합 및 평균
static void mission8() {
int array[][] = { { 95, 86 }, { 83, 92, 96 }, { 78, 83, 93, 87, 88 } }, sum = 0, count = 0;
for (int i = 0; i < array.length; i++) {
count += array[i].length;
for (int j = 0; j < array[i].length; j++)
sum += array[i][j];
}
System.out.println("점수의 전체 합 : " + sum);
System.out.println("점수 전체의 평균 : " + (double) sum / count);
}
- 합산 및 요소 수 카운트 → 평균 출력
sum += array[i][j];
count += array[i].length;
4. mission9 - 학생 점수 관리 프로그램
static void mission9() {
Scanner sc = new Scanner(System.in);
String str;
int count = 0, scores[] = null, sum = 0;
while (true) {
System.out.println("-".repeat(40));
System.out.println("1. 학생수 | 2. 점수입력 | 3. 점수리스트 | 4. 분석 | 5. 종료");
System.out.println("-".repeat(40));
System.out.print("선택> ");
str = sc.nextLine();
if (str.equals("1")) {
System.out.print("학생수> ");
str = sc.nextLine();
count = Integer.parseInt(str);
scores = new int[count];
} else if (str.equals("2")) {
if (scores == null) {
System.out.println("현재 정해진 학생 수가 없습니다.");
continue;
}
for (int i = 0; i < scores.length; i++) {
System.out.print("scores[" + i + "]>");
str = sc.nextLine();
count = Integer.parseInt(str);
scores[i] = count;
}
} else if (str.equals("3")) {
for (int i = 0; i < scores.length; i++)
System.out.println("scores[" + i + "] : " + scores[i]);
} else if (str.equals("4")) {
for (int i : scores) {
if (i > count)
count = i;
sum += i;
}
System.out.println("최고 점수 : " + count);
System.out.println("평균 점수 : " + (double) sum / scores.length);
} else if (str.equals("5"))
break;
}
System.out.println("프로그램 종료");
}
- 메뉴 기능 구성:
- 학생 수 설정
- 점수 입력
- 점수 출력
- 최고 점수 및 평균 분석
- 종료
- 입력/출력 및 예외 처리 포함
🧠 9일차 핵심 요약표
주제 | 내용 |
문자열 비교 | == (참조), .equals() (내용) |
향상된 for문 | 배열 반복 간단화 |
main 인자 | 외부 입력값 처리 및 타입 변환 |
2차원 배열 | 구조 확인, 평균 계산 |
실습 문제 | 최대값, 총합, 점수 분석 프로그램 구현 |
'국비' 카테고리의 다른 글
[ 12일차 50~54 ] 수업 정리 - 자바 (0) | 2025.04.29 |
---|---|
[ 11일차 44~49 ] 수업 정리 - 자바 (1) | 2025.04.28 |
[ 10일차 38~43 ] 수업 정리 - 자바 (2) | 2025.04.25 |
[ 8일차 32~35 ] 수업 정리 - 자바 (0) | 2025.04.23 |
[ 7일차 25~31 ] 수업 정리 - 자바 (1) | 2025.04.22 |
[ 6일차 20~24 ] 수업 정리 - 자바 (2) | 2025.04.21 |