자바 프로그래밍 (제어문, 분기문)

최주영·2023년 3월 8일
0

자바

목록 보기
4/30

우선 본격적인 제어문을 들어가기 앞서서 사용자에게 입력을 받을 수 있는 클래스를 먼저 정리하려고 한다.

Scanner

사용자로부터 입력되는 정수, 실수, 문자열을 처리하는 클래스

📌 사용방법
import 작성

import java.util.Scanner;

Scanner 생성

Scanner sc = new Scanner(System.in);

키보드 입력 값 받기

sc.nextInt();//정수
sc.nextFloat(); //실수 
sc.nextDouble(); // 실수
sc.next(); // 문자열
sc.nextLine();  // 문자열
sc.next().charAt(0); //*문자 

💡 next()는 띄어쓰기 입력불가, nextLine()은 문자열에 띄어쓰기 가능


조건문
종류 : if문, switch문

프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로 조건에 따라
다른 문장이 수행되도록 함

if문

if(조건식) {~}  // 조건식의 결과값이 true이면 내용 실행(o) false면 실행 x 
if(조건식){a}
else{b}	// 조건식의 결과값이 true이면 a 실행 false면 b실행
if(조건식){a}      // 조건식의 결과값이 true이면 a 실행
else if(조건식2){b} // 조건식 1이 맞지 않고 조건식2의 결과값이 true이면 b 실행 f
else{c} // 위 조건식들 모두 false면 c실행

switch문
정해진 값에 대해서 분기처리할때 사용하는 조건문
✅ 메뉴기능을 구현할 때 많이 사용함

✅ switch문의 ()안에는 변수, 변수의 연산결과를 작성

✅ int, String, char 자료형만 가능

✅ switch문의 ()안에는 double형 boolean형을 넣을 수 없음

//ex)
switch(num % 5) { //조건식의 결과 값과 일치하는 case문으로 이동
	case 1:     
		team = "1조";
		break;
	case 2:
		team = "2조";
		break;
	case 3:
		team = "3조";
		break;
	case 4:
		team = "4조";
		break;
	default: // default문은 일치하는 case문이 없을 때 수행
		team = "다시";
}

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

프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로 특정 문장들을
반복해서 수행하도록 함

for문

for(초기식; 조건식; 증감식) {
	수행될 문장;   
}  
// 1회전: 초기식 확인 후 조건식 확인
// 조건식이 true면 문장 수행
// 조건식이 false면 수행하지 않음
// 2회전: 증감식 연산 후 조건식 확인
// 조건식이 true면 문장 수행
// 조건식이 false면 수행하지 않음
// 2회전 이상부터는 모두 2회전과 동일하며 조건식이 fasle가 나올때까지 문장 수행
// 밑에 예시코드!
for(int i = 1; i <= 10; i++) {
	System.out.println(i + “ 출력");  // 1 ~ 10 출력됨
}

while문

while(조건식) { 
	수행될 문장; 
	[증감식 or 분기문]; 
}  
// 조건식이 true일 때 문장 수행 
// 문장 수행이 끝나면 조건식 다시 확인 후 true면 수행,
// 조건식이 false가 될 때까지 수행, 조건식이 false가 되면 반복문 종료
// 밑에 예시코드!
int i = 1;
while(i <= 10) {
	System.out.println(i + " 출력"); // 1~10출력
	i++;
}

do ~ while문

do {
		수행될 문장;
		[증감식 or 분기문];
} while(조건식);
// do 안의 내용 먼저 실행
// 조건식 확인 후 true면 문장 수행, false면 종료
// while 뒤에 ; 꼭 필요
// 밑에 예시코드!
int i = 1;
do {
	System.out.println(i + "출력"); // 1 ~ 10 출력
	i++;
} while(i <= 10);

💡 while과 do~while의 차이점
do~while은 조건문이 true가 아니더라도
무조건 한 번 이상 수행


분기문
종류 : break, continue

break

자신이 포함된 가장 가까운 반복문을 빠져나가는 구문
// 예시
for(int i = 1;; i++) {
	System.out.println(i + " 출력");
	if(i >= 10) {
	break;   // i값이 10보다 같거나 커지면 for 반복문 빠져나오기
   }
}

continue

* 반복문 실행 시 continue 아래 부분은 실행하지 않고 반복문 다시 실행 (반복문 내에서만 사용 가능)
* (for문의 경우 증감식으로 이동함) (while(do~while)문의 경우 조건식으로 이동)
// 예시
for(int i = 1; i <= 10; i++) {
		if(i % 2 == 0) {  // i 값이 짝수일때에는 밑에문장으로 가지 않고 다시 증감식으로 이동함 
		continue;
	}
	System.out.println(i + " 출력");
}```
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글