TIL

TIL - 2024/04/30

기석김 2024. 4. 30. 20:03

배운 내용 🏃

이어서 배열 

 

String 배열

1. 선언, 생성, 초기화

• 배열 중에서도 가장 많이 사용하게 될, 문자열 배열인, String 배열에 대해서 좀더 자세히 알아보자

• 선언하고 생성하는 방법은 기존 배열과 동일하다

 

String 배열 선언과 생성  

// String 배열을 아래와 같이 선언과 생성할 수 있습니다.
String[] stringArray = new String[3];

String 배열의 초기화

// 선언 후 하나씩 초기화 할 수 있습니다.

String[] stringArray = new String[3];
stringArray[0] = "val1";
stringArray[1] = "val2";
stringArray[2] = "val3";

// 선언과 동시에 초기화 할 수 있습니다.
String[] stringArray1 = new String[]{"val1", "val2", "val3"};
String[] stringArray2 = {"val1", "val2", "val3"};

 

String 기능 활용 (= char 배열)

 

Tip

📌 문자열 = 문자 배열 문자 배열은 연속된 문자인데…

이건 문자열이랑 같은 것 아닌가???라고 생각하실 텐데요! 맞습니다!

char 배열은 “문자 배열”이고 String 은 문자열이다.  즉 수식으로 표현하면 아래와 같다.

String = char[]

 

👀 기본형 변수와 참조형 변수의 차이! 눈치채셨나요?

기본형 변수인 char 와 참조형 변수 String의 차이점을 눈치채셨나요?

기본형 변수는 소문자로 시작하고 참조형 변수는 대문자로 시작한다

👉 다시 한번 리마인드! 참조형 변수는 실제 값의 주소값을 저장하고 있는 변수이다

• String 은 char 배열과 같기 때문에 둘 다 문자열을 저장할 수 있는 변수이다

• 하지만 String을 더 많이 쓰는데 그 이유는 참조형 변수가 더 많은 기능들을 가지고 있기 때문이다

• char 배열에는 없는 String만 가지고 있는 기능은 아래와 같다

 

 

 

String 기능을 활용해보자 코드로!

// String 기능 활용하기

String str = "ABCD";

// length()
int strLength = str.length();
System.out.println(strLength); // 4 출력

// charAt(int index)
char strChar = str.charAt(2); // 순번은 0부터 시작하니까 2순번은 3번째 문자를 가리킵니다.
System.out.println(strChar); // C 출력

// substring(int from, int to)
String strSub = str.substring(0, 3); // 0~2순번까지 자르기 합니다. (3순번은 제외)
System.out.println(strSub); // ABC 출력

// equals(String str)
String newStr = "ABCD"; // str 값과 같은 문자열 생성
boolean strEqual = newStr.equals(str);
System.out.println(strEqual); // true 출력

// toCharArray()
char[] strCharArray = str.toCharArray(); // String 을 char[] 로 변환

// 반대로 char[] 를 String로 변환하는 방법
char[] charArray = {'A', 'B', 'C'};
String charArrayString = new String(charArray); // char[] 를 String 으로 변환

 

다차원 배열

2차원 배열(2열 배열), 순회

 

 

 

선언 ( 2차원 배열을 선언할 때는 1차원 배열에 대괄호를 하나 더 추가해 주면 된다)

• int[][] array

• int array[][]

• int[] array[]

 

생성( 2차원 배열을 생성할 때도 대괄호를 하나 더 추가하면 된다)

  int[][] array = new int[][];

 

초기화( 2차원 배열을 초기화는 아래 2가지 방법이 있다)

1. 중괄호 사용해 초기화

// 중괄호를 사용해 초기화

int[][] array = {
	{1, 2, 3},
	{4, 5, 6}
};

 

2. 선언/생성 이후 반복문을 통해 초기화

// 반복문을 통한 초기화

int[][] array = new int[2][3]; // 최초 선언

for (int i = 0; i < array.length; i++) {
	for (int j = 0; j < array[i].length; j++) {
		arr[i][j] = 0; // i, j 는 위 노란색 네모박스 안에있는 숫자를 의미하며 인덱스 라고 부릅니다.
	}
}

 

가변 배열

  Java에서는 2차원 배열을 생성할 때 열의 길이를 생략하여, 행마다 다른 길이의 배열을 요소로 저장 가능

이렇게 행마다 다른 길이의 배열을 저장할 수 있는 배열을 가변 배열이라고 한다

 

코드로 알아보자

// 가변 배열

// 선언 및 초기화
int[][] array = new int[3][];
// 배열 원소마다 각기다른 크기로 지정 가능합니다.
array[0] = new int[2];
array[1] = new int[4];
array[2] = new int[1];

// 중괄호 초기화할때도 원소배열들의 크기를 각기 다르게 생성 가능합니다.
int[][] array2 = {
	{10, 20},
	{10, 20, 30, 40},
	{10}
};

 

2차원 배열 이상의 다차원 배열 이해

• 2차원 배열 외에도 3차원, 4차원 등..이 있지만 거의 대부분 3차원까지만 사용하는 경우가 많다

• 3차원 배열 선언은 2차원 배열 생성에 괄호를 하나 더해주면 된다 ( int[ ][ ][ ] multiArrary)

• 초기화할 때는 중괄호를 더 추가 하면 된다

  {{{배열원소1}, {배열원소2}}, {{배열원소3}}} 와 같은 형태로 초기화가 가능

 

3차원 배열 코드로 보자

// 3차원 배열의 이해

// 중괄호 3개를 써서 3차원 배열 초기화를 할 수 있습니다.
int[][][] MultiArray = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}};

 

 

Git & Github 기초에 대해 공부하고 있다. 팀 협업에서 매우 중요하기 때문이다 🔥

 

Git 이란?

•  코드 변경점 기록

•  버전 관리 도구(형상관리도구)

•  소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것

 

 

Git 필수 명령어 리스트

Git init

• initialize (초기화하다, 초기 세팅하다)의 준말

• 프로젝트 시작 전 딱 한번만 입력하면 됨

• 정확한 프로젝트 폴더(경로)에서 입력해야함

 

Quiz gitinit 명령어를 입력하면 현재 프로젝트에 어떤 변화가 일어나는가?

A: .git이라는 폴더가 생긴다 이때부터 코드 변경을 git에서 추적한다

 

코드를 저장하는 명령어 - git add & commit

1. git add 파일명

2. git commit -m “메세지 작성” ( 내가 어떤 코드를 짰는지 자세하게 적기!!)

3. git status (더 이상 저장할 것이 없다면 nothing to commit)

 

Git commit 후 저장이 안 되는 경우가 있다. 계정 설정을 하지 않아서 그렇다

자세한 건 이 게시글로 >> https://kiseokkm.tistory.com/2

 

Quiz gitadd와 gitcommit의 차이는 무엇인가요?

•  git add는 저장할 파일을 지정하는 것

•  git commit은 실제로 저장하는 것

 

저장 내역을 확인하는 명령어- git log

•  git diff 코드 변경 확인

•  커밋 메시지로 코드 변경점 추측 가능

•  git reset 과거로 돌아가기 가능

•  키보드 q로 빠져나오기

 

 

마무리🔥

 

git 숙지는 필수