배운것들을 정리합니다.
三昧境

Java/Java Language

[Java 기초] 제어문 control statement, 반복문 loop statement, 배열 array

ujo_orr 2024. 11. 26. 21:07

제어문(contorl statement)

if

조건에 따른 분류

if () // 조건
System.out.println("Hi"); // 명령

또는

if () { // 조건
System.out.println("A\nB"); // 명령
}

else

if의 조건이 false일 때

if () // 조건
System.out.println(""); // 명령문
else // 조건이 false일때
System.out.println(""); // 명령문

또는

if () { // 조건
System.out.println(""); // 명령문
} else { // 조건이 false일때
System.out.println(""); // 명령문
}

else if

if의 조건이 여러개일 때

if () // 조건 1
System.out.println(""); // 명령문
else if () // 조건 2
System.out.println(""); // 명령문
else // 조건이 false일 때
System.out.println(""); // 명령문

또는

if () { // 조건 1
System.out.println(""); // 명령문
} else if () { // 조건2
System.out.println(""); // 명령문
} else { // 조건이 false일 때
System.out.println(""); // 명령문
}

switch

경우에 따른 분류

switch () { // 조건
case 1 : System.out.println(""); // 1일 때 명령문
break; // 생략가능
case 2 : System.out.println(""); // 2일 때 명령문
break;
case 3 : System.out.println(""); // 3일 때 명령문
break;
default : System.out.println(""); // 아무것도 해당이 안될때, 생략가능
}

int menu = 2;
switch (menu) {
case 1 : System.out.println("");
break;
case 2 : System.out.println("");
break;
case 3 : System.out.println("");
break;
default : System.out.println("");
}

for

반복문

for (선언; 조건; 증감)
명령문

또는 중괄호 넣어서

for (int i = 0; i < 5; i++) {
System.out.println("");
}

while

반복문

while (조건)
명령문

또는 중괄호 빼고

int i = 0;
while (i < 5) {
System.out.println("");
i++;
}

do while

반복문

do
명령문
while (조건);

do { // do 에 있는 명령어는 최초 1회는 실행됨
System.out.println("");
System.out.println("");
} while (조건);

이중 반복문(nested loop)

 반복문의 중첩

for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("hi");
}
}

/*
출력결과 2 * 3 = 6회
hi
hi
hi
hi
hi
hi
*/

break

반복문 탈출

for (int i = 0; i < 5; i++) {
if (i==3)
break; // i가 3이 될 경우 반복문 종료
System.out.println("");
}

continue

반복문 건너뛰기

for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 반복 회차 건너뛰기
}
System.out.println("");
}

배열(array)

같은 자료형의 값 여러 개

// 자료형[] 변수명 = new 자료형[크기];
int[] numbers = new int[5];
String[] names = new String[3];

// 변수명[인덱스] = 값;
numbers[0] = 1;
numbers[1] = 5;
numbers[2] = 10;
numbers[3] = 15;
numbers[4] = 20;

// 자료형 변수명[] = new 자료형[크기];
int numbers[] = new int[5];
String names[] = new String[3];

// 배열 만듦과 동시에 초기화
// 자료형[] 변수명 = new 자료형[] {값1, 값2, ...}
int[] numbers = new int[] {1,2,3,4,5};
String names[] = new String[] {"A", "B", "C"};

// new 자료형[] 부분도 생략도 가능
int[] numbers = {1,2,3,4,5};

배열 순회(for each)

반복문을 이용해 각 인덱스에 접근

/*
for (int i = 0; i < 배열.length; i++) {
... // 배열[i]
}
*/

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

for(int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}

// 또는

for (int i : numbers) {
System.out.println(i);
}

다차원 배열(mulit dimensional array)

2차원 이상의 배열

변수명[인덱스] = 값;

int[] numbers = new int[5];
numbers[0] = 1;
numbers[1] = 5;
numbers[2] = 10;

1차원 배열 (선)

1 2 3 4 5

2차원 배열 (면)

1 2 3 4 5
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35

3차원 배열 (입체)

...

/*
다차원 배열
자료형[][] 변수명 = new 자료형[세로][가로];
*/

int[][] numbers = new int[2][5];
(0,0) (0,1) (0,2) (0,3) (0,4)
(1,0) (1,1) (1,2) (1,3) (1,4)

이러한 형태의 2차원 배열 생성 여기서

numbers[0][2] = 3;
(0,0) (0,1) 3 (0,3) (0,4)
(1,0) (1,1) (1,2) (1,3) (1,4)

이러한 형태로 배열

// 배열생성과 동시에 초기화

int[][] numbers = new int[][] {
{1,2,3,4,5},
{6,7,8,9,10},
};

다차원 배열 순회

/*
for (int i = 0; i < 세로; i++) {
for (int j = 0; j < 가로; j++) {
... // 배열[i][j]
}
}
*/

int[][] numbers = new int[][] {
{1,2,3,4,5},
{6,7,8,9,10},
}
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < numbers[i].length; j++) {
System.out.println(numbers[i][j]);
}
}