[Java]조건문과 반복문

박진우·2022년 9월 5일
0

[Java]자바의 기초

목록 보기
4/16

코드 실행 흐름 제어

정상적인 코드 실행 흐름

main() 메소드의 시작인 중괄호 { 에서 끝 중괄호 } 까지 위->아래방향으로 실행

제어문의 역할

코드 실행 흐름 을 개발자가 원하는 방향으로 변경할 수 있도록 도와줌

제어문의 종류

조건문

if문,switch문

반복문

for문, while문, do-while문

제어문의 중첩

제어문의 중괄호 내부에 다른 제어문 작성 가능

if문

조건식 결과에 따라 중괄호{} 블록을 실행할지 여부 결정할 때 사용

조건식

true또는 false 값을 산출할 수 있는 연산식
booelan 변수
조건이 true이면 블록을 실행,false이면 블록 실행하지 않음

public class TernaryOperatorEx {

	public static void main(String[] args) {
		int n1 = 5;
		int n2 =10;
		int max;
		
		if(n1 > n2) {	//조건식이 참일 때만 실행
			max = n1;
			System.out.println(max);
		}
    }

if-else문

조건식 결과에 따라 실행 블록을 선택

public class TernaryOperatorEx {

	public static void main(String[] args) {
		int n1 = 5;
		int n2 =10;
		int max;
		
		if(n1 > n2) {		//조건식이 참일때 실행
			max = n1;
			System.out.println(max);
		}else {				//조건식이 거짓 일 때 실행
			max = n2;
			System.out.println(max);
		}

if-else if-else 문

복수의 조건식 두어 조건식을 맊족하는 블록만 실행

 
public class Main {
 public static void main(String[] args) {
 	int A = 30;
 	if(A == 10) {		//A가 10일때
 		System.out.println("A는 10입니다");
 	}else if(A == 20) {	//A가 20일때
 		System.out.println("A는 20입니다");
 	}else {				//두가지 모두 거짓일때
 		System.out.println("A는 10도 20도 아닙니다");
 	}
    
 }  

}

중첩 if문

코드 실행 흐름을 이해하는 것이 가장 중요

public class Main {
public static void main(String[] args) {
	int score = 100;

	if (score >= 90) {
		if (score > 95) {	
			grade = "A+";
		} else {
			grade = "A";
		}
	
	}
}

Switch문

변수나 연산식의 값에 따라 실행문 선택핛 때 사용

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
     int month = sc.nextInt();
		
		switch(month) {
		case 1:
			System.out.println("1월 입니다.");
			break;
		case 2:
			System.out.println("2월 입니다.");
			break;
		case 3:
			System.out.println("3월 입니다.");
			break;
		case 4:
			System.out.println("4월 입니다.");
			break;
		case 5:
			System.out.println("5월 입니다.");
			break;
		case 6:
			System.out.println("6월 입니다.");
			break;
		case 7:
			System.out.println("7월 입니다.");
			break;
		case 8:
			System.out.println("8월 입니다.");
			break;
		case 9:
			System.out.println("9월 입니다.");
			break;
		case 10:
			System.out.println("10월 입니다.");
			break;
		case 11:
			System.out.println("11월 입니다.");
			break;
		case 12:
			System.out.println("12월 입니다.");
			break;
		default:
			System.out.println("잘못 입력했습니다.");
		}
	}
}

반복문

중괄호 블록 내용을 반복적으로 실행핛 때 사용

종류: for문, while문, do-while문

for문

for(초기값; 조건식; 증감연산){A}; => 조건식이 true인 동안에 A명령어를 반복
초기값과 마지막값이 결정되어 있는 경우에 많이 사용한다.

public class ForBasic {
	public static void main(String[] args) {
		int sum = 0;
		Scanner S = new Scanner(System.in);
        
		System.out.println("시작값과 최종값을 입력해주세요");
		int lastNum = S.nextInt();
		int startNum =S.nextInt();
		for (int i = startNum; i <= lastNum; i++) {
			sum+=i;
			
		}
        //시작값 startNum부터 lastNum까지의 합 출력
		System.out.println("'"+startNum+"'부터 '" + lastNum + "'까지의 합은 '"+sum+"' 입니다.");
		
	}
}

중첩 for 문:for 문 안에 for문이 있는 형태

public class Main {
	public static void main(String[] args) {
		System.out.println("구구단은 다음과 같습니다");
		
		for(int i = 2;  i<10;i++) {
			System.out.println(i+"단 출력 값");
			
			for(int num = 1; num<10;num++) {
				System.out.println(i + " * " + num+"= " + (i*num));
			}
			System.out.println();
		}
	}
}

while문

while(boolean: 조건식) {A;} => boolean 이 true인 동안에 A명령어를 반복 수행 초기값과 while문 조건식을 꼼꼼히 살펴볼 필요가 있음

public class Main {
	
	public static void main(String[] args) {
		
		//반복문 초기화
		int count = 0;
		//조건식 : count < 10
		while(count <10) {
			System.out.println("JAVA씨 존중합니다");
			count++;	/*
						while문의 조건식 결과를 false 로 만들어 줄 수 있음
						조건 증감 명령어
						*/
		}
     }
}

do~while문

do { A; } while(조건식) => 조건식이 true 인 동안에 A를 반복 실행

참고:while 문의 내부 명령어는 한번도 실행하지 않을 수 있다

public class Main {
	
	public static void main(String[] args) {
		int count = 0;
		
		do {
			System.out.println("반복문1");
			count++;
		}while(count<10);
   	}
}

		

break문

for문, while문, do-while문 종료 (반복 취소)
대개 if문과 같이 사용
if문 조건식에 따라 for문과 while문 종료핛 때 사용

public class Main {

	public static void main (String[] args) {
		Scanner in = new Scanner(System.in);
		int num = 0;
       // 무한 반복문
		while (true) {
			System.out.println("숫자를 입력해주세요");
			if (in.nextInt() == -1)	//-1이 입력될때까지 무한 반복
				break; 
			num++;
			}
		System.out.println("입력된 숫자 개수는 " + num);
	}
}

continue 문

for문, while문, do-while문에서 사용
for문: 증감식으로 이동
while문, do-while문: 조건식으로 이동

public class Main {
	
	public static void main(String[] args) {
		int sum = 0;
		for(int i= 1; i<=10;i++) {
			if(i%2 != 0) {
				continue;
			}
			sum+=i;
			
		}
		System.out.println("1~10까지의 짝수의 합 = " +sum);
	}
}

강의를 들은후 느낀점

이 날의 강의는 딱히 어려웠던 점은 없었다. 반복문과 조건문은 워낙에 많이 쓰는 탓에 편한 마음으로 들었던 기억이 난다.

profile
개발자를 꿈꾸는 사람입니다

0개의 댓글