천천히 빛나는

Java 기초 : 제어문 본문

JAVA/JAVA

Java 기초 : 제어문

까만콩 •ᴥ• 2023. 7. 25. 20:57

if - else if 문

if (조건식1) {
	수행문;
	...
} else if(조건식2) {
	수행문;
	...
} else {
	수행문;
	...
}

기본 문법은 다음과 같다

 

public class Application1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("정수 하나를 입력하세요: ");
        int num = sc.nextInt();
        
        if (num == 0) {
            System.out.println("입력하신 숫자는 0 입니다");
        }
        else if (num % 2 == 0){
            System.out.println("입력하신 숫자는 짝수입니다");
        }
        else {
            System.out.println("입력하신 숫자는 홀수입니다.");
        }
    }
}

이와 같이 if - else if - else를 사용할 수 있다

 

public class Lang_05 {
    public static void main(String[] args) {

        int a = 10;
        int b = 20;
        System.out.println((a > b) & (b > 0));

        System.out.println((a += 10) > 15 | (b -= 10) > 15); // true
        System.out.println("a = " + a + ", b = " + b); // a = 20, b = 10

        a = 10;
        b = 20;
        System.out.println((a += 10) > 15 || (b -= 10) > 15); // true
        System.out.println("a = " + a + ", b = " + b); // a = 20, b = 20
    }
}

하나짜리 연산자는 일찍 결정되어도 뒤에꺼까지 계산을 한다. or에서 앞에꺼가 true이면 뒤에 값과 상관없이 항상 True가 나오게 되는데 |이면 뒤에도 연산하고 ||은 뒤에 연산은 안한다.

 

 

switch 문

switch(비교할변수) {
	case 비교값1 : 
		비교값1과 일치하는 경우 실행할 구문; 
		break;
	case 비교값2 : 
		비교값2와 일치하는 경우 실행할 구문; 
		break;
	default : 
		case에 모두 해당하지 않는 경우 실행할 구문; 
		break;
}

기본 문법은 다음과 같다.

비교할 변수에는 int 이하의 값들만 들어갈 수 있다. char, short, char, int만 들어갈 수 있게 된다.

.

public class Application1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("첫번째 정수 입력: ");
        int first = sc.nextInt();
        System.out.print("두번째 정수 입력: ");
        int second = sc.nextInt();
        System.out.print("세번째 정수 입력: ");
        int third = sc.nextInt();
        System.out.print("연산 기호 입력(+, -, *): ");
        char op = sc.next().charAt(0);

        int result = 0;
        switch (op) {
            case '+' :
                result = first + second;
                break;
            case '-':
                result = first - second;
                break;
            case '*':
                result = first * second;
                break;
            default:
                System.out.println("연산자 오류");
        }
    }
}

break를 사용하지 않으면 그 밑으로 쭉 실행되기 때문에 break를 사용해주어서 구현해야 한다

 

 

반복문

- for문

public class Application1 {
    public static void main(String[] args) {
        for (int i = 1; i<=1000; i++) {
            System.out.println(i);
        }
    }
}

 

- while 문

Scanner sc = new Scanner(System.in);
String answer = "";
while(!(answer.equals("y"))) {
		System.out.print("종료하고 싶다면 y를 입력하세요: ");
		answer = sc.next();
}

 

 

String은 클래스인데 클래스는 메소드를 가지고 있다. equals라는 메소드를 사용해서 문자열이 같은지 판별을 한다

charAt(): 문자열에서 인덱스에 해당하는 문자를 char 형으로 반환하는 기능

length(): 문자열의 길이를 int형으로 반환하는 기능

 

 

- for문 VS while문

public class Application1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("문자열 입력: ");
        String str = sc.nextLine();

        System.out.println("===for 문===");
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            System.out.println(i + "번째 인덱스: " + ch);
        }

        System.out.println("===while 문===");
        int i = 0;
        while(i< str.length()) {
            char ch = str.charAt(i);
            System.out.println(i + "번째 인덱스: " + ch);
            i++;
        }
    }
}

 

 

- do-while 문

초기식;

do {
     1회차에는 무조건 실행하고, 이후에는 조건식을 확인하여 조건을 만족하는 경우 수행할 구문(반복할 구문);
     증감식;
} while(조건식);

 

 

 

분기문

- break

Public static void main(String[] args) {
        System.out.println("===while 문===");
        int i = 0;
        while(true) {
            if(i == 100) {
                break;
            }
            i++;
        }
}

가장 가까이에 있는 반복문만 빠져나간다

 

 

- continue

public static void main(String[] args) {
       for(int i = 1; i<=100; i++){
           if(!(i%4==0 && i%5==0)){
               continue;
           }
           System.out.println(i);
       }
}

4의 배수, 5의 배수가 아니면 반복문의 나머지를 건너뛰고 다음 반복을 진행하게 된다

'JAVA > JAVA' 카테고리의 다른 글

Java 기초 : 정리본 (1)  (0) 2023.07.27
Java 기초 : 배열  (0) 2023.07.27
Java 기초 : 메소드와 API  (0) 2023.07.25
Java 기초 : 변수  (0) 2023.07.21
IntelliJ : 프로젝트 생성 (Hello World 출력)  (0) 2023.07.18