제 1 절 코드 실행 흐름 제어
- 정상적인 코드 실행 흐름
- main() 메소드의 시작 중괄호 { 에서 끝 중괄호 } 까지 위에서 아래 방향으로 실행
- 제어문의 역할
- 정상적인 코드 실행 흐름을 개발자가 원하는 방향으로 변결할 수 있도록 해준다.
- 제어문의 구성 요소
- 조건식 : 중괄호 내부를 실행할지 결정
- 중괄호 {} : 제어문의 실행 내용
- 제어문의 종류
- 조건문 : if문, switch문
- 반복문 : for문, while문, do-while문
- break문, continue문
- 제어문의 중첩
- 제어문의 중괄호 내부에 다른 제어문 작성 가능 : 다양한 흐름 발생
제 2 절 조건문
- if문
- 조건식 결과에 따라 중괄호 {} 블록을 실행할지 여부를 결정할 때 사용
- 조건식에는 true 또는 false 값을 산출 할 수 있는 연산식 또는 boolean 변수가 온다.
- 조건이 true이면 블록을 실행, false이면 실행 x
- if-else문
- 조건식의 결과에 따라 실행 블록을 선택한다.
- if-else if-else문
- 복수의 조건식을 두어 조건식을 만족하는 블록만 실행한다.
- 중첩 if문
- switch문
- 변수나 연산식의 값에 따라 실행문을 선택할 때 사용한다.
제 3 절 반복문
- 반복문
- 중괄호 블록 내용을 반복적으로 실행할 때 사용한다.
- for문
- 반복 횟수를 알고 있을 때 주로 사용
- for(①초기화식; ②조건식; ④증감식;){ ③실행문; }
- while문
- 조건에 따라 반복을 계속할지를 결정할 때 사용
- while(①조건식;){ ②실행문; }while문
- [참고] println()과 print()의 차이점 : println()은 행을 내리고 print()는 행을 내리지 않는다.
- [참고] System.in.read() 는 키보드의 키 코드 값을 읽는 메소드
- do-while문
- 조건에 따라 반복을 계속할지를 결정할 때 사용하는 것은 while문과 동일
- 무조건 중괄호 {} 블록을 한 번 실행하고, 조건을 검사하여 반복 결정
- do{ ①실행문; } while (②조건식);do-while문
- [참고] while문과 do-while문의 차이점: do-while문은 무조건! 한번 실행, while문은 조건보고.
- break문
- for문, while문, do-while문을 종료한다. (반복을 취소한다.)
- switch문을 종료한다.
- 대개 if문과 같이 사용되어 if문의 조건식에 따라 for문과 while문을 종료할 때 사용
- 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료
- 바깥쪽 반복문까지 종료시키려면 반복문에 이름(라벨)을 붙이고, “break 이름;”을 사용
- continue문
- for문, while문, do-while문에서 사용
- for문 : 증감식으로 이동
- while문, do-while문 : 조건식으로 이동
- for문, while문, do-while문에서 사용
[ 확인 문제 ]
1. 조건문과 반복문의 종류를 () 속에 넣어 보세요.
- 조건문 : (if문), (switch문)
- 반복문 : (for문), (while문), (do-while문)
2. 조건문과 반복문을 설명한 것중 틀린 것은?
① if문은 조건식의 결과에 따라 실행 흐름을 달리할 수 있다.
② switch문에서 사용할 수 있는 변수의 타입은 int, double이 될 수 있다.
③ for문은 카운터 변수로 지정한 횟수 만큼 반복시킬 때 사용할 수 있다.
④ break문은 switch문, for문, while문을 종료할 때 사용할 수 있다.
답 : ② double 불가능
3. for문을 이용해서 1부터 100까지의 정수 중에서 3의 배수의 총합을 구하는 코드를 작성해 보세요.
public class Exercise03 {
public static void main(String[] args){
int sum=0;
for(int i=1; i<=100; i++){
if(i%3==0){
sum+=i;
}
}
System.out.println("3의 배수의 합:"+sum);
}
}
4. while문과 Math.random() 메소드를 이용해서 두 개의 주사위를 던졌을 때 나오는 눈을 (눈 1, 눈 2) 형태로 출력하고, 눈의 합이 5가 아니면 계속 주사위를 던지고, 눈의 합이 5이면 실행을 멈추는 코드를 작성해 보세요. 눈의 합이 5가 되는 조합은 즉 (1,4), (4,1), (2,3), (3,2) 이다.
public class Exercise04 {
public static void main(String [] args){
while(true){
int n = (int) (Math.random()*6)+1;
int m = (int) (Math.random()*6)+1;
System.out.println("("+n+","+m+")");
if(n+m==5){
break;
}
}
}
}
5. 중첩 for문을 이용해서 방정식 4x + 5y = 60 의 모든 해를 구해서 (x,y) 형태로 출력해 보세요. 단 x와 y는 10이하의 자연수 입니다.
public class Exercise05 {
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+")");
}
}
}
}
}
6. for문을 이용해서 실행 결과와 같은 삼각혈을 출력하는 코드를 작성해 보세요.
public class Exercise06 {
public static void main(String[] args){
for(int i=1; i<=5; i++){
for(int j=1; j<=i; j++) {
System.out.print("*");
if (j == i) {
System.out.println();
}
}
}
}
}
7. while문과 Scanner 이용해서 키보드로부터 입력된 데이터로 예금, 출금, 조회, 종료 기능을 제공하는 코드를 작성해 보세요.
import java.util.Scanner;
public class Exercise07 {
public static void main(String[] args){
boolean run = true;
int balance=0;
Scanner scanner = new Scanner(System.in);
while(run){
System.out.println("-------------------------");
System.out.println("1.예금|2.출금|3.잔고|4.종료");
System.out.println("-------------------------");
System.out.print("선택>");
int menuNum = scanner.nextInt();
switch (menuNum){
case 1:
System.out.print("예금액>");
balance += scanner.nextInt();
break;
case 2:
System.out.print("출금액>");
balance -= scanner.nextInt();
break;
case 3:
System.out.println("잔고>"+balance);
break;
case 4:
run = false;
}
}
System.out.println("프로그램 종료");
}
}
'Java > Java Basics' 카테고리의 다른 글
자바(Java) 난수 생성 (random number) (0) | 2022.01.18 |
---|---|
인텔리제이 파일 빨간색 원 표시 & invaild source release:16 오류 해결 (0) | 2022.01.17 |
03. 자바(Java) 연산자 (단항, 이항, 삼항) (0) | 2022.01.02 |
02. 자바(Java) 변수와 타입 (0) | 2022.01.01 |
인텔리제이(lntelliJ) Auto Import 하기 = 이클립스(Eclipse) Ctrl+Shift+O (0) | 2021.12.31 |
댓글