선언방식
ex)
int[] a , a = new int[5]; //a는 길이가 5인 배열을 참조한다
int[] a = new int[5]
요솟값을 초기화하며 배열 선언
int [] a = {1,2,3,4,5}
배열의 복제
- 얕은 복사
- 깊은 복사
얕은복사
ex)
int [a] = {1,2,3}
int[] b = a
> 주소를 이어주는 의미. b값을 수정하면 a의 값도 수정된다
깊은 복사
ex)
배열 이름.clone()
int [a] = {1,2,3}
int[] b = a.clone()
배열요소의 최댓값 구하기
package com.heejin.doit.ex01;
import java.util.Scanner;
public class Max3 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.println("세 정수의 최댓값 구합니다.");
System.out.print("a의 값 : "); int a = stdIn.nextInt();
System.out.print("b의 값 : "); int b = stdIn.nextInt();
System.out.print("c의 값 : "); int c = stdIn.nextInt();
int max = a;
if (b > max) max = b;
if (c > max) max = c;
//if문을 통해 max값을 새로 지정해주는 방식
System.out.println("최댓값은 " + max + "입니다.");
}
}
배열요소를 역순으로 정리하기
class ReverseArrayProcess{
static void swap(int[] a, int idx1, int idx2){
int t =a[idx1]; a[idx1]= a[idx2]; a[idx2] = t;
///a[idx1]과 a[idx2]의 값을 바꾸는 과정
}
static void reverse(int[] a){
for(int i = 0; i < a.length/2; i++){
System.out.println("a["+ i + "]와 a[" + (a.length - 1 - i) + "]를 교환합니다.");
swap(a, i, a.length - i - 1);
}
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("요솟수 : ");
int num = stdIn.nextInt();
int[] x = new int[num];
for (int i =0; i < num; i++){
System.out.println("x[" + i + "] : ")l
x[i] = stdIn.nextInt();
}
reverse(x);
System.out.println("요소를 역순으로 정렬했습니다.");
for( int i = 0; i<num; i++)
System.out.println("x["+i+"] = " + x[i]);
}
}
또 다른 방법
int[] arr = { 1, 2, 3, 4, 5 };
int[] reverseArr = new int[5];
for(int i = arr.length-1,j=0; i>=0; i--, j++){
reverseArr[j] = arr[i];
}
'Algorithm' 카테고리의 다른 글
검색(선형 검색, 보초법,이진 검색 (0) | 2022.06.06 |
---|---|
다차원배열과 확장 for문의 장점 (0) | 2022.06.06 |
에라토스테네스의 체 (0) | 2022.06.06 |
소수 판별 알고리즘 (0) | 2022.06.06 |
Algorithm(2022.05.10)-Algorithm이란? (0) | 2022.05.10 |