조건문, 반복문

Dec 14, 2023
조건문, 반복문

조건문

if-else

import java.util.Scanner; public class EvenOdd { public static void main(String[] args) { int number; Scanner sc = new Scanner(System.in); System.out.println("정수를 입력하시오: "); number = sc.nextInt(); if (number % 2 == 0) { System.out.println("입력된 정수는 짝수입니다."); }else { System.out.println("입력된 정수는 홀수입니다."); } } }
💡
// 정수는 값을 할당하지 않으면 0이 된다.

다중 if-else문

import java.util.Scanner; public class Nested { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("정수를 입력하시오: "); int number = sc.nextInt(); if (number > 0) { System.out.println("양수입니다."); }else if (number < 0) { System.out.println("음수입니다."); }else { System.out.println("0입니다."); } } }
import java.util.Scanner; public class RockPaperScissor { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("가위(0), 바위(1), 보(2): "); int user = sc.nextInt(); int computer = (int) (Math.random() * 3); if (user == computer) { System.out.println("무승부"); } else if (user == (computer + 1) % 3) { System.out.println("인간: " + user + " " + "컴퓨터: " + computer + " user win"); }else { System.out.println("인간: " + user + " " + "컴퓨터: " + computer + " computer win"); } } }
💡
Math.radom() → 랜덤 코딩
 

반복문

while

import java.util.Scanner; public class NestedWhile { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true){ System.out.print("정수를 입력하시오: "); int number = sc.nextInt(); if (number > 0) { System.out.println("양수입니다."); }else if (number < 0) { System.out.println("음수입니다."); }else { System.out.println("0입니다."); } } } }
끝이 없는 식 → break를 걸지 않았기 때문
 
import java.util.Scanner; public class NestedWhile { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true){ System.out.print("정수를 입력하시오: "); int number = sc.nextInt(); if (number == 99){ break; } if (number > 0) { System.out.println("양수입니다."); }else if (number < 0) { System.out.println("음수입니다."); }else { System.out.println("0입니다."); } } } }
끝이 있는 식 → break로 종료
 
  • != -1이 아니면 반복, -1이면 반복문 정지
import java.util.Scanner; public class GetSum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0, value = 0; while (value != -1){ sum += value; System.out.print("정수입력: "); value = sc.nextInt(); } System.out.println("sum is " + sum); } }
💡
관계 연산자 → (value != -1)
 
  • break로 반복문 빠져나오기
import java.util.Scanner; public class GetSumBreak { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0, value = 0; while (true){ sum += value; System.out.print("정수입력: "); value = sc.nextInt(); if (value == -1){ break; } } System.out.println("sum is " + sum); } }
import java.util.Scanner; public class AveragerWhile { public static void main(String[] args) { int total = 0, count = 0; Scanner sc = new Scanner(System.in); while (true){ System.out.print("input score: "); int grade = sc.nextInt(); if (grade < 0){ break; } total += grade; count ++; } System.out.println("Your averager" + total / count); } }
💡
break: 현재 반복문을 나가게 되는 것 continue: 아래 식을 건너뛰고 다시 반복
 

for

public class ForExample01 { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println("i의 값은: " + i); } } }
public class Sum { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 10; i ++) sum += i; System.out.println("1~10 정수의 합 = " + sum); } }
💡
증감 연산자 i++ ⇒ i+1 i -- ⇒ i -1
💡
sum += i; ⇒ sum = sum + i
 
  • 팩토리얼 계산 (n! = 1 * 2 * 3 * … * n)
import java.util.Scanner; public class Factorial { public static void main(String[] args) { long fact = 1; System.out.print("정수 입력: "); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 1; i <= n ; i++) { fact = fact * i; System.out.printf("%d!은 %d입니다.\n", n, fact); } } }
💡
printf(%d) ⇒ 정수 출력 \n ⇒ 줄바꿈

이중 for

  1. 2~9단까지 출력되는 프로그램
public class GugudanEx01 { public static void main(String[] args) { for (int k = 2; k < 10 ; k++) { for (int i = 1; i < 10; i++) { int d = k * i; System.out.printf("%d * %d = %d\n", k, i, d); } } } }
notion image
1 - 1) 표
public class GugudanEx02 { public static void main(String[] args) { for(int k = 1; k < 10; k++) { for (int i = 2; i < 10; i++) { int d = i * k; System.out.printf("%d * %d = %d\t", k, i ,d); } System.out.println(); } } }
notion image
💡
\t ⇒ 줄 맞춤
 
  1. 스캐너를 이용하여 입력받은 단만 출력
import java.util.Scanner; public class GugudanEx03 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("단: "); int num = sc.nextInt(); int x; int i = 0; while (i<9){ i++; x = num * i; System.out.printf("%d * %d = %d\n", num, i, x); } } }
notion image
 
Share article

from-web-developer