![[Java] - 배열(Array)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbV6Th%2FbtsyVY9woBv%2FoAl5CpcTf1bDMPKuRPZ8D1%2Fimg.png)
[Java] - 배열(Array)Language/Java2023. 10. 23. 23:13
Table of Contents
배열이란?
배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
중요한 점은 '같은 타입'이라는 점 입니다. 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없습니다.
-선언방법
타입[] 변수이름
타입 변수이름[]
위 두가지의 선언방법이 있습니다.
-배열생성
변수이름 = new 타입[길이];
한 번 선언된 배열의 길이는 변경할 수 없습니다.
만약 변경을 해야한다면, 기존 배열의 길이보다 더 큰 배열을 생성한 뒤, 기존 배열을 새로운 배열에 복사하는 방법이 있지만 이는 효율적인 방법이 아니므로 배열을 생성할 때 길이를 자신의 사용 목적에 맞게 충분히 고려하여 설정해야 합니다.
-배열사용예시
public class Main {
public static void main(String[] args) {
int[] arr = new int[4];
for(int i=0; i<arr.length; i++) {
arr[i] = i;
System.out.print(arr[i] + ",");
}
}
}
배열의 값을 넣고 출력하는 기본적인 코드로 많이 사용됩니다.
배열은 for문과 함께 많이 사용됩니다.
파해쳐보기
배열을 활용한 예제 몇 가지를 보여드리겠습니다.
1. 학생의 총합과 평균출력
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
int[] student = new int[5];
for(int i=0; i<student.length; i++) {
student[i] = sc.nextInt();
sum += student[i];
}
double avg = 0;
avg = sum / (double)student.length;
for(int tmp : student) {
System.out.print(tmp + "점 ");
}
System.out.println();
System.out.println("학생 총점: " + sum);
System.out.println("학생 평균: " + avg);
}
}
먼저 학생의 성적을 입력받아서 배열에 넣고 sum은 학생의 총점을, avg는 평균을 구해줍니다.
avg를 구할 때는 double타입으로 avg변수를 생성해줬어도 int타입간의 연산은 소수점이 버려지고 변수에 저장되기때문에 형변환 연산자를 사용하여 소수점까지 계산해줍니다.
입력된 학생의 점수를 출력은 for each를 사용하여 좀 더 간단하게 출력을 했습니다.
2. 최대값과 최소값
최대값과 최소값은 알고리즘 문제에서도 종종 응용되는 배열의 활용입니다.
public class Main {
public static void main(String[] args) {
int[] arr = {51, 27, 47, 89, 43};
int max = arr[0];
int min = arr[0];
for(int i=0; i<arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
}
else if(arr[i] < min){
min = arr[i];
}
}
System.out.println(max);
System.out.println(min);
}
}
728x90
'Language > Java' 카테고리의 다른 글
[JAVA] 중첩 클래스 (중첩 클래스 ,정적 중첩 클래스, 지역 클래스) (0) | 2024.06.03 |
---|---|
[JAVA] 다형성 (0) | 2024.06.02 |
[Java] - BufferedWriter (0) | 2023.10.18 |
[Java] - BufferedReader (0) | 2023.10.18 |
[Java] Scanner (0) | 2023.10.18 |
@leegeonwoo :: geonwoo
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!