[Java] 조건문과 반복문

오연주·2022년 11월 10일
0

Java

목록 보기
3/7
post-thumbnail

📘 4. 조건문과 반복문

Math.random() 메소드

  • 0.0과 1.0사이에 속하는 double 타입의 난수 하나를 리턴함(1.0은 범위에 포함되지 않음)

📌 for문 초기화식 생략

// 초기화를 따로 빼본적이 없어서 처음앎
int i = 1;
for(; i<=100; i++) {
}

for문 초기화식, 증감식이 2개이상일 때

for(int i = 0, j = 100; i <= 50 && j >= 50; i++, j--) {
}

for문 작성시 주의할 점

  • 초기화식에서 루프 카운터 변수를 선언시 부동 소수점을 쓰는 float 타입을 사용하지 말아야 한다는 것

do-while문

  • 블록 내부의 실행문을 우선 실행하고 실행결과에 따라서 반복실행을 계속할지 결정하는 반복문 (일단 한 번 돌기~)

📌 반복문에 이름(라벨)붙이기

  • 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(라벨)을 붙이고 break 라벨이름;을 사용하면 된다.
    Label: for() {
    	for() {
    		break Label;
        }
    }

❓ Q. while문과 Math.random() 메소드를 이용해서 2개의 주사위를 던졌을 때 나오는 눈을 출력하고, 눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요.

public class chap4 {
    public static void main(String[] args) {
        while(true) {
            int dice1 = (int)(Math.random() * 6) + 1;
            int dice2 = (int)(Math.random() * 6) + 1;

            System.out.println(dice1 + ", " + dice2);

            if (dice1 + dice2 == 5) {
                break;
            }
        }
    }
}

❓ Q. 중첩 for문을 이용하여 방정식 4x + 5y = 60의 모든 해를 출력하시오. (단, x와 y는 10이하의 자연수입니다.)

public class chap4 {
    public static void main(String[] args) {
        for(int x = 1; x <= 10; x++) {
            for(int y = 1; y <= 10; y++){
                if(4 * x + 5 * y == 60) {
                    System.out.println(x + ", " + y);
                }
            }
        }
    }
}

❓ 아래 사진처럼 별을 출력해보세요.

public class chap4 {
    public static void main(String[] args) {
        for (int i = 1; i < 5; i++) {
            for (int j = 4; j > 0; j--) {
                if (i < j) {
                    System.out.print(" ");
                } else {
                    System.out.print("*");
                }
            }
            System.out.println("");
        }
    }
}

❓ while문과 Scanner을 이용해서 아래와 같은 실행결과가 나오게 코딩해보세요.

//책에서는 nextLine()을 사용하라 했지만 간단한 코드를 위해 nextInt()를 사용했다.
import java.util.Scanner;

public class chap4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean run = true;
        int balance = 0;

        while (run) {
            System.out.println("1. 예금, 2. 출금, 3. 잔고, 4. 종료");
            System.out.print("선택 > ");

            int str = sc.nextInt();

            switch (str) {
                case 1:
                    System.out.print("예금액 > ");
                    balance += sc.nextInt();
                    break;

                case 2:
                    System.out.print("출금액 > ");
                    balance -= sc.nextInt();
                    break;

                case 3:
                    System.out.println("잔고 > " + balance);
                    break;

                case 4:
                    run = false;
                    break;
            }
        }
        System.out.println("프로그램 종료");
    }
}

✅ 2022.11.10.(목)

항해99 Pre-Onboarding 4일차!
오늘 스터디 시간에는 혼공자 책으로 4챕터 조건문과 반복문을 배웠다! 오랜만에 별찍기를 시도해봤는데 헷갈려서 당황했답ㅋㅋㅋ 확실히 자바가 파이썬보다는 신경쓸게 많아보이지만 직관적이여서 덜 헷갈린다고 생각한다. 빨리 본과정에 들어가서 더 자바에 익숙해지고 싶다~.~ 💪

profile
안녕하세요. 오연주입니다!👩🏻‍🚀

0개의 댓글