Camp/Java

[JAVA] 조건문, 반복문, 배열

뭔가 한다 2024. 10. 8. 20:33

조건문

if

if(조건) {
	// ...
}else if(조건) {
	// ...
}else {
	//...
}

switch

switch(피연산자) {
	case 조건: //... 
		break;
	case 조건: //... 
		break;
	// ...
	default: //...
}

반복문

for

for(초깃값; 조건; 연산) {
	// ...
}
for(변수 : array) {
	// 변수에 array 하나씩 저장되며 연산
}

while

while (조건){
	// ...
}
do {
	// while문과 다르게 연산 후 조건 확인
}while(조건)

break : 반복문 종료

continue : 다음 연산으로 넘어감(반복 패스)

배열

타입[] 변수명;

타입 변수명[];

// 초기화
// new 로 초기화 할 시 기본 값 int: 0 bolean: false string: null
String[] str = new String[3]; // string array length 3

초기화 방법

  • {} : 중괄호 내부에 값을 넣어 초기화
  • for 문을 사용해 초기화
  • Array.fill method를 사용해 초기화
    • Array.fill(변수명, 초기화 할 값) : 같은 값으로 초기화

얕은 복사

int[] a = {1, 2, 3};
int[] b = a; // 얕은 복사
// b는 a의 주소값이 복사된 상태라 b가 변경되면 a값도 변경된다.

깊은 복사

  • for 문으로 하나씩 복사해서 같은 내용을 가진 배열 생성
  • .clone() : 내용은 같아지지만 다른 주소값을 가진다.
    • 다차원 배열의 경우 내부의 배열은 주소값이 그대로 복사되는 문제가 있음
int[] a = {1, 2, 3};
int[] b = a.clone();
  • copyOf(array, length)
int[] a = {1, 2, 3};
int[] b = Array.copyOf(a, a.length); 
// length는 원하는 길이 만큼만 넣을 수도 있음
// .copyOf(a, 2);
	// result : {1, 2}

String Array

  • .length()
    • return : int
  • .charAt(int) : int 번째 있는 문자 반환
    • return : char
  • .substring(int1, int2) : int1에서 (int2-1)까지의 문자 반환
    • return : string
  • .equals(String) : 같은지 확인
    • return : boolean
  • .toCharArray() : 문자열을 문자배열로 반환
    • return : char[]
  • new String(char[]) : char[] to String
    • return : String

다차원 배열

int[][] a = new int[2][3];
// 가변 배열
int[][] a = new int[3][];
a[0] = new int[3];
a[1] = new int[2];
a[2] = new int[5];
  • 다차원 배열의 조회는 중첩 반복문으로 처리 가능