제어문(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]);
}
}
'Java > Java Language' 카테고리의 다른 글
[Java 기초] 익명클래스 Anonymous, 람다 Lambda, 스트림 Stream (0) | 2024.11.28 |
---|---|
[Java 기초] 리스트 list (0) | 2024.11.28 |
[Java 기초] 클래스 class (0) | 2024.11.28 |
[Java 기초] 아스키코드 ascii code, 메소드 method (0) | 2024.11.26 |
[Java 기초] 자료형 type, 문자열 String, 정수 int, 실수 double (0) | 2024.11.26 |