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];
- 다차원 배열의 조회는 중첩 반복문으로 처리 가능