코딩/2-JAVA

C05배열과데이터

tree0505 2025. 6. 23. 14:31
반응형
    • 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) 명시 안 함 ✅ 있음 타입 변환 후 값 비교 ✅ 매우 중요

 

반응형