for (초기화;조건식;증감식;) {
// 조건식이 true일 때 수행될 문장들을 적는다.
}
주석으로 설명..
package ch04;
public class S09 {
public static void main(String[] args) {
// int i = 1;
// while (i <= 100000) {
// System.out.println(i);
// // 보통 기준이 되는 변수를 내부에서 조작 해야한다.
// i++;
// }
// 소괄호 첫번째 == 반복 변수 설정
// 소괄호 두번째 == 반복 종료 조건
// 소괄호 세번째 == 반복 변수 값 조정
// 소괄호 조건들은 세미콜론으로 나뉜다
for(int i = 1; i < 100; i++){
// for문 내부는 while과 똑같이
// break, continue 사용 가능
}
// 무한반복
// for(;;) {
// }
}
}
주석으로 설명..
package ch04;
public class S10 {
public static void main(String[] args) {
// 1에서 100까지 더해주세요
int result = 0;
for (int i = 1; i < 101; i++) {
result = result + i;
}
System.out.println(result); // 5050
// 2에서 100까지 짝수만 더해주세요
int result1 = 0;
for (int i = 2; i < 101; i = i + 2) {
result1 = result1 + i;
}
System.out.println(result1); // 2550
}
}
주석으로 설명..
package ch04;
public class S12 {
public static void main(String[] args) {
// for. while 문을 이용해서 별찍기
// "*****" 안됨 "*" 이걸루
// 1번문제
// *****
// *****
// *****
// *****
// *****
System.out.println("1번문제");
for (int i = 1; i < 6; i++) {
for (int j = 1; j < 6; j++) {
System.out.print("*");
}
System.out.println("");
}
for (int i = 1; i < 6; i++) {
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.println("*");
}
// 2번문제
// *
// **
// ***
// ****
// *****
System.out.println("2번문제");
for (int i = 1; i < 6; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("------------------");
// 3번문제
// *****
// ****
// ***
// **
// *
System.out.println("3번문제");
for (int i = 1; i < 6; i++) {
for (int j = 6; j > i; j--) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("-----------");
for (int i = 5; i < 0; i++) {
System.out.println("*".repeat(i));
}
// 4번문제
// *****
// ***
// *
System.out.println("4번문제");
for (int i = 1; i < 4; i++) {
if(i == 1){
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.println("*");
}
else if(i == 2){
System.out.print(" ");
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.println("");
}
else{
System.out.print(" ");
System.out.print(" ");
System.out.print("*");
System.out.print("");
System.out.println("");
}
}
// 5번문제
// *****
// * *
// * *
// * *
// *****
System.out.println("5번문제");
System.out.println("---------");
for (int i = 1; i < 6; i++) {
if (i >= 2 && i <= 4) {
System.out.print("*");
System.out.print(" ");
System.out.print(" ");
System.out.print(" ");
System.out.println("*");
}
else{
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.print("*");
System.out.println("*");
}
}
}
}
주석으로 설명..
package ch04;
public class S13 {
public static void main(String[] args) {
// for (int i = 0; i < 5; i++) {
// System.out.print(i);
// System.out.print("-");
// for (int j = 0; j < 5; j++) {
// System.out.print(j);
// }
// System.out.println();
// }
// for (int i = 0; i < 5; i++) {
// for (int j = 0; j < 5; j++) {
// System.out.print("*");
// } // *****
// System.out.println(); // 엔터(개행)
// }
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(i * j);
System.out.print(" / ");
}
System.out.println();
}
}
}
주석으로 설명..
package ch04;
public class S14 {
public static void main(String[] args) {
// 이중 for문
// repeat 없이
// "*"
// 2번문제
// *
// **
// ***
// ****
// *****
System.out.println("2번문제");
for (int i = 1; i < 6; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println("");
}
// 4번문제
// *****
// ***
// *
System.out.println("4번문제");
for (int i = 1; i < 6; i+=2) {
for (int j = 1; j < i; j+=2) {
System.out.print(" ");
}
for (int j = 6; j > i; j--) {
System.out.print("*");
}
System.out.println();
}
// 구구단
// 2 X 1 = 2
// ...
// 9 X 1 = 9
System.out.println("구구단");
for (int i = 2; i < 10; i++) {
for (int j = 1; j < 10; j++) {
System.out.println(i + "X" + j + "=" + i*j);
}
System.out.println("");
}
}
}
while(조건식) {
// 조건식의 연산결과가 true일 때 수행될 문장들을 적는다.
}
주석으로 설명..
package ch04;
public class S05 {
public static void main(String[] args) {
// 소괄호 안의 조건이 false가 될때까지
// 무한반복한다
// 소괄호 안에는 true나 false만 만 들어갈 수 있다.
while(true){
// 중괄호 안에는 반복할 코드를 작성한다.
// 어떤 조건에 따라 내부에서 반복을 멈추려면 break
// 어떤 조건에 따라 현재 위치에서 다음 반복으로
// 넘어갈 경우에는 continue를 사용한다.
}
}
}
주석으로 설명..
package ch04;
public class S06 {
public static void main(String[] args) {
// 보통 while은 기준이 되는 외부의 변수가 필요하다
int i = 1;
while (i <= 100000) {
System.out.println(i);
// 보통 기준이 되는 변수를 내부에서 조작 해야한다.
i++;
}
}
}
주석으로 설명..
package ch04;
public class S07 {
public static void main(String[] args) {
// 터미널에서 ctrl + c로 강제 종료할 수 있다.
int i = 1;
while (true) {
// if (i > 1000) {
// // while문 내부에서 반복을 멈출 때 사용
// System.out.println("반복종료 " + i);
// break;
// }
System.out.println(i);
// if (i > 1000) {
// // while문 내부에서 반복을 멈출 때 사용
// System.out.println("반복종료 " + i);
// break;
// }
i++;
if (i > 1000) {
// while문 내부에서 반복을 멈출 때 사용
System.out.println("반복종료 " + i);
break;
}
}
// break문에 따라 값이 달라지니 잘 써야함
}
}
주석으로 설명..
package ch04;
public class S08 {
public static void main(String[] args) {
// continue
int i = 1;
// while (i < 1000) {
// if (i % 2 == 0) {// 이 조건에만 sout 작동하겠다
// System.out.println(i); // 짝수
// }
// }
while (i < 1000) {
i++;
if (i % 2 == 0) {// 이 조건에서는 sout 작동 안하겠다.
// continue를 사용한 위치에서 현재 반복회차를 중지한다.
// 다음 반복으로 넘어간다
continue; // 배치 위치를 잘 지정해야한다.
// if코드안에서만 반복도는 거임
// continue 아래의 코드들은 삭제가 되는 것
}
System.out.println(i); // 홀수
}
}
}
주석으로 설명..
package ch04;
public class S08Quiz {
public static void main(String[] args) {
// 1000 ~ 1 사이의 숫자 중에서
// 5의 배수만 제외하고 출력하시오
// 101미만이 되면 작동을 멈추시오
int i = 1000;
// 내가 푼 방식
while (i > 101) {
if (i % 5 == 0) {
continue;
}
i--;
System.out.println(i);
}
// 강사님이 푼 방식
while (i > 0) {
if (i < 101)
break;
if (i % 5 != 0)
System.out.println(i);
i--;
}
}
}
주석으로 설명..
package ch04;
public class S11 {
public static void main(String[] args) {
// do while 무조건 1번은 작동되어야 한다.
int i = 1;
do {
System.out.println(i);
i++;
} while (i < 11);
}
}
- 자신이 포함된 하나의 반복문 또는 switch문을 빠져 나온다
- 주로 if문과 함께 사용해서 특정조건을 만족하면 벗어난다.
- 자신이 포함된 반복문의 끝으로 이동한다.(다음 반복으로 넘어간다.)
- continue문 이후의 문장들은 수행되지 않는다.