- C05배열과데이터
- C0501개념01배열과데이터
package C0501배열과데이터;
import java.util.Scanner;
/*
[문제] 학번을 입력받아 성적을 출력하시오.
단, 없는학번 입력 시 예외처리 하시오.
[예시]
학번 입력 : 1002 성적 : 11점
학번 입력 : 1000 해당학번은 존재하지 않습니다.
*/
public class C0501개념01배열과데이터 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] numberList = {1001, 1002, 1003, 1004, 1005};
int[] scoreList = { 87, 11, 45, 98, 23};
System.out.print("학번 입력 : ");
int bunho = scan.nextInt();
/*
bunho = 1002
bunho == numberList[i]
i = 0 1002 == 1001 false index = -1
i = 1 1002 == 1002 true index = 1
반복문 종료
*/
int index = -1;
for(int i=0; i<numberList.length; i++) {
if(bunho == numberList[i]) {
index = i;
break;
}
}
if(index == -1) {
System.out.println("해당학번은 존재하지 않습니다.");
} else {
System.out.println(scoreList[index]);
}
scan.close();
}
}
- C0501개념02배열과데이터
package C0501배열과데이터;
import java.util.Scanner;
/*
array배열은 학번과 점수가 한쌍으로 이루어진 데이터이다.
[문제1]
학번을 입력하면, 점수를 출력하시오.
[예시1]
입력 : 1001
출력 : 20
[문제2]
점수를 입력하면, 학번을 출력하시오.
[예시2]
입력 : 20
출력 : 1001
*/
public class C0501개념02배열과데이터 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 학번 0 2 4 (짝수)
// 성적 1 3 5(홀수)
int[] array = {1001, 20, 1002, 45, 1003, 54};
// 문제1
System.out.print("입력 : ");
int bunho = scan.nextInt();
int index = -1;
for(int i=0; i<array.length; i++) {
if(i % 2 == 0 && bunho == array[i]) {
index = i;
break;
}
}
if(index == -1) {
System.out.println("번호를 잘못입력했습니다.");
} else {
System.out.println(array[index + 1]);
}
// 문제2
System.out.print("입력 : ");
int score = scan.nextInt();
index = -1;
for(int i=0; i<array.length; i++) {
if(i % 2 == 1 && score == array[i]) {
index = i;
break;
}
}
if(index == -1) {
System.out.println("성적을 잘못입력했습니다.");
} else {
System.out.println(array[index - 1]);
}
scan.close();
}
}
- C0502인덱스배열
- C0502개념01_검색여러개
package C0502인덱스배열;
public class C0502개념01_검색여러개 {
public static void main(String[] args) {
/*
[문제]
numberList 는 학생 번호이다.
scoreList 는 이번 시험의 점수이다.
search 는 학생들이 검색한 순서를 저장한 배열이다.
search의 값은 numberList 와 scoreList의 인덱스이다.
학생들이 검색한 숫서에 맞춰서 번호와 점수를 출력하시오.
[설명]
1 은 1002 번학생이 검색한것이다. ==> 1002번69점
2 는 1003 번학생이 검색한것이다. ==> 1003번23점
1 은 1002 번학생이 한번더 검색한것이다. ==> 1002번69점
...
나머지도 같은방법으로 작성한다.
[정답]
1002번 69점
1003번 23점
1002번 69점
1001번 45점
1004번 100점
1002번 69점
1003번 23점
*/
int[] numberList = {1001, 1002, 1003, 1004};
int[] scoreList = { 45, 69, 23, 100};
int[] search = {1, 2, 1, 0, 3, 1, 2};
for(int i = 0; i < search.length; i++){
int index = search[i];
int a = numberList[index];
int b = scoreList[index];
System.out.println(a + "번 " + b + "점");
}
}
}
✅ 정리 => = , == , ===
| = | 대입 (복사/저장) | ✅ | ✅ |
| == | 값이 같은지 비교 | ✅ | ✅ (자동 형변환 O) |
| === | 값과 타입 모두 같은지 비교 | ❌ | ✅ (정확 비교용) |
🔍 정리 비교
| 자바 (Java) | 반드시 명시 | ❌ 없음 | 기본형은 값 비교, 참조형은 주소 비교 | ❌ 필요 없음 |
| 자바스크립트(JS) | 명시 안 함 | ✅ 있음 | 타입 변환 후 값 비교 | ✅ 매우 중요 |
'코딩 > 2-JAVA' 카테고리의 다른 글
| C0606중첩반복입력 (0) | 2025.06.24 |
|---|---|
| C06중첩반복 => C0601중첩반복 ~ C0605소수여러개 (0) | 2025.06.23 |
| C0404규칙찾기, C0405규칙찾기입력, C0405행렬 (0) | 2025.06.23 |
| C04배열 => C0401날짜 , C0402중복숫자 , C0403교환 (1) | 2025.06.20 |
| C03반복문 => C0304반복문입력 (0) | 2025.06.20 |