- 조건문
- if내부의 조건이 맞으면 실행
✔️ 사용 예시 #1
int num = 5; if(num > 0) { System.out.println("num은 0보다 큽니다."); }
✔️ 사용 예시 #2
int n = 90; if(n == 100) { System.out.println("A+입니다."); }else if(n >= 90){ System.out.println("A입니다."); }else if(n >= 80) { System.out.println("B입니다."); }else if(n >= 70) { System.out.println("C입니다."); }else { System.out.println("재시험입니다."); }
❗❗❗ str을 비교할 때는 equals를 사용해야 한다.
String str1 = "안녕하세요"; String str2 = "안녕"; str2 += "하세요"; if(str1 == str2) { System.out.println("같은 문자입니다."); }else { System.out.println("다른 문자입니다."); } //equals사용해야함 if(str1.equals(str2)) { System.out.println("같은 문자 입니다. equals사용"); }
- 실행결과
- if 와 비슷하다
- 값이 명확해야 한다.
- break를 이용해서 해당 조건이 실행된 후 빠져나가도록 한다.
✔️ 사용 예시
int num = 2; switch(num) { case 1: System.out.println("num = 1"); break; case 2: System.out.println("num = 2"); break; case 3: System.out.println("num = 3"); break; default: System.out.println("num은 1, 2 아님"); break;
- loop문, 순환문, 반복문
- 지정 회수에 따라서 반복하는 제어문
✔️ 사용 예시 #1
int n; for(n = 0; n < 2; n++) { System.out.println(n); }
✔️ 사용 예시 #2
가운데 조건을 쓰지 않으면 무한 루프가 된다.
//endless loop for(int i = 0; ;i++) { System.out.println(i+" "); }
✔️ 사용 예시 #3
for each로 다른 형태로도 사용이 가능하다.
//for each for(int num : numArr) { System.out.print(num+" "); }
✔️ 사용 예시 #4
2중 for문
int array2[][] = { {11,12,13,14}, {21,22,23,24}, {31,32,33,34} }; for(int i=0; i<array2.length; i++) { for(int j=0; j<array2[i].length; j++) { System.out.print(array2[i][j]+" "); } System.out.println(); }
✔️ 사용 예시 #5
초기화와 증감을 아래처럼 따로 써주어도 잘 작동한다.
int i; i=0; for( ;i<10; ) { System.out.println("for loop"+i); i++; }
- for문과 비슷한 반복문이다.
✔️ 사용 예시 #1
for 문과 달리 조건만 쓸 수 있어서 초기화와 증감을 따로 해주어야 한다.
int w; w = 0; while(w<10) { System.out.println(w); w++; }
✔️ 사용 예시 #2
for문처럼 2중으로 사용 가능하다.
하지만 아래 예시처럼 구구단을 출력하려면 num2 초기화에 주의해야 한다.
=> num2를 while문 밖에 선언하면 num2가 이미 증가해서 num1=2일때, 내부 while문이 실행되지 않는다.int num1, num2; num1 = 1; while(num1<10) { num2 = 1; while(num2<10) { System.out.println(num1 +"x"+num2+"="+num1*num2); num2++; } System.out.println(); num1++; }
- 탈출, escape
- switch, for, while, do while과 함께 사용된다.
✔️ 사용 예시 #1
i = 5인 경우에 break가 실행되므로 for문은 10번이 실행되지 않고 바로 종료된다.
for(int i = 0; i < 10; i++) { System.out.println("for loop"+i); if(i == 5) { break; } }
✔️ 사용 예시 #2
2중 for문을 종료하는 방법
- loop문의 개수의 맞게 break를 설정한다.
boolean b = false; for(int i=0; i<10; i++) { System.out.println("i="+i); for(int j=0; j<10; j++) { System.out.println("\tj="+j); if(i == 5 && j == 3) { b = true; break; } } if(b) { break; } }
- break를 셋팅한다.
- chu_out부분을 원하는 단어로 만든다.
- break뒤에 함께 사용하면 해당 반복문을 전체 종료하는 역할을 한다.
- 반복문이 여러개여도 종료 가능하다.
chu_out: for(int i=0; i<10; i++) { System.out.println("i="+i); for(int j=0; j<10; j++) { System.out.println("\tj="+j); if(i == 3 && j == 5) { break chu_out; } } }
- 생략, skip
- loop문과 함께 사용한다.
- 반복문이 종료되는 것이 아닌 continue 이후가 실행되지 않는다.
✔️ 사용 예시 #1
for(int i=0; i<5; i++) { System.out.println("i="+i); System.out.println("for start"); if(i>3) { continue; } System.out.println("for end"); }
결과:
✔️ 사용 예시 #2
❗ while문에서 사용할 때 w++를 아래에 써주면 실행이 안돼서 무한 루프가 될 수 있다.
//무한 루프가 만들어짐 => continue가 있어서 w++;가 실행되지 않음 int w = 0; while(w<10) { System.out.println("w="+w); System.out.println("while start"); if(w>3) { continue; } System.out.println("while end"); w++; }