1. 반복문 (for)
for
: 특정 조건을 만족할 때까지 주어진 명령문 반복 실행
실행 순서
- 초기화
- 조건식
- 조건식이 참일 경우 문장 수행
- 증감식
- 조건식이 거짓이 될 때까지 반복
class Control3_2 {
public static void main(String[] args) {
// 1번
for (int i = 1; i <= 10; i = i * 2) {
System.out.println("1번 i는 현재 " + (i) + "입니다.");
}
System.out.println();
// 2번
for (int i = 10; i >= 1; i--) {
System.out.println("2번 i는 현재 " + (i) + "입니다.");
}
}
}
class Control3_3 {
public static void main(String[] args) {
// 초기화 시 변수 2개 사용 가능. 단, 타입이 같아야 함
for (int i = 1, j = 10; i <= 10; i++, j--) {
System.out.println("i는 현재 " + (i) + "입니다.");
System.out.println("j는 현재 " + (j) + "입니다.");
}
System.out.println();
// 이렇게 변수 2개를 사용하여 조건식을 구성할 수 있음
for (int k = 1, t = 10; k <= 10 && t > 2; k++, t--) {
System.out.println("k는 현재 " + (k) + "입니다.");
System.out.println("t는 현재 " + (t) + "입니다.");
}
}
}
중첩 for문
public class Control3_4 {
public static void main(String[] args) {
for(int i=2; i<=9; i++) {
System.out.println(i + "단 시작합니다.");
for(int j=1; j<=9; j++) {
System.out.println("j는 현재 " + (j) + "입니다.");
System.out.println(i + " * " + j + " = " + i*j);
}
}
}
}
for each문
public class Control3_5 {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5};
for(int e : arr) {
System.out.print(e + " ");
}
}
}
→ 배열 arr의 길이만큼 arr배열의 값들을 변수 e에 저장하고 for each문 안의 명령문을 반복해 실행하는 것
2. 임의의 정수 만들기
Math.random()
: 0.0과 1.0 사이의 임의의 double 값을 반환. Math클래스의 메서드
https://mstudy-recode.tistory.com/18
예를 들어, 1부터 5사이의 랜덤한 정수 값을 얻고 싶다면 아래와 같은 방법들을 참고하면 된다.
- 0.0 * 5 <= Math.random() * 5 < 1.0 * 5
- (int)0.0 <= (int)(Math.random() * 5) < (int)5.0
- 0 + 1 <= (int)(Math.random() * 5) + 1 < 5 + 1
- 1 <= (int)(Math.random() * 5) + 1 < 6
public class Control4_1 {
public static void main(String[] args) {
for(int i=0; i<20; i++) {
// 1.
//System.out.println((int)Math.random()*10 + 1);
// 2.
System.out.println((int)(Math.random()*11) - 5);
}
}
}
3. 반복문 (while)
while
: 특정 조건을 만족할 때까지 계속해서 주어진 명령문 반복 실행
실행순서
- 조건식
- 조건식이 참일 경우 문장 수행
- 조건식이 거짓이 될 때까지 반복
public class Control5_2 {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while(sum <= 100) {
System.out.println("i = " + i);
System.out.println("sum = " + sum);
sum += ++i;
}
}
}
4. 반복문 (do - while)
do while 문
: 특정 조건을 만족할 때까지 계속해서 주어진 명령문 반복 실행
루프에 진입하기 전 조건식부터 검사하는 while문과는 do while문은 달리 루프를 한 번 실행 후 조건식을 검사한다.
(결과와 상관없이 무조건 한 번은 루프를 실행)
실행순서
- 처음 한 번은 무조건 실행
- 조건식
- 조건식 이 참일 경우 문장 수행
- 조건식이 거짓이 될 떄까지 반복
public class Control5_3 {
public static void main(String[] args) {
int j=1;
do {
System.out.println("do / while 문이" + j + "번째 반복 실행중입니다.");
j++;
} while (j<20);
System.out.println("do / while 문이 종료된 후 변수 j의 값은 " + j + "입니다.");
}
}
5. break
break
: 자신이 포함된 하나의 반복문을 벗어남
public class Control6_1 {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while(true) {
if(sum > 100) {
break;
}
++i;
sum += i;
}
System.out.println("i = " + i);
System.out.println("sum = " + sum);
}
}
6. continue
continue
: 자신이 포함된 반복문의 끝으로 이동 후 다음 반복으로 넘어감
public class Control6_2 {
public static void main(String[] args) {
for(int i=0; i<=10; i++) {
if(i % 3 == 0) {
continue;
}
System.out.println("i = " + i);
}
}
}
7. 이름 붙은 반복문
이름 붙은 반복문
: 여러 개의 반복문이 중첩되어 있을 경우 반복문에 이름을 붙이고 break문과 continue 문에 이름을 지정해 하나 이상의 반복문을 벗어남
class Control6_4 {
public static void main(String[] args) {
int i = 2;
allLoop :
while (true) {
for (int j = 1; j < 10; j++) {
if (i == 5) {
break allLoop;
}
System.out.println(i + " * " + j + " = " + (i * j));
}
i++;
}
}
}
class Control6_5 {
public static void main(String[] args) {
allLoop : for (int i = 2; i < 10; i++) {
for (int j = 1; j < 10; j++) {
if (i == 5) {
continue allLoop;
}
System.out.println(i + " * " + j + " = " + (i * j));
}
}
}
}
'내일배움캠프(Sparta) > Java Handbook' 카테고리의 다른 글
[Java Handbook] Part 4-2 (0) | 2023.09.12 |
---|---|
[Java Handbook] Part 4-1 (0) | 2023.09.12 |
[Java Handbook] Part 3-1 (0) | 2023.09.12 |
[Java Handbook] Part 2-2 (0) | 2023.09.12 |
[Java Handbook] Part 2-1 (0) | 2023.09.12 |