☕️ Java 문법 종합반 (1) - ④배열, 메서드 / TIL - day 9

하리비·2025년 2월 26일
2

☕️ Java

목록 보기
4/8

< 배열 >



📖 1) 배열(Array)

  • 비슷한 주제의 데이터를 그룹으로 묶어서 표현하는 방법
  • 각각의 데이터를 배열의 요소라고 한다

📌 배열의 길이

  • 정적배열 : 한 번 크기를 정하면 변경할 수 없다

  • 배열의 길이 구하는 법

    int 배열길이 = 배열이름.length;
    
     int arrayLength = arr.length;
     System.out.println("arrayLength : "+arrayLength); // 출력결과 arrayLength : 5 

📖 2) 배열 선언

📌 선언 방법

// ❶. 배열 선언
int[] arr;

// ❷. 배열 길이 할당
arr = new int[5];

// ❸. 배열 선언과 길이 동시에 할당
int[] arr = new int[5];
//arr = [] [] [] [] [] <- 빈공간

// 🌟 ❹. 배열 선언과 동시에 배열의 요소 할당
int[] arr = { 10, 20, 30, 40, 50};
          // [10] [20] [30] [40] [50]

✔️ 문자열 배열

// 길이가 5인 문자열 배열 arrA 를 선언 
String[] arrA = new String[5];

✔️ 논리형 배열

// 길이가 3인 논리형 배열 arrB 를 선언
boolean[] arrB = new boolean[3];

📖 인덱스 (index)

  • 배열의 요소에 접근하고자 할때 index를 사용한다
  • index의 시작은 0이다!
  • n번째 요소 = arr[n-1]
int[] arr = {10, 20, 30, 40, 50};
          // [0] [1] [2] [3] [4]  <---인덱스 위치
          // 🌟3번째 요소 = arr[3] 으로 표시

📌 배열에 정보 삽입, 수정

  • arr[몇번째] = '삽입/수정할값'
  • 인덱스를 통해 각 요소의 값을 수정할 수 있다
  • 배열을 길이와 함께 선언만 해두고, 인덱스로 값을 삽입할 수 있다

📌 배열 탐색

  • for문과 index 활용 : 반복문의 변수를 index로 사용한다 -> 불편해서 잘 안씀

     int[] arr = {1, 2, 3, 4, 5}
    
      for (int i = 0; i < arr.length; i++) { // 조건 유의 ‼️ 인덱스로 탐색하기 때문에 시작조건을 0으로 적거나 ,
           System.out.println("인덱스" + i + "값" + arr[i]);   //           length에서 -1을 하면 안댐
           } //-> 인덱스 길이만큼 반복 -> 모든 배열 값 확인 가능
            // -> 이방법 너무 불편하다 거의 안씀

✔️ ② 향상된 for 문

  • index를 직접 활용하지 않는다
    • for (int a : arr) = 배열 arr에서 요소를 하나씩 꺼내서 a에 담음
    for (int a : arr) { //<------- a=arr의 요소임, arr의 요소를 전부 반복해서 탐색
        System.out.println(a);
           }

📖 2차원 배열

  • 좌표, 위치 정보 등 2차원적 정보를 표현할 때

  • ① 배열 선언
    boolean[][] board = new boolean[2][2]; // ✅ 2 x 2 2차원 배열 선언
     //    [] []  -------> 0행 (인덱스 생각하기)
     //    [] []  -------> 1행
     //    0열 1열

  • ② 배열 선언과 동시에 값 할당
    boolean[][] board2 = {
    	{true, false}, // 위랑 모양 똑같음!!!
       {false, true}
    };
    System.out.println(board2[0][0]);//--------> 0행 0열을 가리킴, 고로 true


< 메서드 >


📖 메서드(method)

  • 여러개의 작은 명령문을 한곳에 모아 사용한다

  • 함수, 기능이라고도 한다


📖 메서드 구조

  • 선언부 - 메서드를 정의
  • 호출부 - 메서드를 사용

📌 선언부

  • 메서드이름
    • 클래스이기 때문에 카멜케이스로 작성한다
    • 한눈에 알아 볼 수 있게 되도록 동사로 사용한다
  • 반환 자료형
    • 반환 데이터의 자료형을 작성하거나
    • return이 없을 경우 void를 작성 - 하단에 내용 있음

📌호출부

public static void main(String[] args) {

		//1. 객체를 소환 = 객체화 , 인스턴스화 (Scanner 떠올리자)
        Calculator calculator = new Calculator(); //---> new가 붙으면 객체화한단 뜻
        //[ 자료형-정수 ][ 변수 이름 ]=[ 정수형 타입의 데이터 ]

        // 2. 메서드(함수)를 호출한다
        int result = calculator.sum(1, 2); //<--------calculator 의 함수(sum) 호출 / 같은 포맷으로 써야하니 괄호안에도 정수 2개를 써야,,
        //ㄴ---------> 메서드의 결과를 반환한다 ( result 대신 다른이름도 가능 - main에서 활용할 이름으로!)

✔️ void

  • void : 비어있다

    💡 [ 예시 ]

    [선언부]
     public class Calculator {
    	void sum(int value1, value2) { //  반환 데이터가 없다는 것을 표시
        	int result = value1 + value2;
    		System.out.println("계산결과는 " + result + "입니다.");
    	}
     }
    [호출부]
     public class Main {
     	public static void main(String[] args {
     		Calculator calculator = new Calculator();
     		calculator.sum(1, 2); // ✅ 반환데이터가 없기때문에 받아서 처리하지 않아도 됩니다.
     	}
     }
    

0개의 댓글