반응형


1. 제어문 : 프로그램의 흐름을 바꾸는 역할 


2. 조건문 : 조건에 따라 문장이 수행됨(if, switch)

   -if문

# if문

if(조건식//true, false값을 산출하는 연산식, boolean 변수) {
    실행문;
    실행문;
//조건식 true이면 블록 실행, false이면 블록 실행x
}
cs


#if - else 문

if(조건식//true, false값을 산출하는 연산식, boolean 변수) {
    실행문;
    //조건문이 true면 실행
}else{
    //조건문이 false이면 
cs


#if - else if문 : 처리할 경우의 수가 셋 이상인 경

if(조건식1){
    //조건식 1이 참일 경우 실행
}else if (조건식2){
    //조건식2가 참일 경우 실행
}else{
    //위의 어느 조건도 만족하지 못할 경우 실행
}
cs


EX)

package firstproject;
 
public class HelloWorld {
    public static void main(String[] args) {
         int score = 70;
         
         if (score >= 90) {
             System.out.println("A+");
         }else if(score >= 80) {
             System.out.println("B+");
         }else {
             System.out.println("C+");
         }
    }
}
 
cs


#중첩 if문

if(조건식1){
    //조건식1이 참일 경우 실행
    if(조건식2){
        //조건식1과 조건식2가 모두 참일 경우 실행
    }else{
        //조건식1은 참, 조건식2는 거짓일 경우 실행
    }
}else{
    //조건식1이 거짓일 경우 실행
}
cs


EX2) 중첩 if문 

package firstproject;
 
public class HelloWorld {
    public static void main(String[] args) {
         int score = (int)(Math.random()*20+ 81;
         //강제 형변환으로 random 함수 사용해 20사이의 숫자 뽑아냄
         System.out.println("점수 : " + score);
         
         String grade;
         
         if(score >= 90) {
             if(score >= 95) {
                 grade = "A+";
             }else {
                 grade = "A";
             }
         }else {
             if(score>=85) {
                 grade = "B+";
             }else {
                 grade = "B";
             }
         }
         System.out.println("학점: "+ grade );
    }
}
cs


  -switch문 : 조건식의 결과값은 반드시 정수, 문자열이여야함 -> case 값도 정수, 문자열이어야함 / case값은 중복될 수 없음

switch(조건식){
    case 값1: //조건식 결과와 값1이 같을 때 실행
    break//case 값1dl 실행될 경우 switch문을 빠져나감
    case 값2: //조건식 결과와 값2가 같을 때 실행
    break//case값2가 실행될 경우 switch문을 빠져나감
    default:
        //조건식과 일치하는 case없을 경우 실행
        //마지막에 작성되므로 break 없어도 됨
}
cs


#switch문 중첩 

switch(조건식){
    case 값1 : //조건식 결과와 값1이 같을 때 실행
        switch(조건식){
            case 값3:
            break;
            case 값4:
            break;
        }
    break//case값1이 실행될 경우 switch문을 빠져나감
 
    case 값2: //조건식 결과와 값2가 같을 때 실행
    break//case 값2가 실행될 경우 switch문을 빠져나감
 
    default:
        //조건식과 일치하는 case없을 경우 실행
        //마지막에 작성되므로 break 없어도 됨
}

cs


3. 반복문 : 특정 문장을 반복 수행

-for 문 (반복 횟수 알고 있을 때 적합)

for(초기화; 조건식; 증감식){
    // 조건이 참일 때 실행
}
//조건식의 세가지 모두 생략 가능
// 이 경우 조건식이 참으로 간주되어 무한반복, 특정조건을 만족하면 if문을 빠져나오게 해야함
cs


     #중첩 for 문

#향상된 for문

for(타입 변수명 : 배열or 컬렉션){
    //반복할 문장
}
//타입 = 배열 or 컬렉션 타입과 일치
//배열이나 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용 
cs

#ex) 구구단 출력 

public class HelloWorld {
    public static void main(String[] args) {
         for(int m = 2; m <= 9; m++) {
             System.out.println("##"+m+"단##");
             for(int n =1; n<= 9; n++) {
                 System.out.println(m + " X" + n +"="+ (m*n));
             }
         }
    }
}
cs


-while문(조건식이 true이면 계속 반복)

while(조건식){
    //조건식이 true일 경우
    실행문;
    //false이면 while문 
}
cs


-do-while문(블럭{ } 을 먼저 수행한 후 조건식 평가/ 최소한 한번은 수행될 것 보장)

do{
    //조건식 결과가 참일 때 수행
}while(조건식);
cs


4.break문 

-for/ while/ do-while문 사용

-자신이 포함한 가장 가까운 반복문 벗어남

-주로 if문과 함께 사용, 특정 조건 만족 시 반복문 벗어남


5.continue문

-for/while/do-while문 사용

-만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어감

-for문 : 증감식으로 이동 / do-while문 : 조건식으로 이동

-반복문 전체 벗어나는게 아니라 다음 반복 계속 수행 



#별 찍기 

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


#키보드 입력 데이터로 예금, 출금, 조회, 종료 기능을 제공하는 코드 작성

package firstproject;
import java.util.Scanner;
 
public class HelloWorld {
    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.println("선택> ");
        
        int num = scanner.nextInt();
        
        if(num==1) {
            System.out.println("예금액> ");
            balance += scanner.nextInt();
        }
        else if(num==2) {
            System.out.println("출금액 > ");
            balance -= scanner.nextInt();
        }
        else if(num==3) {
            System.out.println("잔고> ");
            System.out.println(balance);
        }
        else if(num==4) {
            run = false;
        }
    }
    System.out.println("프로그램 종료");
}
}
cs


반응형

'Language Study > Java' 카테고리의 다른 글

제주에서 자바_Week2_1  (0) 2019.07.22
제주에서 자바_Week1  (0) 2019.07.20
4. 클래스  (0) 2019.05.29
3. 참조 타입  (0) 2019.05.28
1. 타입, 연산자  (0) 2019.05.27

+ Recent posts