반응형
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 없어도 됨 } |
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 |